Vai al contenuto

Stored Procedures

La sezione Stored Procedures spiega quali sono i parametri di una Stored Procedure SQL eLegere e come si comportano secondo il contesto.

La sezione include:

  • Una spiegazione dei parametri fissi che una Stored Procedure eLegere accetta.
  • Come specificare parametri e valori aggiuntivi per una Stored Procedure.
  • Differenze di impiego delle Stored Procedure secondo il contesto.

Dove inserire le Stored Procedure?

Devi inserire le Stored Procedure nel database di eLegere.

Contatta il DBA della tua installazione eLegere (o un delegato DBA) per inserire la tua Stored Procedure nel database.

Parametri

Impara quali sono i parametri fissi di una Stored Procedure eLegere. (Se vuoi aggiungere ulteriori parametri alla Stored Procedure, consulta Come aggiungere parametri aggiuntivi in questo documento.)

Parametri SQL

1
2
3
4
@jsonParameters NVARCHAR(MAX), 
@OutCodeStatus NVARCHAR(4000) OUTPUT, 
@OutLevel NVARCHAR(4000) OUTPUT, 
@OutMessage NVARCHAR(4000) OUTPUT

In maniera predefinita, @OutCodeStatus, @OutLevel e @OutMessage sono vuoti. Se assegni un valore a @OutCodeStatus, @OutLevel e @OutMessage, puoi personalizzare il messaggio da mostrare all'utente (vedi sotto per informazioni).

  • Il parametro @jsonParameters accetta una Stringa contenente dati JSON come valore. L'oggetto JSON nella stringa contiene contiene le informazioni della riga. Consulta Oggetto JSON per maggiori informazioni sulla struttura dell'oggetto.
  • @OutCodeStatus richiede un codice stato. Il codice stato specifica come eLegere deve comportarsi dopo l'esecuzione della Stored Procedure e quale risultato riportare. In maniera predefinita se lasciato vuoto, il valore passato alla chiave è 000200 (corrispondente al risultato "Successo" per l'azione). Vedi Codici stato per la lista di comportamenti.
  • @OutLevel richiede come valore una stringa che specifica il tipo di messaggio da mostrare: INFO, ERROR o SUCCESS.
    • INFO: una notifica standard per informare l'utente. (Notifica di colore blu)
    • ERROR: un messaggio di errore informa che è avvenuto un errore. (Notifica di colore rosso)
    • SUCCESS: un messaggio di notifica che informa del successo della Stored Procedure (Notifica di colore verde)
  • @OutMessage accetta come valore una stringa con il contenuto del messaggio da mostrare.

Oggetto JSON

Impara la struttura dell'oggetto JSON di @jsonParameters da Parametri SQL.

1
2
3
4
5
{
  "Item": {},
  "StorageName": "[SQL TABLE NAME]",
  "UserId": "j.doe@vesenda.com",
}
  • La chiave Item nell'oggetto JSON contiene l'oggetto della riga con tutte le chiavi e valori che contengono le sue informazioni.
  • La chiave StorageName contiene il nome della tabella SQL dello Storage eLegere. Il nome (i.e. [SQL TABLE NAME]) corrisponde al nome fisico dello Storage in eLegere. Corrisponde alla tabella dove l'utente sta eseguendo l'azione.
  • La chiave UserId è lo username di Logon.

Codici stato

Segue la lista dei valori che @OutCodeStatus (vedi Parametri SQL) accetta.

Ciascun codice specifica un comportamento differente dopo l'esecuzione della Stored Procedure che puoi specificare.

Codice Nome Comportamento
000500 Fallito eLegere blocca l'intera transazione del database e ripristina lo stato precedente della tabella. Mostra un messaggio di errore.
000400 Successo nonostante errori eLegere blocca l'intera transazione del database e ripristina lo stato precedente della tabella. Mostra un messaggio di "Successo".
000300 Ignora eLegere ignora la riga. Mostra un messaggio di "Successo".
000200 Successo eLegere mostra un messaggio di "Successo". (Questo è il valore predefinito per il parametro @OutCodeStatus.)

Come aggiungere parametri aggiuntivi

Impara come aggiungere parametri e valori aggiuntivi in una Stored Procedure.

Info

Consulta Come lavorare direttamente con il database: Stored Procedures dalla Guida Designer per conoscere le Custom Action di tipo Stored Procedure.

Nelle Custom Action di tipo Stored Procedure, puoi aggiungere parametri e valori aggiuntivi oltre a quelli descritti in Parametri SQL sopra. Clicca sul New nelle impostazioni Parameters della Custom Action. L'azione permette di aggiungere una nuova coppia di parametri e valori.

Contesto d'uso

Impara come le Stored Procedure si comportano in ciascun contesto d'uso di eLegere.

  • Custom Action con innesco Event: La Stored Procedure Custom Action è eseguita tramite una transazione dato che righe multiple di Master e Dettaglio possono essere coinvolte. L'oggetto JSON include valori per le chiavi Item and StorageName per le righe da modificare.
  • Custom Action con innesco Manuale: La Custom Action Stored Procedure opera direttamente sulla riga selezionata. Quindi, l'azione non è eseguita tramite una transazione. L'oggetto JSON include valori per le chiavi Item and StorageName per la riga da modificare.
  • Job Schedulato: Nessuna SQL transaction né valori per Item o StorageName dall'oggetto JSON. Lo Scheduler esegue la Stored Procedure al di fuori di un'applicazione.
Contesto Esecuzione Parametri Parametri
Transazione Item StorageName
Custom Action con innesco Event
Custom Action con innesco Manuale
Job Schedulato

Individual Transactions - Impostazioni

Controlla le impostazioni Individual Transactions dell'applicazione dove la Stored Procedure è eseguita.

In un'applicazione eLegere, puoi decidere se:

  • L'applicazione salva tutte le righe di Master e tutte le righe di Dettaglio in un'unica transazione.
  • L'applicazione salva ciascuna riga di Master e Dettaglio tramite una transazione separata individuale.

Quale comportamento dipende dall'impostazione Individual Transactions in Design Mode. Vedi Salvare le righe in un unico processo di salvataggio o processi di salvataggio multipli nella Designer Guide per maggiori informazioni riguardo l'impostazione Individual Transactions.

Database, inneschi Event e allegati

Se hai configurato una Custom Action Invoke Stored Procedure che gestisce allegati, considera il seguente comportamento per gli inneschi Event PRE ATTACHMENT INSERT e POST ATTACHMENT INSERT.

  • PRE ATTACHMENT INSERT: L'applicazione invia al database solo le informazioni dell'allegato; e.g. Nome, tipo e percorso dove l'allegato sarà salvato. In questa fase, puoi ancora interrompere l'operazione dato che nulla è stato ancora salvato.
  • POST ATTACHMENT INSERT: L'applicazione ha caricato l'allegato sul database. Inoltre, l'applicazione fornisce il valore del campo Id dell'allegato. Nota che a questo punto non puoi ripristinare allo stato precedente il database.

Tutorial