Vai al contenuto

SWL002 - Scaricamento Movimenti Vendita Laboratori per SW-ING

Sorgente: cbl/swl002.cbl | Program-ID: SWL002 | Tipo: Batch BI (interattivo + Aglancio)

Menu: Statistiche > Estrazione dati vs B.I.Swing > Laboratori > Movimenti vendita


Scopo

Estrae le righe di vendita laboratorio (movimenti di magazzino di tipo bolla cliente collegati a commesse laboratorio via COGRACBB) per il periodo specificato e le scarica nella tabella BI BINVENLA.


File e tabelle

Input (gestionale)

File Tipo Modalita' Uso
FEURTAB ISAM Input Parametri
COGTESBO ISAM Input Testate bolle (chiave2: data; loop principale st-cogtesbo-notmin-chia2)
COGMOMAG ISAM Input Righe movimenti magazzino
COGTABEL ISAM Input Tipo 15: causali bolla (filtro euta-cb-con-fat = 'SI')
COGGEANA ISAM Input Anagrafica clienti (per agente)
COGAPPOG ISAM Input Appoggio anagrafica
COGRACBB ISAM Input Raccordo bolle (chiave2: bolla -> buono) per legare bolla -> commessa via tm-num
LODCMAGG ISAM Input Aggregati commessa (lookup su tm-num)
LODCMTES ISAM Input Testate commessa (lookup su tm-num)
LODPRESC ISAM Input Prescrizioni (chiave4 su lpm-num = tm-num)
LOGFILE line seq Output Log (#$logswl002.txt opzionale)

Output BI (SQL via PostgreSQL)

Tabella BI Record Modalita' Contenuto
BINVENLA bvel-rec I-O Righe vendita laboratorio nel periodo
ARPSTPRC a-stpr-rec I-O Stato processi Aglancio

Copybook utilizzate

Screen Designer

Copybook Contenuto
swl002.select, swl002.fd, swl002.wrk, swl002-01.scr, swl002.decla, swl002.prc Screen Designer

Strutture dati

Copybook Contenuto
binvenla.cpy, binvenla-sql-ws.cpy, binvenla-sql-prc.cpy Tabella BI
arpstprc.cpy, arpstprc-sql-ws.cpy Stato processi
sql-decla-ws.cpy Working storage SQL
cogazien.cpy Dati azienda
logfile.cpy Log opzionale
k-u10.cpy, k-personal.cpy Costanti

Utility

Copybook Contenuto
utilncnf.cpy, utilgesdebug.cpy, utilswgets.cpy, utilagprg.cpy Utility standard SWC/SWL
wstato, wgrave, wopenf, wnscr Working storage standard

Logica di elaborazione

Apertura

  1. Test linkage util-agprg (C$NARG, C$PARAMSIZE).
  2. ctr-abil, x-carica-lingua, z-99-init-program, rd-azi, open-files.
  3. x99-src-cfg (BI standard).
  4. x99-src-cfg-agl (Aglancio).
  5. Determinazione modalita' batch.
  6. init-bin-sub-tm-cfg-bin-tipo.
  7. x99-confi: configurazione specifica SWL002 (nr-mesi, provenienza agente, tipo doc IVA, ecc.).

Calcolo date (modalita' batch)

In batch: tm-daint-fi = datasis; tm-daint-in = datasis - nr-mesi*30 giorni (via DTPRG/PRGDT).

In interattivo: accept tm-daint-in e tm-daint-fi con calendario F8.

Elaborazione (b-elabora -> fase1)

  1. Cancellazione (fase11-cancella): DELETE su BINVENLA per il periodo + azienda (SQL diretto con sql-prepare-id-binvenla + parametri data e azienda).
  2. Loop COGTESBO (start su tes-data = tm-daint-in, loop fino a tes-data > tm-daint-fi):
  3. Filtro causale: COGTABEL tipo 15, euta-cb-con-fat = 'SI'.
  4. Filtro tipo CF: solo clienti (tes-tipocf = "C").
  5. Agente: secondo tm-cfg-prov-agente ("DOCUMENTO" -> tes-agente; altrimenti da ana-agente).
  6. Lettura COGAPPOG per dati cliente.
  7. Ricerca commessa via COGRACBB (chiave2 su bolla): scan record con rbb-tip = "CD" per recuperare rbb-a-bol = tm-num (il numero della commessa).
  8. Se tm-num = 0 (nessuna commessa): skip riga.
  9. Lookup LODCMAGG, LODCMTES, LODPRESC (chiave4) con tm-num.
  10. Loop COGMOMAG (fase1-30 e seguenti): per ogni riga del documento valorizza bvel-rec con dati vendita + dati commessa e scrive BINVENLA.

Chiusura

cancel "COGS01", close-bin-sub-tm-cfg-bin-tipo; modalita' batch aggiorna ARPSTPRC.


Chiamate esterne (CALL)

Programma Scopo
RNEWCONF Configurazione (3 chiamate: BI, Aglancio, parametri SWL002)
SWGETS Conn-string AreaGate
COGS01 Lookup listino prezzo (annullato in chiusura)
DTPRG / PRGDT Conversione data <-> progressivo (calcolo periodo automatico)
C$NARG, C$PARAMSIZE 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.

Parametri SWL002 (x99-confi)

# Gruppo Chiave Descrizione
01 BINT nr-mesi-bi2013 Numero mesi indietro per periodo automatico (tm-cfg-nr-mesi)
02 statstpara provenienza-agente "DOCUMENTO" o "ANAGRAFICA" (tm-cfg-prov-agente)
03 CONTABIL tipo-doc-iva-docmag-vendita Tipo doc IVA per vendite
04 CONTABIL tipo-doc-iva-docmag-resi-cli Tipo doc IVA per resi cliente

Schedulazione (Aglancio)

k-id-processo = 50031, k-tabella-statosyn = "SWL002". Lanciato con util-agprg. In batch usa periodo calcolato automaticamente da nr-mesi-bi2013. Aggiorna ARPSTPRC in chiusura.


Note

  • Lab Wilocs (az-personal = "WI"): se l'agente non e' trovato sul cliente, viene riletto COGGEANA (codice fallback hardcoded k-personal-lab-wilocs).
  • La cancellazione iniziale e' eseguita con DELETE SQL diretto (non TRUNCATE) per cancellare solo il periodo + azienda.
  • Per le bolle con tes-tipob = "R" (resi) viene chiamato cerca-buono per risolvere il riferimento bolla originale prima di cercare la commessa.
  • Source-computer/object-computer dichiarato come pc-sperry.