Guida di riferimento per l'interfaccia per l'ambiente di linguaggio
La funzione di interfaccia per ogni ambiente di linguaggio riceve un
indicatore per la struttura dtw_lei_t. La struttura dtw_lei_t presenta
il seguente formato:
typedef struct dtw_lei_t { /* Lang. Env. Interface */
char *nome_funzione; /* Nome blocco Function */
int flags; /* Indic. Inter. Amb. ling. */
char *istruz_exec; /* Istr. amb. ling. */
dtw_parm_data_t *parm_data_array; /* Serie param. */
char *default_error_message; /* Messaggio predef. */
void *le_opaque_data; /* Dati spec. amb. ling. */
void *row; /* Elab. una riga per volta */
char reserved[64]; /* Riservato */
} dtw_lei_t;
Campi nella struttura dtw_lei_t:
- nome_funzione
- Il campo nome_funzione contiene un indicatore di una stringa che riporta
il nome del blocco delle funzioni. Esso risulta utile per specificare
il nome blocco FUNCTION nei messaggi di errore visualizzati dall'ambiente
di linguaggio.
- indicatori
- Il campo degli indicatori è utilizzato da Net.Data per comunicare
con l'ambiente di linguaggio. Specificare l'indicatore del
campo degli indicatori eseguendo un'operazione OR utilizzando le seguenti
costanti:
- Net.Data imposta DTW_STMT_EXEC per indicare la funzione di
interfaccia dtw_execute() il cui campo exec_statement contiene il nome file e
i parametri di un'istruzione EXEC.
- DTW_END_ABNORMAL viene impostato da Net.Data per indicare alla
funzione di interfaccia dtw_cleanup() che si è verificata una condizione
anomala o non prevista e che l'ambiente di linguaggio deve eseguire
un'operazione necessaria di aggiornamento (liberare cioè risorse) prima
che Net.Data termini.
- DTW_LE_FATAL_ERROR viene impostato da una funzione di interfaccia di
ambiente di linguaggio per indicare a Net.Data che si è verificato un
errore grave nell'ambiente di linguaggio. Se questo indicatore
viene impostato, Net.Data chiude l'elaborazione della macro di
Net.Data, richiama tutta la funzione attiva dtw_cleanup()
dell'ambiente di linguaggio con gli indicatori impostati su
DTW_END_ABNORMAL, stampa il messaggio predefinito ed esce dal
programma. L'indicatore viene contrassegnato solo se su una
chiamata dell'ambiente di linguaggio viene riportato un valore di ritorno
diverso da zero.
- DTW_LE_MSG_KEEP viene impostato da una funzione di interfaccia di ambiente
di linguaggio per indicare a Net.Data che non deve essere liberata la
memoria indicata tramite default_error_message. Se questa costante non
viene impostata, Net.Data tenta di liberare memoria.
- DTW_LE_CONTINUE viene impostata dalla funzione di interfaccia
dtw_execute() per indicare a Net.Data di chiamare la funzione di
interfaccia dtw_getNextRow(). Net.Data richiama dtw_getNextRow()
solo se l'indicatore viene impostato e il valore di ritorno della
chiamata all'interfaccia dtw_execute() è zero.
- exec_statement
- Il campo exec_statement contiene uno dei seguenti indicatori:
- Per una stringa contenente le istruzioni eseguibili (dopo la sostituzione
della variabile) dal blocco FUNCTION
- Per il nome file e i parametri da un'istruzione EXEC
- parm_data_array
- Il campo parm_data_array contiene un indicatore per una serie di strutture
dtw_parm_data_t. La serie termina con una struttura parm_data
contenente zeri. La struttura dtw_parm_data_t viene utilizzata da
Net.Data per trasferire le variabili e il loro valore ad un ambiente di
linguaggio e per richiamare tutte le modifiche del valore della variabile
apportate dall'ambiente di linguaggio. Consultare La struttura dtw_parm_data_t per una descrizione della struttura.
- default_error_message
- Il campo default_error_message viene impostato dall'ambiente di
linguaggio su una stringa di caratteri che descrive una condizione di
errore. Se il valore di ritorno da una chiamata ad una funzione di
interfaccia di ambiente di linguaggio è diverso da zero e non corrisponde al
valore di un messaggio in un blocco MESSAGE, viene visualizzato il messaggio
predefinito. In caso contrario, Net.Data visualizza il messaggio
selezionato dal blocco MESSAGE.
- le_opaque_data
- Il campo le_opaque_data viene impostato da una delle funzioni di
interfaccia nell'ambiente di linguaggio per trasferire i parametri da una
funzione di interfaccia ad un'altra. Net.Data salva
l'indicatore e lo trasferisce ad un'altra funzione di interfaccia
che Net.Data richiama. Dopo l'elaborazione della macro di
Net.Data e prima di restituire il valore all'utente che esegue la
chiamata di Net.Data, Net.Data definisce l'indicatore con
un valore NULL. Poichè il campo è specifico per sottoprocessi,
l'ambiente di linguaggio può memorizzare i dati specifici per il
sottoprocesso. Utilizzare questo campo solo se si dispone della
funzione di interfaccia dtw_cleanup(), in modo che la funzione può liberare la
memoria associata al campo le_opaque_data.
- riga
- Il campo della riga viene impostato da Net.Data per un oggetto riga
prima di chiamare una funzione di interfaccia dtw_getNextRow()
dell'ambiente di linguaggio. La funzione dtw_getNextRow()
inserisce una riga dei dati di tabella nell'oggetto utilizzando le
funzioni di interfaccia del programma di utilità della riga di
Net.Data. Net.Data elabora poi la riga e chiama
dtw_getNextRow() fino a che non vi sono più righe da elaborare.
Il campo è riservato per uso IBM.
[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]