SWL003 -- Estrazione Movimenti Commessa e Commesse con Documento/Fattura per SW-ING¶
Sorgente: cbl/swl003.cbl | Tipo: Batch BI (interattivo + Aglancio) | Program-ID: SWL003
Scopo¶
Estrae verso il sottosistema BI SW-ING (laboratori):
- Tabelle anagrafiche del modulo laboratori (azioni, pazienti, tipi dispositivo, analisi rischi, piani di controllo, tipi lavoro, stati commessa)
- Commesse (testata + movimenti dettaglio)
- (nuova 2026-06-04) Commesse con riferimento al documento/fattura associato
Complementare a SWL001/SWL002 nella catena BI laboratori. Puo' essere eseguito da menu (con maschera) o da Aglancio (called).
File e tabelle¶
Input (gestionale)¶
- LODPRESC (commesse, chiave 3) -- ingresso principale
- LODCMTES, LODCMAGG, LODCMA2, LODCMRIG, LODCMDET
- LODAZION, LODPAZIE, LODTABEL, LODRISCH, LODDESCR, LODCONTR, LODRACCO
- COGEVLOG, COGGEANA, COGTABEL, ...
Output BI (PostgreSQL)¶
| Tabella BI | Contenuto |
|---|---|
| BINAZION | Azioni |
| BINPAZIE | Pazienti |
| BINTDISP | Tipi dispositivo |
| BINANRIS | Analisi rischi |
| BINPCONT | Piani di controllo |
| BINTILAV | Tipi lavoro |
| BINSTCOM | Stati commessa |
| BINCOMME | Testate commessa (Fase 11) |
| BINLODMV | Movimenti dettaglio commessa (Fase 11) |
| BINCOMFA | (nuovo) Commesse con documento/fattura collegati (Fase 13) |
| ARPSTPRC | Stato processi Aglancio |
File transito locale¶
- COGTRANS (
bicomme_trs.arc) -- nuovo file ISAM locale per tracciare lo stato di esportazione (trs-num,trs-stato,trs-data) delle commesse evase, evitando rielaborazioni inutili tra esecuzioni.
Fasi di elaborazione¶
| Fase | Funzione |
|---|---|
| Fase 1-7 | Scaricamento tabelle anagrafiche (azioni, pazienti, dispositivi, analisi rischi, piani, tipi lavoro, stati commessa) |
| Fase 11 | Estrazione commesse (testate su BINCOMME + movimenti su BINLODMV) |
| Fase 13 (nuova) | Estrazione commesse con documento/fattura su BINCOMFA |
Fase 13: estrazione commesse con documento/fattura¶
Per ogni commessa con LPM-DATA >= tm-cfg-data-inizio-scarico e <= w-data-oggi:
- Verifica stato commessa: se
lpm-stato = "E"(evasa), verifica suCOGTRANSse la commessa e' gia' stata esportata come "E". - Se gia' "E" su
COGTRANS: salta la commessa. - Se "X" su
COGTRANS(in transito): promuove a "E" e prosegue. - Scrive su BINCOMFA il record con dati testata, paziente, date consegna, riferimento documento/fattura.
- Se
tm-cfg-vis-data-cons-effettiva = "S", recupera la data consegna effettiva daLODCMAG2per la visualizzazione.
Init mode (parametro "Z")¶
Quando il programma viene chiamato con wo-parametro = "Z" (init):
- File
COGTRANSviene ricreato da zero (close + open output + close + open i-o). - Le tabelle BINCOMME, BINLODMV, BINCOMFA vengono troncate (
sql-truncate-*).
Negli altri casi:
b2-puliscerimuove dalle tabelle BIN le commesse che non esistono piu' su LODPRESC o che hanno cambiato stato rispetto a COGTRANS.- Cancella poi i record BIN con stato diverso da "E" (per consentire la riesportazione).
Configurazioni (RNEWCONF)¶
| Gruppo | Chiave | Note |
|---|---|---|
| abilita | bin-tipo | A/C/D/P -- tipo backend BIN |
| ... | bin-azienda, bin-host, bin-port, ... | Connessione DB BI |
| db | db-log-level | Log SQL |
| odonto | numero-commessa-automatico | Numerazione commessa |
| labpresc | vis-consegna-effettiva | (nuova) Se "S", legge ora consegna effettiva da LODCMAG2 |
| BINT | data-inizio-scarico-commesse | (nuova) Data minima di partenza per la scansione LODPRESC (sostituisce w-data-anno-1) |
Tabella stati commessa (fase 7)¶
| Codice | Descrizione |
|---|---|
| N | Nuova |
| A | In avanzamento |
| F | Fatturata |
| C | Commessa chiusa |
| E | Commessa evasa (chiusa + op. accessorie) |
| B | (nuovo) Bloccata |
| F | (nuovo) Presso fornitore |
Totale stati: 8 (era 6).
Storico modifiche¶
| Build | Descrizione |
|---|---|
| 2026/0512 | Aggiunta Fase 13: estrazione commesse con documento/fattura su BINCOMFA. Aggiunta configurazione labpresc/vis-consegna-effettiva per leggere ora consegna effettiva da LODCMAG2. |
| 2026/0604 | Introdotto file transito locale COGTRANS (bicomme_trs.arc) per tracciamento stato esportazione commesse evase. Aggiunta init mode wo-parametro = "Z" (truncate + ricreazione COGTRANS). Aggiunto pulisce differenziale b2-pulisce (cancellazione commesse scomparse o con stato cambiato). Sostituito w-data-anno-1 con configurazione BINT/data-inizio-scarico-commesse come data minima di partenza scan. Aggiunti due nuovi stati commessa: B (Bloccata) e F (Presso fornitore). Aggiunta close cogtrans a fine elaborazione (paragrafo b-90) per chiudere correttamente il file di transito prima del ritorno al chiamante. Affinato il blocco di logica "stato bloccato lab": ora lct-blocco-lab = "S" con lpm-stato = "A" forza lo stato a "B" non solo nella scrittura di BINCOMME ma anche nella scrittura di BINLODMV e BINCOMFA (fase13), in modo coerente fra le tre tabelle BI |