SWCV01 - Scaricamento Tabelle Varie 'Agenzie Videopress' per SW-ING¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | SWCV01 |
| Titolo | Scaricam. Tabelle 'Agenzie Videopress' su SW-ING |
| Posizione menu | Statistiche > Estrazione dati vs B.I.Swing > Procedura 'Agenzie' > Tabelle varie |
| Sostituisce | BI4001 |
Scopo e logica generale¶
SWCV01 esporta le tabelle anagrafiche della procedura "Agenzie Videopress" (mezzi, spazi, settori merceologici, tipi impresa) verso il database del BI SW-ING. Le tabelle BIN* di destinazione vengono prima troncate (truncate) e poi ripopolate da zero.
Supporta esclusivamente connessione di tipo "P" (Postgres): per bin-tipo "N" (non abilitato) o altri valori il programma esce con il messaggio "Funzione non abilitata".
Il programma funziona in due modalita':
- Interattiva: lancio da menu, conferma con F3, contatori a video.
- Batch (chiamata da Aglancio): riconoscimento via
util-agprg; output rediretto al log Aglancio tramitegesdebug.
Flusso principale¶
- Inizializzazione (
apri): rilevamento modalita' Aglancio,ctr-abil, lettura azienda, apertura file, lettura configurazioni RNEWCONF (x99-src-cfg,x99-src-cfg-agl), apertura log gesdebug, apertura connessione BI (init-bin-sub-tm-cfg-bin-tipo). Sesql-init-ok = no-> uscita con "Funzione non abilitata". - Setup maschera (interattivo): titolo "Scaricam. Tabelle 'Agenzie Videopress' su SW-ING".
- a4: inizializza contatori; in modalita' interattiva attiva F3 di conferma.
- Cancellazione (
cancella-bin-sub-tm-cfg-bin-tipo): truncate di tutte le 4 tabelle BIN*. - Elaborazione (
elabora): fase1..fase4. - Chiusura (
fine/z-chiudi): chiusura file e connessione BI, aggiornamento ARPSTPRC se batch, chiusura log.
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| BINMEZZI | bmez-rec | I-O | Tabella mezzi BI (output, fase1) |
| BINSPAZI | bspa-rec | I-O | Tabella spazi BI (output, fase2) |
| BINSETME | bsme-rec | I-O | Tabella settori merceologici BI (output, fase3) |
| BINTIMPR | btim-rec | I-O | Tabella tipi impresa BI (output, fase4) |
| VPAMEZZI | mez-rec | Input | Anagrafica mezzi Videopress (origine fase1) |
| VPATABEL | vat-rec | Input | Tabelle Videopress, partizionate per vat-tip: 1=spazi, 2=settori, 4=tipi impresa |
| COGTABEL | euta-rec | Input | Tabella di sistema (definita in select, presenza opzionale) |
| ARPSTPRC | a-stpr-rec | I-O | Stato processi Aglancio (solo modalita' batch) |
| FEURTAB | - | Input | Tabella file Eurosystem |
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
swcv01-01.scr |
Maschera principale |
swcv01.select |
SELECT dei file (cogtabel, vpatabel, vpamezzi) |
swcv01.fd |
FD dei file |
swcv01.wrk |
Working storage maschera |
swcv01.decla |
Declaratives |
Strutture dati¶
| Copybook | Contenuto |
|---|---|
cogfiles.cpy |
FD feurtab |
binmezzi.cpy/binspazi.cpy/binsetme.cpy/bintimpr.cpy |
Record BIN* |
arpstprc.cpy |
Record ARPSTPRC |
filesys.def (definizione DCI) |
Definizioni file system |
cogazien.cpy |
Dati azienda |
k-personal.cpy |
Costanti personalizzazione |
sql-decla-ws.cpy |
Working storage connessione SQL/BI |
binmezzi-sql-ws.cpy/binspazi-sql-ws.cpy/binsetme-sql-ws.cpy/bintimpr-sql-ws.cpy |
Interfacce SQL |
arpstprc-sql-ws.cpy |
Interfaccia SQL ARPSTPRC |
wstato.cpy/wgrave.cpy/wopenf.cpy/wnscr.cpy |
Working storage comuni |
Utility¶
| Copybook | Contenuto |
|---|---|
utilncnf.cpy |
Struttura parametri RNEWCONF |
utilgesdebug.cpy |
Gestione debug/log Aglancio |
utilswgets.cpy |
Interfaccia SWGETS |
utilagprg.cpy |
Interfaccia parametri Aglancio (linkage + util-2gprg per sondaggio dinamico) |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| RNEWCONF | Lettura configurazione (2 chiamate: src-cfg, src-cfg-agl) |
| SWGETS | Recupero stringa di connessione AreaGATE |
| C$NARG / C$PARAMSIZE | Verifica dinamica della presenza di util-agprg |
Configurazione (RNEWCONF)¶
x99-src-cfg (pacchetto "C", gruppo "abilita")¶
6 chiavi:
| # | Gruppo | Chiave | Campo interno | Descrizione |
|---|---|---|---|---|
| 01 | abilita | bin-tipo | tm-cfg-bin-tipo |
Tipo connessione BI; SWCV01 supporta solo "P" (Postgres). Altri valori -> "Funzione non abilitata". |
| 02 | abilita | bin-db-path | tm-cfg-bin-path |
Percorso database file-based (non usato per "P") |
| 03-05 | abilita | bin-db-conn-string (idx 1-3) | tm-cfg-bin-conn-string (1-3) |
Stringa di connessione Postgres (3 segmenti) |
| 06 | abilita | bin-db-log-level | tm-cfg-bin-log-level |
Livello di log SQL |
x99-src-cfg-agl (pacchetto "C", gruppo "areaapp")¶
3 chiavi (cod-azienda, db-log-level, AGLANCIO-ATTIVO) per la connessione ad AreaGATE.
Logica di business¶
Fase 1: Mezzi (BINMEZZI)¶
Scansione completa di VPAMEZZI. Mappatura: bmez-cod = mez-cod, bmez-des = mez-des, bmez-edi = mez-edi, bmez-cod-padre = mez-cod-padre, bmez-data-agg = datasis.
Fase 2: Spazi (BINSPAZI)¶
Scansione VPATABEL con vat-tip = 1. Mappatura: bspa-cod = vat-cod-num, bspa-des = vat-des.
Fase 3: Settori merceologici (BINSETME)¶
Scansione VPATABEL con vat-tip = 2. Mappatura analoga a fase2 su bsme-rec.
Fase 4: Tipi impresa (BINTIMPR)¶
Scansione VPATABEL con vat-tip = 4. Mappatura analoga a fase2 su btim-rec.
Cancellazione preventiva (cancella-postgres)¶
Eseguita prima delle fasi tramite sql-truncate-binmezzi, sql-truncate-binspazi, sql-truncate-binsetme, sql-truncate-bintimpr. Ogni truncate incrementa tm-cancellati.
Apertura connessione BI (init-bin-sub-tm-cfg-bin-tipo)¶
tm-cfg-bin-tipo = "N"->sql-init-ok = no(uscita)."P"-> caricamento stringhe connessione,sql-init, apertura subbinmezzi/binspazi/binsetme/bintimprvia Postgres.- Altri valori ->
sql-init-ok = no.