SWC004 - Scaricamento Tabelle Raggruppamenti Merci per SW-ING¶
Sorgente: cbl/swc004.cbl | Program-ID: SWC004 | Tipo: Batch BI (interattivo + Aglancio)
Menu: Statistiche > Estrazione dati vs B.I.Swing > Tabelle & Anagrafiche > Tabelle raggruppamenti merci
Scopo¶
Esporta le tre tabelle dei raggruppamenti merceologici (COGTABEL tipo 17 con euta-cfg-arg "1", "2", "3") e, se az-mer-ava = "S", anche le tabelle di codice avanzato (COGTABEL tipo 62) e le classi del codice merce (COGTABEL tipo 61) verso il sottosistema BI SW-ING.
File e tabelle¶
Input¶
| File | Tipo | Modalita' | Uso |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri |
| COGTABEL | ISAM | Input | Tipo 17 (raggruppamenti), 61 (classi), 62 (cod-avanzato) |
Output BI¶
| Tabella BI | Record | Modalita' | Contenuto |
|---|---|---|---|
| BINRAGR1 | bra1-rec | I-O | Raggruppamento 1 (fase1) |
| BINRAGR2 | bra2-rec | I-O | Raggruppamento 2 (fase2) |
| BINRAGR3 | bra3-rec | I-O | Raggruppamento 3 (fase3) |
| BINRTMTA | brtmta-rec | I-O | Tabella classi articolo (fase-binrtmta) |
| BINRTMCL | brtmcl-rec | I-O | Classi codice merce (fase-binrtmcl, solo se tm-cfg-cla = "S") |
| BINRTM01..BINRTM15 | brtm01..brtm15-rec | I-O | Tabelle codice avanzato per livello (fase-binrtmxx) |
| ARPSTPRC | a-stpr-rec | I-O | Stato processi Aglancio |
Copybook utilizzate¶
| Copybook | Contenuto |
|---|---|
swc004.select, swc004.fd, swc004.wrk, swc004-01.scr, swc004.decla, swc004.prc |
Screen Designer |
binragr1.cpy..binragr3.cpy, binrtmta.cpy, binrtmcl.cpy, binrtm01.cpy..binrtm15.cpy |
Record BI |
binragr1-sql-ws.cpy ecc. |
Interfacce SQL (una per file) |
arpstprc.cpy, arpstprc-sql-ws.cpy |
Stato processi |
sql-decla-ws.cpy |
Working storage SQL |
utilncnf.cpy, utilgesdebug.cpy, utilswgets.cpy, utilagprg.cpy |
Utility |
k-personal.cpy, cogazien.cpy |
Costanti e dati azienda |
Logica di elaborazione¶
Apertura (apri)¶
- Test
util-agprgconC$NARG/C$PARAMSIZE. ctr-abil,z-99-init-program,rd-azi,open-files.x99-src-cfg(BI),x999-src-cfg(codici avanzati:euta-c039-cla+binrtmxx-euta-legame1-15),x99-src-cfg-agl(Aglancio).init-bin-sub-tm-cfg-bin-tipo.
Elaborazione (elabora)¶
cancella-bin-sub-tm-cfg-bin-tipo: TRUNCATE su tutte le 20 tabelle BIN.fase1: scan COGTABEL tipo 17 coneuta-cfg-arg = "1"-> BINRAGR1.fase2: idem con "2" -> BINRAGR2.fase3: idem con "3" -> BINRAGR3.- Se
az-mer-ava = "S": carica-tab-cod-ava: legge COGTABEL tipo 62 (record coneuta-ptc-cod = low-values) per costruiretab-cod-avamatchando contm-cfg-binrtmxx-euta-c(configurazione).fase-binrtmta: per ogni codice intab-cod-ava(max 15) scrive BINRTMTA.fase-binrtmcl(solo setm-cfg-cla = "S"): scan COGTABEL tipo 61 -> BINRTMCL.fase-binrtmxx(1..15): scan COGTABEL tipo 62 coneuta-ptc-tip = tca-cod (tca-idx)-> BINRTM01..BINRTM15 secondo l'indice (write-binrtmxxcon EVALUATE).
Chiusura¶
close-bin-sub-tm-cfg-bin-tipo; in modalita' batch riapre connessione AreaGate per aggiornare ARPSTPRC.
Chiamate esterne (CALL)¶
| Programma | Scopo |
|---|---|
| RNEWCONF | Configurazione (3 chiamate: BI, codici avanzati, Aglancio) |
| SWGETS | Conn-string AreaGate |
| C$NARG, C$PARAMSIZE, C$RERR | Runtime AcuCOBOL |
Configurazioni (RNEWCONF)¶
BI (x99-src-cfg, gruppo abilita)¶
Standard SWC*: bin-tipo, bin-db-path, bin-db-conn-string (1-3), bin-db-log-level.
Codici avanzati (x999-src-cfg)¶
| Chiave | Gruppo | Descrizione |
|---|---|---|
| euta-c039-cla | sistmerava | Flag attivazione classi (tm-cfg-cla) |
| binrtmxx-euta-legame (1-15) | bint | Codice del tipo cod-avanzato da legare a BINRTM01..15 |
Aglancio (x99-src-cfg-agl, gruppo areaapp)¶
cod-azienda, db-log-level, AGLANCIO-ATTIVO.
Schedulazione (Aglancio)¶
k-id-processo = 50004, k-tabella-statosyn = "SWC004". Logica standard SWC*: lanciato con util-agprg, attiva modalita' batch se agprg-id-processo > 0, aggiorna ARPSTPRC in chiusura.
Note¶
- L'EVALUATE in
write-binrtmxxmappa staticamente l'indice 1..15 alla scrittura sul filebinrtm01..binrtm15corrispondente; per supportare piu' di 15 tabelle servirebbe estendere sia la lista FD sia l'EVALUATE. tab-cod-avaviene costruita dall'intersezione tra i record COGTABEL tipo 62 disponibili e i codici configurati inbinrtmxx-euta-legame(1-15): solo i codici match vengono esportati.- La cancellazione iniziale (TRUNCATE) e' eseguita sempre prima dell'export, anche per le tabelle di codice avanzato.