| At line 1 added 72 lines |
| %%(display:none) |
| {{{ |
| WikiUp |
| }}} |
| /% |
| [{TableOfContents }]\\ |
| !!! Obiettivo\\ |
| Costruire una richiesta parametri comandata da uno script di configurazione\\ |
| \\ |
| !!! Script di configurazione\\ |
| Lo script di configurazione risiede nel source denominato SCP_A42 e possiede i seguenti tag:\\ |
| \\ |
| __DEF.INI__ |Indica il primo passo da eseguire\\ |
| __DEF.PAS__ |Definisce la struttura del passo\\ |
| __G.SET.INP__ |indica le proprietà dell'input panel di passo, deve essere posto subito sotto la definizione del passo.\\ |
| __DEF.END__ |indica la funzione da lanciare dopo l'ultimo passo\\ |
| \\ |
| Uno script avrà quindi un tag DEF.INI per indicare da quale passo partire, uno o più tag DEF.PAS che definiscono i passi (Layout, Exit, Prossimo passo, autorizzazioni) e se necessario un tag DEF.END che indica la funzione da lanciare dopo l'ultimo passo. L'ultimo passo è quello per il quale non sia indicato il prossimo passo, oppure il cui prossimo passo sia sbiancato dalla exit.\\ |
| \\ |
| !!! EXIT\\ |
| L'exit (per cui è disponibile il prototipo LOA42_ES01) viene richiamata se indicata nel passo con le seguenti funzioni:\\ |
| \\ |
| __ *LAY__|definisce la struttura di XML iniziale e di SETUP\\ |
| __*CTR__|permette di eseguire controlli\\ |
| __*EXE__|permette di eseguire passi finali\\ |
| \\ |
| !! Routine disponibili\\ |
| Durante la progettazione della Exit abbiamo a disposizione le seguenti routine:\\ |
| \\ |
| __£A42_INIIZ__|Inserisce la entry plist, definisce la comunicazione con il costruttore. Richiamarla nella £INIZI\\ |
| __£A42_IMP__|Richiamarla all'inizio della exiT, rende disponibili le variabili del costruttore\\ |
| __£A42_FIN__|Richiamarla alla fine della exit, informa il costruttore della variazioni apportate\\ |
| __£A42_FLD__|Utilizzarla per recuperare il contenuto di una variabile, riceve il campo £A42E_CD e ritorna la struttura £A42FLD\\ |
| __£A42_VAR__|Utilizzarla per cambiare il valore di una variabile esistente\\ |
| __£A42_ADD__|Utilizzarla per creare e/o modificare la struttura di un campo, comprende la variazione di valore\\ |
| \\ |
| !! Funzione *LAY\\ |
| Tramite questa funzione è possibile apportare variazioni al layout prima che venga emesso l'input panel\\ |
| __Esempio di lettura variabile__\\ |
| C EVAL £A42E_CD='LP'\\ |
| C EXSR £A42_FLD\\ |
| C EVAL R£NRDM=£A42F_OV\\ |
| \\ |
| __Esempio di scrittura variabile__\\ |
| C EVAL £A42E_CD='MG'\\ |
| C EXSR £A42_FLD\\ |
| C EVAL £A42F_OV=££MAGD\\ |
| C EXSR £A42_ADD\\ |
| \\ |
| __Esempio di aggiunta nuovo campo dopo il campo di riferimento già presente__\\ |
| C EVAL £A42F_CD='MGNEW'\\ |
| C EVAL £A42F_CR='MG'\\ |
| C EXSR £A42_ADD\\ |
| \\ |
| __Esempio di aggiunta nuovo campo dopo dopo ultimo campo del layout__\\ |
| C EVAL £A42F_CD='MGNEW'\\ |
| C EXSR £A42_ADD\\ |
| \\ |
| !! Funzione *CTR\\ |
| Tramite questa funzione è possibile inserire controlli specifici sui campi del layout\\ |
| __Esempio di Gestione dell'errore__\\ |
| C EVAL £A42E_CD='MG'\\ |
| C EXSR £A42_FLD\\ |
| C EVAL £A42F_ET=TXT(01)\\ |
| C EXSR £A42_ADD\\ |
| \\ |
| !! Funzione *EXE\\ |
| Viene eseguita in assenza di errori e prima di procedere al passo sucessivo.\\ |
| E' possibile cambiare il prossimo passo ed eseguire le procedure di fine passo più opportune\\ |
| \\ |
| !! Esempio\\ |
| E' presente l'esempio LOA42_ES01 nel file sorgenti QSRCGEN.\\ |