SWCL01 - Scaricamento Tabelle Cicli di Lavorazione per SW-ING¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | SWCL01 |
| Titolo | Scaricamento Tabelle Cicli di Lavorazione |
| Posizione menu | Statistiche > Estrazione dati vs B.I.Swing > Cicli di lavorazione > Tabelle |
Scopo e logica generale¶
SWCL01 esporta le tabelle anagrafiche del modulo Cicli di Lavorazione verso il database del BI SW-ING. Le tabelle BIN* di destinazione vengono prima svuotate (truncate) e poi ripopolate da zero.
Il programma funziona in due modalita':
- Interattiva: l'operatore lancia l'esportazione dalla maschera con F3; viene mostrato un contatore di righe scritte per tabella.
- Batch (chiamata da Aglancio): viene riconosciuto il passaggio di
util-agprgconagprg-id-processovalorizzato; in questa modalita' l'output e' rediretto al log Aglancio tramitegesdebug.
Il programma non richiede parametri di periodo: e' una rigenerazione completa delle tabelle anagrafiche.
Flusso principale¶
- Inizializzazione (
apri): rilevamento modalita' Aglancio (C$NARG+C$PARAMSIZEsu util-2gprg),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). - Setup maschera (solo interattivo): titolo "Scaricamento Tabelle Cicli di Lavorazione", apertura window appoggio, costruzione controlli.
- Conferma F3 (
a-avanti->a222-ok). - Elaborazione (
b-elabora): b1-cancella: truncate di tutte le tabelle BIN* destinazione.fase1..fase9: scrittura tabelle.- Chiusura (
fine/z-chiudi): chiusura file, chiusura connessione BI, aggiornamento ARPSTPRC se modalita' batch, chiusura log gesdebug.
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| BINANAMA | bmac-rec | I-O | Anagrafica macchine BI (output) |
| BINLAVOR | blav-rec | I-O | Anagrafica lavorazioni BI (output) |
| BINTGLMATER | btmat-rec | I-O | Tabella materiali BI (output) |
| BINTGLDUREZ | btdur-rec | I-O | Tabella durezza BI (output) |
| BINTGLCOMPC | btcpc-rec | I-O | Tabella composizione chimica BI (output) |
| BINTGLFAMIG | btfmg-rec | I-O | Tabella famiglie profilati BI (output) |
| BINTGLPROFI | btprf-rec | I-O | Tabella tipologie profilati BI (output) |
| BINTPLAV | btpl-rec | I-O | Tabella tipi lavorazione BI (output, valori fissi) |
| BINSTCOM | bsco-rec | I-O | Tabella stati commessa BI (output, valori fissi) |
| CLCANAMA | mac-rec | Input | Anagrafica macchine (origine fase1) |
| CLCLAVOR | lav-rec | Input | Anagrafica lavorazioni (origine fase2) |
| TGLMATER | tmat-rec | Input | Anagrafica caratteristiche materiali (origine fase5) |
| COGTABEL | euta-rec | Input | Tabelle di sistema tipo 62 con ptc-tip "DU"/"CC"/"F"/"PR" (fase6-9) |
| ARPSTPRC | a-stpr-rec | I-O | Stato processi Aglancio (solo modalita' batch) |
| FEURTAB | - | Input | Tabella file Eurosystem |
| LOGFILE | - | Output | Log file swcl01.log in ext-log-dir |
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
swcl01-01.scr |
Maschera principale |
swcl01.select |
SELECT dei file (clclavor, clcanama, cogtabel, tglmater) |
swcl01.fd |
FD dei file |
swcl01.wrk |
Working storage maschera |
swcl01.decla |
Declaratives |
Strutture dati¶
| Copybook | Contenuto |
|---|---|
cogfiles.cpy |
FD feurtab |
binanama.cpy/binlavor.cpy/bintglmater.cpy/bintgldurez.cpy/bintglcompc.cpy/bintglfamig.cpy/bintglprofi.cpy/bintplav.cpy/binstcom.cpy |
Record BIN* |
arpstprc.cpy |
Record ARPSTPRC |
logfile.cpy |
Record LOGFILE |
cogazien.cpy |
Dati azienda |
k-personal.cpy |
Costanti personalizzazione |
k-u10.cpy |
Costanti COGU10 |
sql-decla-ws.cpy |
Working storage connessione SQL/BI |
binanama-sql-ws.cpy..binstcom-sql-ws.cpy |
Interfacce SQL per ogni tabella BIN* |
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 (usato sia come util-agprg in linkage che come util-2gprg per il sondaggio dinamico) |
utilu10.cpy |
Interfaccia COGU10 |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| RNEWCONF | Lettura configurazione (2 chiamate: src-cfg, src-cfg-agl) |
| SWGETS | Recupero configurazione SW-ING (stringa di connessione) |
| C$NARG / C$PARAMSIZE | Verifica dinamica se util-agprg e' stato passato dal chiamante |
Configurazione (RNEWCONF)¶
x99-src-cfg (gruppo "abilita")¶
Lette in pacchetto "C", 6 chiavi:
| # | Gruppo | Chiave | Campo interno | Descrizione |
|---|---|---|---|---|
| 01 | abilita | bin-tipo | tm-cfg-bin-tipo |
Tipo connessione BI: "P" Postgres, "C" C-Tree, "D" DBmaker, "N" non abilitato |
| 02 | abilita | bin-db-path | tm-cfg-bin-path |
Percorso database file-based |
| 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 (gruppo "areaapp")¶
Lette in pacchetto "C", 3 chiavi:
| # | Gruppo | Chiave | Campo interno | Descrizione |
|---|---|---|---|---|
| 01 | areaapp | cod-azienda | tm-cfg-cod-azienda |
Codice azienda per ARPSTPRC |
| 02 | areaapp | db-log-level | tm-cfg-bin-log-level-agl |
Livello log connessione AreaGATE |
| 03 | AREAAPP | AGLANCIO-ATTIVO | tm-cfg-aglancio-attivo |
"S" = procedura Aglancio attiva |
La stringa di connessione AreaGATE viene restituita da SWGETS in swgets-str-conn.
Logica di business¶
Fase 1: Anagrafica Macchine (BINANAMA)¶
Scansione completa di CLCANAMA. Per ogni riga: bmac-azi = az-personal, bmac-cod = mac-cod, bmac-des = mac-des, bmac-data-agg = datasis. Scrittura tramite sub-cfg-wr-binanama.
Fase 2: Anagrafica Lavorazioni (BINLAVOR)¶
Scansione completa di CLCLAVOR per chiave1. Per ogni riga: blav-azi = az-personal, blav-cod = lav-cod, blav-des = lav-des.
Fase 3: Tipi di lavorazione (BINTPLAV) - valori fissi¶
Scrive 2 record: ("A", "Attrezzaggio") e ("L", "Lavorazione").
Fase 4: Stati commessa (BINSTCOM) - valori fissi¶
Scrive 2 record: ("A", "Commessa aperta") e ("C", "Commessa chiusa").
Fase 5: Caratteristiche materiali (BINTGLMATER)¶
Scansione completa di TGLMATER, mappata su btmat-cod/btmat-des.
Fase 6: Durezza (BINTGLDUREZ)¶
Scansione di COGTABEL con euta-tipo = 62 e euta-ptc-tip = "DU". Loop con go to fino a quando tipo o ptc-tip cambiano. Mappatura: btdur-cod = euta-ptc-cod, btdur-des = euta-tma-des.
Fase 7: Composizione chimica (BINTGLCOMPC)¶
Stessa logica di fase6, con euta-ptc-tip = "CC".
Fase 8: Famiglie profilati (BINTGLFAMIG)¶
Scansione COGTABEL tipo 62 con euta-ptc-tip = "F". Al termine viene aggiunto un record fisso ("LAMIERE", "LAMIERE GENERICHE").
Fase 9: Tipologie profilati (BINTGLPROFI)¶
Scansione COGTABEL tipo 62 con euta-ptc-tip = "PR". Al termine viene aggiunto un record fisso ("LAMIERE", "LAMIERE GENERICHE").
Cancellazione preventiva (b1-cancella)¶
Tutte le tabelle BIN* di destinazione vengono svuotate con sql-truncate-<tab> prima del ripopolamento.