POPULATETABLE
Popola la tabella definita con il parametro STRUTTURA/TABELLA andando a reperire i dati dal FILEORIGINE (file Xml con estensione SXDAT).
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| TABELLA | Tabella | ||||
| IDQUERY | Long | ||||
| TIPOTABELLA | Intero | ||||
| NOMETABELLA | Stringa | ||||
| STAZIONE | Stringa | ||||
| MODALITA | |||||
| FILEORIGINE | Stringa | ||||
| BTRIEVEFILE | Stringa | ||||
| GRUPPO | Stringa | ||||
| BULKINSERT | Intero | ||||
| PERS | Intero | ||||
| ASSEGNAAUTOINC | Intero | ||||
| STRUTTURA | Stringa | ||||
| ERRORE | Intero |
TABELLA
Nome descrittore della tabella che ne definisce la struttura
IDQUERY
Indica la query che racchiude le condizioni di selezione dei dati presenti in tabella sui quali avrà effetto il popolamento. I dati esclusi dalla query non vengono coinvolti dall'operazione di popolamento specificata dal parametro MODALITA.
| Modalità | Funzionamento |
|---|---|
| RIMPIAZZA | <ul><li>Eliminazione di tutte le righe non personalizzate (FPERS=0) e selezionate dalla query (oltre all'eventuale filtro sul Gruppo)</li><li>Inserimento di tutte le righe distribuite</li><li>Se presenti eventuali righe personalizzate (FPERS<>0) vengono preservate dalla eliminazione.</li></ul><br>L'effetto caratteristico è che eventuali righe non ridistribuite e contemporaneamente non selezionate dalla query, scompaiono. |
| INSTALLASEASSENTE | <ul><li>Verifica della presenza di almeno una riga non personalizzata (FPERS<>0) tra quelle selezionate dalla query (oltre all'eventuale filtro sul Gruppo)</li><li>Se non trovata, inserimento di tutte le righe distribuite.</li></ul><br>L'effetto caratteristico è che le righe vengono installate solo la prima volta. |
| AGGIUNGICC | <ul><li>Il parametro IDQUERY viene ignorato</li><li>Il comportamento è quello specificato dal parametro MODALITA.</li></ul> |
| AGGIUNGISC | <ul><li>Il parametro IDQUERY viene ignorato</li><li>Il comportamento è quello specificato dal parametro MODALITA.</li></ul> |
TIPOTABELLA
Permette di indicare la tipologia della tabella. Se non indicato si assume il valore 0, ovvero tabella standard.
| Valore | Significato | Nome della tabella SQL |
|---|---|---|
| 0 | Tabella standard | Nome esteso definito nel descrittore |
| 1 | Di stazione | Nome esteso del descrittore |
| 2 | Tabella clone di stazione | Nome esteso del descrittore cui si aggiunge il prefisso 'tws' |
| 5 | Tabella temporanea | Definito dal parametro NOMETABELLA |
NOMETABELLA
Nome della tabella se si indica di acquisire i dati su tabella temporanea (TIPOTABELLA = 5).
STAZIONE
Permette di specificare il nome della stazione se la tabella è di tipo di stazione o clone di stazione. Se omesso si assume come stazione il valore corrente della variabile d'ambiente WS.
MODALITA
Indica la modalità di popolamento della tabella, ovvero il comportamento che la specifica deve adottare nell'elaborazione dei record.
| Modalità | Funzionamento |
|---|---|
| RIMPIAZZA | <ul><li>Eliminazione di tutte le righe di competenza (per esempio solo di un Gruppo)</li><li>Inserimento di tutte le righe distribuite</li><li>Se presenti eventuali righe personalizzate (FPERS<>0) vengono preservate dalla eliminazione.</li></ul> |
| INSTALLASEASSENTE | <ul><li>Verifica della presenza di almeno una riga di competenza (per esempio solo di un Gruppo) e non personalizzabile (FPERS=0)</li><li>Se non trovata, inserimento di tutte le righe distribuite</li></ul> |
| AGGIUNGICC | Per ogni singola riga: <ul><li>se trovata viene sostituita</li><li>se non trovata viene inserita ex-novo.</li></ul><br>L'effetto caratteristico è che eventuali righe non ridistribuite vengono mantenute. |
| AGGIUNGISC | Per ogni singola riga: <ul><li>se trovata non viene sostituita</li><li>se non trovata viene inserita ex-novo.</li></ul><br>L'effetto caratteristico è che vengono aggiunte solo le righe non presenti. |
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
RIMPIAZZA | Eliminazione di tutte le righe di competenza (per esempio solo di un Gruppo), Inserimento di tutte le righe distribuite, Se presenti eventuali righe personalizzate vengono preservate dalla eliminazione |
INSTALLASEASSENTE | Verifica della presenza di almeno una riga di competenza (per esempio solo di un Gruppo) e non personalizzabile, Se non trovata, inserimento di tutte le righe distribuite |
AGGIUNGICC | Per ogni singola riga, Se trovata viene sostituita, Se non trovata viene inserita ex-novo |
AGGIUNGISC | Per ogni singola riga, Se trovata non viene sostituita, Se non trovata viene inserita ex-novo |
FILEORIGINE
Nome del file origine SXDAT in cui sono contenuti i record per popolare la tabella, completo di path.
BTRIEVEFILE
Nome del file BTRIEVE da popolare associato alla tabella in creazione, completo di path. Non deve essere indicato per DB.
GRUPPO
Definisce per il database il valore del campo speciale DBGruppo dei record da identificare nella tabella.
BULKINSERT
L'attributo permette, solo in ambito DataBase, di utilizzare la tecnologia del BULK Insert per effettuare l'operazione di aggiunta. Non è possibile utilizzare questo attributo quando la @POPULATETABLE è all'interno di una transazione (BEGIN TRANSACTION/COMMIT), in quanto questa modalità di inserimento prevede già un suo meccanismo interno di transazione. In caso di chiave doppia, tutto l'inserimento viene abortito, proprio secondo le regole della transazione.
Il parametro vede il suo utilizzo concreto nelle modalità RIMPIAZZA, INSTALLASEASSENTE e AGGIUNGICC, modalità in cui vengono inseriti i record a blocchi. Non ha senso il suo utilizzo, e quindi viene ignorato, se è presente la modalità AGGIUNGISC.
In ambito Btrieve l'attributo è ignorato, in quanto viene già utilizzata l'opzione 'Insert Extended' prevista da Btrieve, che permette l'aggiunta in blocco dei record.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
PERS
Indica che deve essere considerato il campo FPERS come filtro per le operazioni di popolamento. Se indicato, le diverse modalità di popolamento andranno ad agire SOLO sui record che hanno FPERS=0, lasciando inalterati i record con FPERS=1 e quindi personalizzati dall'utente.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | Popola tutto |
1 | Popola SOLO sui record che hanno FPERS=0 |
ASSEGNAAUTOINC
Consente di assegnare gli eventuali campi auto-incremento della tabella di destinazione con i valori della tabella di origine dell'operazione di copia.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | vengono riassegnati i valori del campo della tabella sorgente, assegnato al campo autoincremento, sulla tabella di destinazione |
1 | vengono assegnati i valori correnti del campo della tabella sorgente, assegnato al campo autoincremento, sulla tabella di destinazione |
STRUTTURA
Indica il nome della struttura. Se costante è da indicare tra i doppi apici.
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.