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¶
- Test linkage
util-agprg. ctr-abil,x-carica-lingua,z-99-init-program,rd-azi,open-files.x99-src-cfg(BI +swl001-debug-commesse+numero-commessa-automatico).gesdebug-loadconfcon override aSsetm-cfg-debug-commessa > 0.x99-src-cfg-agl(Aglancio).- Determinazione modalita' batch.
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 sulpm-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) etab-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-commesseal 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.