CHECKTABLE
Controlla l'esistenza di una tabella e ne ritorna le informazioni di base. Le tabelle devono fare parte di un dizionario dati oppure fare riferimento ad un DFX. In caso contrario non è da considerarsi valida.
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| DATABASE | Stringa | ||||
| TABELLA | |||||
| STRUTTURA | Stringa | ||||
| CLONESTAZIONE | Intero | ||||
| ESISTETABELLA | Intero | ||||
| ESISTERECORD | Intero | ||||
| GRUPPO | Stringa | ||||
| MULTISTAZIONE | Intero | ||||
| NUMRECORD | Intero | ||||
| LENRECORD | Intero | ||||
| NUMCHIAVI | Intero | ||||
| NUMEROCAMPI | Intero | ||||
| ELENCOCAMPI | Stringa | ||||
| ERRORE | Intero | ||||
| NOMETABELLA | Stringa |
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.
STRUTTURA
Struttura della tabella, definita in formato testuale. Se non indicato, è necessario specificare l'attributo TABELLA[].
CLONESTAZIONE
Indica se la tabella da utilizzare deve essere quella definita come Clone per Stazione
ESISTETABELLA
Restituisce un valore che indica se esiste la tabella indicata: la tabella può essere vuota o contenere dei record.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | la tabella NON esiste |
1 | la tabella esiste |
ESISTERECORD
Restituisce un valore che indica se esiste almeno un record nella tabella indicata.
Se la tabella non esiste, ovviamente non esiste alcun record quindi restituisce che è presente almeno un record se esiste la tabella e se la tabella contiene almeno un record che soddisfa le condizioni di filtro indicate (GRUPPO oppure eventuale MULTISTAZIONE).
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | la tabella NON esiste o se non esiste neanche un record (che soddisfa i filtri) nella tabella |
1 | la tabella esiste ed esiste almeno un record (che soddisfa i filtri) |
GRUPPO
Codice del gruppo con cui effettuare la selezione dei record da controllare. Se omesso si considera la tabella nella sua interezza.
MULTISTAZIONE
Indica se applicare o meno il filtro automatico sulla stazione di lavoro (BCContextInfo.GetStazione) nella selezione dei record da contare. Se non indicato, per default non viene applicato il filtro sulla stazione.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | viene applicato il filtro sul campo stazione per le tabelle che lo prevedono |
1 | non viene applicato il filtro sul campo stazione per le tabelle che lo prevedono (legge tutto) |
NUMRECORD
Contiene il numero di record della tabella. Se la tabella non esiste la variabile è impostata a -1.
NUMEROCAMPI
Consente di determinare il numero di colonne presenti sulla tabella indicata.
ELENCOCAMPI
Contiene il nome di una struttura dinamica definita a cura del programmatore. La struttura al termine dell'esecuzione della specifica conterrà l'elenco delle colonne definite per la tabella indicata. La specifica si aspetta che la struttura sia definita con almeno il campo: ZTAB_CAMPO$[20] - Nome del campo della tabella. Se i campi della struttura non prevedono questo campo, la specifica non esegue alcuna valorizzazione. Nella struttura dinamica possono essere presenti altre variabili che sono ignorate dalla specifica.
Valido solo per Database.
ERRORE
Consente al programma di intercettare e gestire l'errore restituito dalla funzione.
Utilizzare uno dei metodi GetLastError*() della classe BCContextInfo per ottenere le informazioni dell'errore.
NOMETABELLA
Nome della tabella se diverso da quanto definito nella struttura.
Esempi
Definizione
DIM existsTable[INT]
DIM existRecords[INT]
DIM numRecords[INT]
DIM numFields[INT]
'@CHECKTABLE DATABASE["BUILDERDEMO"] _
TABELLA[BLDFAMIGLIA] _
ESISTETABELLA[existsTable] _
ESISTERECORD[existRecords] _
NUMRECORD[numRecords] _
NUMEROCAMPI[numFields] _
GRUPPO["GG"] _
ERRORE[1]