Vai al contenuto

SWCINIT — Inizializzazione tabelle BI SW-ING

Sorgente: cbl/swcinit.cbl | Program-ID: SWCINIT | Tipo: Utility non a menu (inizializzatore schema)


Scopo

SWCINIT inizializza lo schema delle tabelle mirror BI SW-ING (prefisso bin*): il datamart PostgreSQL alimentato dai programmi di estrazione SWC* (es. SWC010, SWC033) e consumato dalla Business Intelligence SW-ING.

Il programma non e' a menu e non ha interfaccia utente autonoma: e' l'utility di servizio che, per ciascuna tabella bin*, verifica/allinea la definizione dello schema (creazione tabella e controllo versione) sul backend configurato.

Come indicato nelle note operative interne:

  • quando cambia la struttura di una tabella bin* gia' esistente si crea un programma TEMPSWCnnn per l'ALTER TABLE specifica, oppure si reinizializza la tabella e il suo schema con SWCINIT (ripopolando poi la tabella in modo adeguato alla situazione pregressa);
  • SWCINIT va sempre tenuto aggiornato con le ultime definizioni delle tabelle: ogni nuova tabella bin* o nuova chiave va aggiunta qui.

Struttura

  • FD / copybook tabelle: una copy "binXXXX.fd" + copy "binXXXX.cpy" per ogni tabella mirror; le chiavi sono incluse a fine programma (copy "binXXXX.k01", piu' eventuali .k02 per le secondarie).
  • Registro tabelle (tab-files): elenco testuale "<n>:<nome>: <descrizione>" con una voce per tabella; il numero totale e' definito dal livello 78 k-num-files-2.
  • Componenti SQL per tabella: binXXXX-sql-ws.cpy (working), binXXXX-sql-prc.cpy (procedure), con paragrafi sql-check-version-binXXXX (controllo/allineamento versione schema) e sub-cfg-bin-open-binXXXX (apertura/creazione).
  • Configurazione connessione BI: come per gli altri programmi dell'ecosistema, letta dal gruppo abilita (bin-tipo, bin-db-conn-string, ...); backend supportato Postgres.

Relazioni

  • I programmi SWC* (estrazione dati verso il BI SW-ING) scrivono nelle tabelle bin* il cui schema e' creato da SWCINIT. Vedi SWC010 (BINCONSU), SWC033 (BINORDIN), SWC034 (BINSERES/BINSERAG/BINSECEN/BINSEBUD — verticalizzazione Scuola Edile).
  • Nota operativa e contesto in Altri programmi non a menu.

Storico modifiche

2026-07-06 — Nuova tabella BINSERES (Scuola Edile) e chiave secondaria BINCONSU

Aggiunta al registro la tabella binseres"Scuola Edile Tabella Responsabili x SW-ING" — come tabella n. 128 (k-num-files-2 portato da 127 a 128). La tabella (seres-rec) contiene i responsabili per la verticalizzazione Scuola Edile:

Campo Formato Note
seres-azi x(03) Codice azienda (parte di seres-chia1)
seres-cod x(03) Codice responsabile (parte di seres-chia1)
seres-des x(60) Descrizione/nominativo
seres-data-agg 9(08) Data aggiornamento (YYYYMMDD)

L'inserimento ha comportato l'aggiunta di tutti i componenti standard della tabella: binseres.fd, binseres.cpy, binseres-sql-ws.cpy, binseres-sql-prc.cpy, binseres.k01, la voce nel registro tab-files, il ramo sql-check-version-binseres e la perform sub-cfg-bin-open-binseres nell'apertura.

Nella stessa modifica e' stata inclusa la chiave secondaria binconsu.k02 (in precedenza era presente solo la primaria binconsu.k01).

2026-07-08 — Completamento tabelle Scuola Edile (BINSERAG, BINSECEN, BINSEBUD)

Aggiunte al registro altre tre tabelle mirror della verticalizzazione Scuola Edile, portando k-num-files-2 da 128 a 131. Sono alimentate dal nuovo programma di estrazione SWC034.

N. Tabella Descrizione Chiave primaria Contenuto
129 binserag Scuola Edile Tab. Raggruppamenti gerarchici serag-chia1 = serag-azi x(03) + serag-cod x(30) serag-des x(60), serag-livello 9(03), serag-data-agg 9(08)
130 binsecen Scuola Edile Tabella Centri (merci/prestazioni) secen-chia1 = secen-azi x(03) + secen-codice (gru x(02) + sot x(02) + cod 9(05)) secen-des x(40), secen-cod-ava x(30), secen-livello1..4 x(30), secen-respo x(03), secen-nr-parte 9(04), secen-nr-ore 9(05)v99, secen-data-agg 9(08)
131 binsebud Scuola Edile Tabella Codici Budget sebud-chia1 = sebud-azi x(03) + sebud-cod x(10) sebud-des x(60), sebud-data-agg 9(08)

Per ciascuna sono stati aggiunti tutti i componenti standard (binXXXX.fd, binXXXX.cpy, binXXXX-sql-ws.cpy, binXXXX-sql-prc.cpy, binXXXX.k01, voce nel registro tab-files, ramo sql-check-version-binXXXX e perform sub-cfg-bin-open-binXXXX). Con BINSERES (n. 128, ciclo precedente) le quattro tabelle costituiscono lo schema mirror BI SW-ING della verticalizzazione Scuola Edile.

2026-07-09 — Quinta tabella Scuola Edile (BINSEMVB - Movimenti Budget)

Aggiunta al registro la tabella mirror binsemvb"Scuola Edile Movimenti Budget" — come tabella n. 132 (k-num-files-2 portato da 131 a 132). Completa lo schema mirror BI SW-ING della verticalizzazione Scuola Edile, che arriva cosi' a cinque tabelle (BINSERES, BINSERAG, BINSECEN, BINSEBUD, BINSEMVB). E' la tabella dei movimenti di budget per centro di costo (semvb-rec):

Campo Formato Note
semvb-chia1 semvb-azi x(03) + semvb-cod-budget x(10) + semvb-prog 9(12) Chiave primaria
semvb-cco-chia liv1 9(02) + liv2 9(02) + liv3 9(05) Centro di costo (gruppo)
semvb-merce gru x(02) + sot x(02) + cod 9(05) Merce
semvb-data-ini 9(08) Data inizio (YYYYMMDD)
semvb-cli-cod / semvb-for-cod 9(05) Cliente / fornitore
semvb-note x(80) Note
semvb-ore 9(04)v99 Ore
semvb-ricavo / semvb-costo s9(12)v999999 Ricavo / costo
semvb-commessa x(10) Commessa
semvb-fl-fatt x(01) Flag fatturato
semvb-data-agg 9(08) Data aggiornamento (YYYYMMDD)

Aggiunti tutti i componenti standard (binsemvb.fd, binsemvb.cpy, binsemvb-sql-ws.cpy, binsemvb-sql-prc.cpy, binsemvb.k01, voce nel registro tab-files, ramo sql-check-version-binsemvb e perform sub-cfg-bin-open-binsemvb).