GETDBDATA
Esegue la lettura di un record, restituendo al programma i campi contenuti.
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| TABELLA | |||||
| TIPOREC | |||||
| IND | |||||
| STRUTTURA | Stringa | ||||
| VIRTUALE | Intero | ||||
| POSITIONBLOCK | Intero | ||||
| APPENDICE | Stringa | ||||
| MAXRECORD | Long | ||||
| ORDINELETTURA | Intero | ||||
| SELEZIONI | |||||
| AZIONE | 29.3 | ||||
| SELEZIONIESTESE | |||||
| CAMPI | |||||
| CONTROLLI | Azione | ||||
| ERRORE | |||||
| GRUPPO | Stringa | ||||
| VINCOLI | Intero | ||||
| POSIZIONA | Intero | ||||
| TUTTIGRUPPI | Intero | ||||
| RECORDSET | Collezione | ||||
| RECORD | Classe | ||||
| COLLEZIONE | Collezione | ||||
| OGGETTO | Classe | ||||
| INDICECORRENTE | Intero | ||||
| VARCONTROLLI | Variabile |
TABELLA
Nome del DFX da cui reperire le caratteristiche della tabella, se sono indicati il dizionario dati e la sua versione fa riferimento la 'fotografia' del DFX alla determinata versione del dizionario dati indicata.
IND
Definisce l'indice con il quale eseguire la lettura.
STRUTTURA
Indica il nome della struttura. Se costante è da indicare tra i doppi apici.
VIRTUALE
Il parametro permette la sovrapposizione tra la gestione delle tabelle su DB e la gestione delle tabelle in Struttura Dinamica.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | la specifica gestisce il normale accesso alla tabella del DataBase. |
1 | la specifica gestisce l'accesso alla Struttura Dinamica in memoria, struttura definita con lo stesso nome del DFX della tabella. |
2 | la specifica gestisce solo l'accesso alla Struttura per le operazioni di LETTURA, mentre vengono gestiti sia il DB che la Struttura per le operazioni di SCRITTURA/CANCELLAZIONE |
POSITIONBLOCK
Valore di posizione del record letto per gestire il riposizionamento.
APPENDICE
È il carattere di appendice che si vuole dare al nome delle variabili lette dall'archivio indicato (es.: APPENDICE['X']).
MAXRECORD
Definisce il numero massimo di record letti alla volta per le operazioni di lettura a blocchi. Se non specificato la specifica produce la lettura di un numero di record variabile in funzione della dimensione del record fino al riempimento del buffer dati.
ORDINELETTURA
Definisce l'ordine di lettura dei record (in base all'indice).
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | Lettura dei record mediante l'indice in ordine crescente |
1 | Lettura dei record mediante l'indice in ordine decrescente |
SELEZIONI
Indica una o più condizioni che se verificate fanno sì che il record sia selezionato
AZIONE
Permette di indicare una callback per l'elaborazione dei dati.
SELEZIONIESTESE
Indica una o più condizioni che richiedono una sintassi estesa rispetto quanto possibile dal parametro SELEZIONI[]
CAMPI
Elenco dei campi da leggere. Utilizza la sintassi standard per definire un elenco di campi. Se non indicato, sono letti tutti i campi.
CONTROLLI
Indica la routine che deve essere eseguita per la validazione del record letto.
La routine in uscita deve valorizzare la variabile ZDB_VALRECORD%, in modo che assuma valore:
- 0 - Il record è valido
- 1 - Leggi record successivo
- 2 - Termina lettura.
Il parametro CONTROLLI non è compatibile con il parametro OGGETTO.
L'utilizzo del parametro esclude l'utilizzo del parametro COLLEZIONE
ERRORE
Indica un'azione da eseguire nel caso in cui sia stata raggiunta la fine/inizio del file, nel caso in cui siano terminati i record che soddisfano i filtri indicati nel parametro SELEZIONI[] o nel caso in cui l'archivio non esista.
GRUPPO
Definisce per il database il valore del campo speciale DBGruppo dei record da identificare nella tabella.
VINCOLI
Permette di abilitare la gestione della profilazione se la tabella è soggetta a un vincolo di tipo elenco, inserendo in modo automatico delle clausole SQL da parte dell'ambiente, per filtrare gli elementi della tabella.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
POSIZIONA
Definisce se deve essere o meno eseguito il posizionamento in base alla chiave definita.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | non deve essere eseguito il posizionamento (essendo già stato eseguito da una operazione precedente) |
1 | deve essere eseguito il posizionamento con la chiave indicata sulla specifica |
2 | deve essere eseguito il posizionamento con position-block |
TUTTIGRUPPI
Se indicato, il filtro sul campo speciale DBGruppo per selezionare solo le righe del gruppo indicato in BCContextInfo.GetGruppo non viene effettuato.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
RECORD
Record valorizzata col contenuto della riga corrente.
COLLEZIONE
Collezione di oggetti.
L'utilizzo del parametro esclude l'utilizzo dei parametri: CONTROLLI, STRUTTURA
OGGETTO
Oggetto valorizzato col contenuto della riga corrente.
L'utilizzo del parametro esclude l'utilizzo dei parametri: _RECTABELLA, CONTROLLI
VARCONTROLLI
La variabile su cui sono presenti i vari controlli.
Esempi
Definizione con parametro SELEZIONI
'@GETDBDATA TABELLA[BLDFAMIGLIA] _
TIPOREC[FAM] _
IND[0 \COD = ""\] _
POSIZIONA[varPosition] _
SELEZIONI[FAMCOD$ = "01"]
Definizione con parametro STRUTTURA
'@GETDBDATA TABELLA[BLDFAMIGLIA] _
TIPOREC[FAM] _
IND[0 \COD = ""\] _
CAMPI[COD DES] _
POSIZIONA[varPosition] _
SELEZIONI[FAMCOD$ = "01"] _
STRUTTURA["MY_BLDFAMIGLIA"] _
ERRORE[#ENDFIL]
Definizione con parametro STRUTTURA
DIM fam1[CLASSE[BLD_FAMIGLIA]]
'@GETDBDATA TABELLA[BLDFAMIGLIA] _
TIPOREC[FAM] _
IND[0 \COD = ""\] _
SELEZIONI[FAMCOD$ >= "01"] _
SELEZIONIESTESE[FAMCOD$ <= "09"] _
OGGETTO[fam1] _
AZIONE[GES[Action(fam1 [INOUT])]]