Vai al contenuto

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-agprg con agprg-id-processo valorizzato; in questa modalita' l'output e' rediretto al log Aglancio tramite gesdebug.

Il programma non richiede parametri di periodo: e' una rigenerazione completa delle tabelle anagrafiche.


Flusso principale

  1. Inizializzazione (apri): rilevamento modalita' Aglancio (C$NARG + C$PARAMSIZE su 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).
  2. Setup maschera (solo interattivo): titolo "Scaricamento Tabelle Cicli di Lavorazione", apertura window appoggio, costruzione controlli.
  3. Conferma F3 (a-avanti -> a222-ok).
  4. Elaborazione (b-elabora):
  5. b1-cancella: truncate di tutte le tabelle BIN* destinazione.
  6. fase1..fase9: scrittura tabelle.
  7. 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.