Vai al contenuto

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 tramite gesdebug.

Flusso principale

  1. 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). Se sql-init-ok = no -> uscita con "Funzione non abilitata".
  2. Setup maschera (interattivo): titolo "Scaricam. Tabelle 'Agenzie Videopress' su SW-ING".
  3. a4: inizializza contatori; in modalita' interattiva attiva F3 di conferma.
  4. Cancellazione (cancella-bin-sub-tm-cfg-bin-tipo): truncate di tutte le 4 tabelle BIN*.
  5. Elaborazione (elabora): fase1..fase4.
  6. 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 sub binmezzi/binspazi/binsetme/bintimpr via Postgres.
  • Altri valori -> sql-init-ok = no.