Passa al contenuto principale

POPULATETABLE

Desktop

Popola la tabella definita con il parametro STRUTTURA/TABELLA andando a reperire i dati dal FILEORIGINE (file Xml con estensione SXDAT).

Parametri

ParametroDefinizioneI/OInformazioniVersione traduttoreSMP
TABELLATabellaINDesktop
IDQUERYLongINObbligatorioDesktop
TIPOTABELLAInteroINDesktop
NOMETABELLAStringaINDesktop
STAZIONEStringaINDesktop
MODALITAINObbligatorioDesktop
FILEORIGINEStringaINObbligatorioDesktop
BTRIEVEFILEStringaINDesktop
GRUPPOStringaINDesktop
BULKINSERTInteroINDesktop
PERSInteroINDesktop
ASSEGNAAUTOINCInteroINDesktop
STRUTTURAStringaINDesktop
ERROREInteroINDesktop

TABELLA

TabellaINInputValore non necessarioValore non necessarioDesktop

Nome descrittore della tabella che ne definisce la struttura

IDQUERY

LongINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

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

InteroINInputValore non necessarioValore non necessarioDesktop

Permette di indicare la tipologia della tabella. Se non indicato si assume il valore 0, ovvero tabella standard.

ValoreSignificatoNome della tabella SQL
0Tabella standardNome esteso definito nel descrittore
1Di stazioneNome esteso del descrittore
2Tabella clone di stazioneNome esteso del descrittore cui si aggiunge il prefisso 'tws'
5Tabella temporaneaDefinito dal parametro NOMETABELLA

NOMETABELLA

StringaINInputValore non necessarioValore non necessarioDesktop

Nome della tabella se si indica di acquisire i dati su tabella temporanea (TIPOTABELLA = 5).

STAZIONE

StringaINInputValore non necessarioValore non necessarioDesktop

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

INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

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>
AGGIUNGICCPer 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.
AGGIUNGISCPer 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:

ValoreDescrizione
RIMPIAZZAEliminazione 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
INSTALLASEASSENTEVerifica 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
AGGIUNGICCPer ogni singola riga, Se trovata viene sostituita, Se non trovata viene inserita ex-novo
AGGIUNGISCPer ogni singola riga, Se trovata non viene sostituita, Se non trovata viene inserita ex-novo

FILEORIGINE

StringaINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

Nome del file origine SXDAT in cui sono contenuti i record per popolare la tabella, completo di path.

BTRIEVEFILE

StringaINInputValore non necessarioValore non necessarioDesktop

Nome del file BTRIEVE da popolare associato alla tabella in creazione, completo di path. Non deve essere indicato per DB.

GRUPPO

StringaINInputValore non necessarioValore non necessarioDesktop

Definisce per il database il valore del campo speciale DBGruppo dei record da identificare nella tabella.

BULKINSERT

InteroINInputValore non necessarioValore non necessarioDesktop

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:

ValoreDescrizione
0No
1Si

PERS

InteroINInputValore non necessarioValore non necessarioDesktop

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:

ValoreDescrizione
0Popola tutto
1Popola SOLO sui record che hanno FPERS=0

ASSEGNAAUTOINC

InteroINInputValore non necessarioValore non necessarioDesktop

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:

ValoreDescrizione
0vengono riassegnati i valori del campo della tabella sorgente, assegnato al campo autoincremento, sulla tabella di destinazione
1vengono assegnati i valori correnti del campo della tabella sorgente, assegnato al campo autoincremento, sulla tabella di destinazione

STRUTTURA

StringaINInputValore non necessarioValore non necessarioDesktop

Indica il nome della struttura. Se costante è da indicare tra i doppi apici.

ERRORE

InteroINInputValore non necessarioValore non necessarioDesktop
SottoParametri

Consente al programma di intercettare e gestire l'errore restituito dalla funzione.

suggerimento

Utilizzare uno dei metodi GetLastError*() della classe BCContextInfo per ottenere le informazioni dell'errore.