Vai al contenuto

SWL001 - Scaricamento Tabelle Laboratori + Analisi Commesse per SW-ING

Sorgente: cbl/swl001.cbl | Program-ID: SWL001 | Tipo: Batch BI (interattivo + Aglancio)

Menu: Statistiche > Estrazione dati vs B.I.Swing > Laboratori > Tabelle + analisi commesse


Scopo

Estrae le tabelle anagrafiche del modulo laboratori (LODAZION, LODPAZIE, LODTABEL tipo 8, LODRISCH+LODDESCR, LODCONTR, tipi lavoro fissi, stati commessa fissi) e i dati di tutte le commesse (LODPRESC con catena testate, prescrizioni, movimenti, dettagli) verso il sottosistema BI SW-ING.


File e tabelle

Input (gestionale)

File Tipo Modalita' Uso
FEURTAB ISAM Input Parametri
LODAZION ISAM Input Anagrafica azioni (fase1)
LODPAZIE ISAM Input Anagrafica pazienti (fase2)
LODTABEL ISAM Input Tipo 8: tipi dispositivo (fase3)
LODRISCH ISAM Input Analisi rischi (fase4, loop)
LODDESCR ISAM Input Tipo "R1": descrizione lunga rischio (fase4)
LODCONTR ISAM Input Piani di controllo (fase5)
LODPRESC ISAM Input Commesse / prescrizioni (chiave4: tm-num/lpm-num)
LODCMAGG, LODCMTES ISAM Input Dati aggregati e testate commesse (fase11)
COGGEANA, COGAZIEN, COGMERCI, COGCONTR... ISAM Input Letture supporto per fase11 commesse

Output BI (SQL via PostgreSQL)

Tabella BI Record Modalita' Contenuto
BINAZION blaz-rec I-O Azioni (fase1)
BINPAZIE blpz-rec I-O Pazienti (fase2)
BINTDISP btdi-rec I-O Tipi dispositivo (fase3)
BINANRIS bari-rec I-O Analisi rischi con descrizione concatenata (fase4)
BINPCONT bpic-rec I-O Piani di controllo (fase5)
BINTILAV btla-rec I-O Tipi lavoro fissi (fase6, 7 record)
BINSTCOM bsco-rec I-O Stati commessa fissi (fase7, 6 record)
BINCOMME bcom-rec I-O Testate commessa (fase11)
BINLODMV - I-O Movimenti dettaglio commessa (fase11)
ARPSTPRC a-stpr-rec I-O Stato processi Aglancio

File transito

File Uso
COGZS5-T-DETTAGLIO Tabella di lavoro per dettagli commesse (interfaccia COGZS5)

Copybook utilizzate

Screen Designer

Copybook Contenuto
swl001.select, swl001.fd, swl001.wrk, swl001-01.scr, swl001.decla, swl001.prc Screen Designer

Strutture dati

Copybook Contenuto
binazion.cpy, binpazie.cpy, bintdisp.cpy, binanris.cpy, binpcont.cpy, bintilav.cpy, binstcom.cpy, bincomme.cpy, binlodmv.cpy Record BI
*-sql-ws.cpy (una per tabella) Interfacce SQL
arpstprc.cpy, arpstprc-sql-ws.cpy Stato processi
cogzs5-t-dettaglio.cpy Record transito COGZS5
sql-decla-ws.cpy Working storage SQL
cogazien.cpy Dati azienda
costanti-cogevlog.cpy, costanti-tipi-documento.cpy, k-u10.cpy, k-personal.cpy Costanti
utilncnf.cpy, utilgesdebug.cpy, utilswgets.cpy, utilagprg.cpy Utility
wstato, wgrave, wopenf, wnscr Working storage standard

Logica di elaborazione

Apertura

  1. Test linkage util-agprg.
  2. ctr-abil, x-carica-lingua, z-99-init-program, rd-azi, open-files.
  3. x99-src-cfg (BI + swl001-debug-commesse + numero-commessa-automatico).
  4. gesdebug-loadconf con override a S se tm-cfg-debug-commessa > 0.
  5. x99-src-cfg-agl (Aglancio).
  6. Determinazione modalita' batch.
  7. init-bin-sub-tm-cfg-bin-tipo.

