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 programmaTEMPSWCnnnper l'ALTER TABLEspecifica, 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.k02per le secondarie). - Registro tabelle (
tab-files): elenco testuale"<n>:<nome>: <descrizione>"con una voce per tabella; il numero totale e' definito dal livello78 k-num-files-2. - Componenti SQL per tabella:
binXXXX-sql-ws.cpy(working),binXXXX-sql-prc.cpy(procedure), con paragrafisql-check-version-binXXXX(controllo/allineamento versione schema) esub-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 tabellebin*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).