FINDDBDATA
Permette di leggere un singolo record da una tabella. La lettura avviene:
- usando il tipo di posizionamento definito dall'attributo POSIZIONAMENTO[]
- usando la chiave di posizionamento definita dall'attributo IND[]
- filtrando i record in base ai criteri definiti dall'attributo SELEZIONI[]
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| TABELLA | |||||
| IND | |||||
| STRUTTURA | Stringa | ||||
| TIPOREC | |||||
| POSIZIONAMENTO | |||||
| ERRORE | |||||
| CAMPI | |||||
| APPENDICE | Stringa | ||||
| TUTTIGRUPPI | Intero | ||||
| GRUPPO | Stringa | ||||
| TESTESISTE | Intero | ||||
| VINCOLI | Intero | ||||
| VIRTUALE | Intero | ||||
| SELEZIONI | |||||
| SELEZIONIESTESE | |||||
| RECORD | Classe | ||||
| OGGETTO | Classe |
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.
TIPOREC
Tipo record da utilizzare per la lettura della tabella. Se il descrittore specificato nel parametro TABELLA prevede un solo tipo record il parametro è opzionale.
POSIZIONAMENTO
Definisce la modalità di posizionamento. Se omesso il posizionamento eseguito è per #EQUAL.
Parametro enumerato, può assumere i seguenti valori:
| Valore | Descrizione |
|---|---|
EQUAL | Posizionamento sul record con chiave = a quella passata con l'attributo IND |
GREATEREQUAL | Posizionamento sul record con chiave ≥ a quella passata con l'attributo IND |
GREATER | Posizionamento sul record con chiave \> a quella passata con l'attributo IND |
LESSEQUAL | Posizionamento sul record con chiave ≤ a quella passata con l'attributo IND |
LESS | Posizionamento sul record con chiave \< a quella passata con l'attributo IND |
FIRST | Posizionamento sul record con chiave ≥ a quella passata con l'attributo IND |
LAST | Posizionamento sul record con chiave ≤ a quella passata con l'attributo IND |
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.
CAMPI
Elenco dei campi da leggere. Utilizza la sintassi standard per definire un elenco di campi. Se non indicato, sono letti tutti i campi.
APPENDICE
È il carattere di appendice che si vuole dare al nome delle variabili lette dall'archivio indicato (es.: APPENDICE['X']).
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 |
GRUPPO
Definisce per il database il valore del campo speciale DBGruppo dei record da identificare nella tabella.
TESTESISTE
Indica se si vuole solo verificare l'esistenza del record senza leggere alcun campo dal record stesso.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
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 |
VIRTUALE
Permette la sovrapposizione tra la gestione delle tabelle su DB e la gestione delle tabelle in Struttura Dinamica.
Il parametro VIRTUALE[] non può essere utilizzato insieme al parametro STRUTTURA[], in quanto il parametro STRUTTURA[] sviluppa delle particolari funzionalità sulle specifica stesse.
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 |
SELEZIONI
Indica una o più condizioni che se verificate fanno sì che il record sia selezionato
SELEZIONIESTESE
Indica una o più condizioni che richiedono una sintassi estesa rispetto quanto possibile dal parametro SELEZIONI[]
RECORD
Variabile Record valorizzata col contenuto della riga corrente.
OGGETTO
Nome della variabile di tipo oggetto che conterrà la riga della tabella letta.
L'utilizzo del parametro esclude l'utilizzo del parametro _RECTABELLA
Esempi
Definizione con TESTESISTE
'@FINDDBDATA TABELLA[BLDFAMIGLIA] _
TIPOREC[FAM] _
IND[0 \COD = "01"\] _
TESTESISTE _
ERRORE[#NOKEY]
If ZNOKEY = 1 Then
ErrorManagement()
EndIf
Definizione con parametri STRUTTURA e POSIZIONAMENTO
'@FINDDBDATA TABELLA[BLDVAR] _
TIPOREC[VAR] _
POSIZIONAMENTO[#GREATEREQUAL] _
IND[0 \CODART = artCode\\COD = ""\] _
SELEZIONI[VARCODART$ = artCode] _
TESTESISTE _
STRUTTURA["MY_BLDVAR"] _
ERRORE[#NOKEY]
Definizione che legge il record successivo al record con chiave "01"
'@FINDDBDATA TABELLA[BLDFAMIGLIA] _
TIPOREC[FAM] _
POSIZIONAMENTO[#GREATER] _
IND[0 \COD = "01"\] _
SELEZIONI[FAMCOD$ >= ""] _
ERRORE[#NOKEY]