Elaborazione (b-elabora)

  • Se tm-cfg-debug-commessa = 0 (modalita' normale):
  • b1-cancella: cancellazione dati BI per le tabelle anagrafiche.
  • fase1..fase7: estrazione delle 7 tabelle anagrafiche (azioni, pazienti, tipi dispositivo, analisi rischi, piani di controllo, tipi lavoro hardcoded, stati commessa hardcoded).
  • fase11-commessa: ciclo sulle commesse:
  • Se tm-cfg-debug-commessa > 0: filtra su lpm-num = tm-commessa.
  • Altrimenti: scan completo LODPRESC.
  • Per ogni commessa: fase11-elimina-cancellate (delete BI specifico) + fase11-elabora-commessa + fase11-elabora-commessa-fine.

Fase4 (analisi rischi)

Per ogni LODRISCH, cerca LODDESCR tipo "R1" e concatena le righe descrizione (max 5 paragrafi), pulendo i caratteri speciali di formattazione (w-char-indent-ini, w-char-fine-parola, w-char-fine-paragrafo, w-char-indent-succ).

Tipi lavoro (fase6) e stati commessa (fase7)

Codici e descrizioni hardcoded in tab-tipo-l (1..7) / tab-des-l e tab-tipo-c (1..6) / tab-des-c.

Visualizzazione contatori

Aggiornamento del contatore w-s-l ogni 1 secondo (orasis-confronto - orasis > 100) per evitare overhead di display ad alta frequenza.

Chiusura

cancel "COGZS5", close-bin-sub-tm-cfg-bin-tipo; modalita' batch aggiorna ARPSTPRC.


Chiamate esterne (CALL)

Programma Scopo
RNEWCONF Configurazione (BI + debug, Aglancio)
SWGETS Conn-string AreaGate
COGZS5 Calcolo dettagli commessa (movimenti, prescrizioni esplose)
W$FLUSH Forzatura aggiornamento display
C$NARG, C$PARAMSIZE Runtime AcuCOBOL

Configurazioni (RNEWCONF)

BI + specifiche SWL (x99-src-cfg)

# Gruppo Chiave Campo Descrizione
01 abilita bin-tipo tm-cfg-bin-tipo Tipo connessione
02 abilita bin-db-path tm-cfg-bin-path Path C-Tree
03-05 abilita bin-db-conn-string (1-3) tm-cfg-bin-conn-string Stringhe PostgreSQL
06 abilita bin-db-log-level tm-cfg-bin-log-level Livello log
07 BINT swl001-debug-commesse tm-cfg-debug-commessa Numero commessa per debug; se > 0 elabora solo quella con log dettagliato
08 odonto numero-commessa-automatico (campo locale) Modalita' numerazione automatica commesse

Aglancio (x99-src-cfg-agl, gruppo areaapp)

Standard: cod-azienda, db-log-level, AGLANCIO-ATTIVO.


Schedulazione (Aglancio)

k-id-processo (definito in working storage, verifica al volo: assenza del valore in questa sezione iniziale; presumibilmente nel range 50xxx come altri SWC/SWL). k-tabella-statosyn = "SWL001". In modalita' batch attiva w-tm-cfg-debug = "S" (log sempre attivo) e aggiorna ARPSTPRC.


Note

  • Le tabelle tab-tipo-l (tipi lavoro) e tab-tipo-c (stati commessa) sono hardcoded nel working storage: per modificarle serve intervento sul sorgente.
  • La modalita' debug-commessa permette di rielaborare solo una commessa specifica senza ricaricare tutte le anagrafiche: utile per debug rapido in produzione (impostare la chiave swl001-debug-commesse al numero della commessa da investigare e rilanciare).
  • La pulizia caratteri speciali in fase4 e' necessaria perche' LODDESCR memorizza testo formattato con marcatori interni che non devono finire nelle stringhe BI.
  • Source-computer/object-computer dichiarato come pc-sperry.