SWC015 - Scaricamento Tabella Lotti Merce per SW-ING¶
Sorgente: cbl/swc015.cbl | Program-ID: SWC015 | Tipo: Batch BI (interattivo + Aglancio)
Menu: Statistiche > Estrazione dati vs B.I.Swing > Tabelle & Anagrafiche > Tabella lotti merce
Scopo¶
Esporta la tabella dei lotti merce (COGMERLT) verso il sottosistema BI SW-ING (BINMERLT).
File e tabelle¶
Input¶
| File | Tipo | Modalita' | Uso |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri |
| COGMERLT | ISAM | Input | Anagrafica lotti merce (dichiarata via Screens swc015.select/.fd/.decla) |
Output BI¶
| Tabella BI | Record | Modalita' | Contenuto |
|---|---|---|---|
| BINMERLT | bmlt-rec | I-O | Lotti merce: azienda, merce, magazzino, progressivo, lotto esterno, produttore, stato, data prod/scad, locazione, num raccolta |
| ARPSTPRC | a-stpr-rec | I-O | Stato processi Aglancio |
Copybook utilizzate¶
| Copybook | Contenuto |
|---|---|
swc015.select, swc015.fd, swc015.wrk, swc015-01.scr, swc015.decla, swc015.prc |
Screen Designer |
cogmerlt.cpy |
Record COGMERLT (incluso da Screens) |
binmerlt.cpy, binmerlt-sql-ws.cpy, binmerlt-sql-prc.cpy |
Tabella BI |
arpstprc.cpy, arpstprc-sql-ws.cpy |
Stato processi |
sql-decla-ws.cpy |
Working storage SQL |
utilncnf.cpy, utilgesdebug.cpy, utilswgets.cpy, utilagprg.cpy |
Utility |
cogazien.cpy, k-personal.cpy |
Dati azienda |
Logica di elaborazione¶
Apertura¶
Standard SWC*: lettura azienda, configurazione, apertura connessione BI.
Elaborazione (fase1)¶
Mappa i campi di mlt-rec (da COGMERLT) in bmlt-rec (BI):
bmlt-azi<-az-personalbmlt-li-merce/bmlt-merce<-mlt-mercebmlt-li-magaz/bmlt-magaz<-mlt-magbmlt-li-prog/bmlt-prog-int<-mlt-progbmlt-lotto-esterno<-mlt-lottobmlt-produttore-cod/bmlt-produttore-des<-mlt-produttore/mlt-des-prdbmlt-stato<-mlt-statobmlt-data-prod/bmlt-data-scad/bmlt-locazione/bmlt-num-rac<- omonimibmlt-data-agg<-datasis
Scrittura via sub-cfg-wr-binmerlt.
Chiusura¶
Standard SWC*; in modalita' batch aggiorna ARPSTPRC.
Chiamate esterne (CALL)¶
| Programma | Scopo |
|---|---|
| RNEWCONF | Configurazione (BI e Aglancio) |
| SWGETS | Conn-string AreaGate |
| C$NARG, C$PARAMSIZE, C$RERR | Runtime AcuCOBOL |
Configurazioni (RNEWCONF)¶
BI (x99-src-cfg, gruppo abilita)¶
Standard: bin-tipo, bin-db-path, bin-db-conn-string (1-3), bin-db-log-level.
Aglancio (x99-src-cfg-agl, gruppo areaapp)¶
cod-azienda, db-log-level, AGLANCIO-ATTIVO.
Schedulazione (Aglancio)¶
k-id-processo = 50015, k-tabella-statosyn = "SWC015". Logica standard SWC*.
Note¶
- Anomalia rilevata: nella
fase1(linea ~417) la mappaturamlt-rec->bmlt-recviene eseguita una sola volta senza un loop esplicito di START/READ NEXT su COGMERLT. La cancellazionecancella-ctree(linea 578) e lacancella-postgres(linea 728) usano correttamentesub-cfg-bin-open-binmerlt/sql-delete-by-bmlt_azi. Probabile sorgente incompleto/in fase di sviluppo: andrebbe verificato confrontando con SWC003 (pattern equivalente) per aggiungere la mancanteperform st-cogmerlt-notmin+ cicloperform until w-fine-fileconrdnxt-cogmerlt. Allo stato attuale, in produzione, il programma scarica al massimo il record corrente (qualunque sia) in memoria oppure una riga con campimlt-*non valorizzati. - Il filtro su
az-personale' applicato sia in scrittura sia in cancellazione, quindi in ambienti multi-azienda l'estrazione non interferisce con altre aziende.