Vai al contenuto

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-personal
  • bmlt-li-merce/bmlt-merce <- mlt-merce
  • bmlt-li-magaz/bmlt-magaz <- mlt-mag
  • bmlt-li-prog/bmlt-prog-int <- mlt-prog
  • bmlt-lotto-esterno <- mlt-lotto
  • bmlt-produttore-cod/bmlt-produttore-des <- mlt-produttore/mlt-des-prd
  • bmlt-stato <- mlt-stato
  • bmlt-data-prod / bmlt-data-scad / bmlt-locazione / bmlt-num-rac <- omonimi
  • bmlt-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 mappatura mlt-rec -> bmlt-rec viene eseguita una sola volta senza un loop esplicito di START/READ NEXT su COGMERLT. La cancellazione cancella-ctree (linea 578) e la cancella-postgres (linea 728) usano correttamente sub-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 mancante perform st-cogmerlt-notmin + ciclo perform until w-fine-file con rdnxt-cogmerlt. Allo stato attuale, in produzione, il programma scarica al massimo il record corrente (qualunque sia) in memoria oppure una riga con campi mlt-* non valorizzati.
  • Il filtro su az-personal e' applicato sia in scrittura sia in cancellazione, quindi in ambienti multi-azienda l'estrazione non interferisce con altre aziende.