Vai al contenuto

COGP88 — Stampa Vendite per Zona e Agente

Sorgente: cbl/cogp88.cbl | Program-ID: cogp88 | Tipo: Programma di stampa a spool (report sintetico) con file di transito EXTERNAL

Menu: Lab.Odont. > Statistiche > Vendite x Zona & Agente


Scopo

Stampa il fatturato per zona e agente in un periodo indicato, con dettaglio per cliente (codice, ragione sociale, tipologia, agente) e totali per zona e generali. Consente il raffronto con lo stesso periodo dell'anno precedente (colonne "Periodo Att." / "Periodo Prec." / "Differenza"). E' specifico per chi utilizza i reparti: l'elaborazione parte dai movimenti di magazzino delle bolle fatturate e li raggruppa per zona/cliente/reparto/mese nel file di transito.

Il programma gestisce anche una modalita' "bis" (attivata da una sequenza F9→F6→F7 sulla data inizio, flag fl-bis = "3") che elabora un secondo set di archivi da un percorso alternativo, e in caso di richiesta di dettaglio analitico (tm-dettaglio = "S") invoca COGP89 passando i parametri della maschera.


File e tabelle

File Copybook Accesso Scopo
feurtab cogfiles.cpy / cogp88.fd Lettura Tabella archivi (apertura via open-files-part)
COGTESBO (via .select) Lettura sequenziale per data (chia2) Testate bolla del periodo
COGMOMAG Lettura sequenziale (chia) Movimenti di magazzino della bolla
COGRACCO Lettura (chia2) Raccordo bolla→fattura
COGGEANA Lettura Anagrafica cliente (zona, agente)
COGAPPOG Lettura Tipologia cliente (app-tip-stt, es. "DR"/altro)
COGTABEL Lettura Descrizione zona (tipo 88), reparto (tipo 85)
COGMERCI / COGMERAP Lettura Merce (coeff. lavorazione), reparto di default merce
COGMOAGG Lettura Dati agg. movimento (sede, multisede)
COGMAGAZ Lettura Anagrafica sede/magazzino
cogtrans (FD interno trs-rec, EXTERNAL) I/O indicizzato temporaneo Accumulatore zona/cliente/reparto/mese → quantita'/lavorazioni/valore (#$COGP88.oper)
flsta flsta.cpy Stato file

Programmi chiamati (CALL)

Programma Scopo
RNEWCONF Lettura configurazione
COGS54 Gestione dispositivo di stampa
COGU10W Edit/cambio importi in divisa conto
COGS65W Ricerca anagrafica cliente/agente
COGE35 Selezione agente (F8)
COGF01 Selezione zona (F8)
COGF11 Selezione reparto (F8)
COGW36 (via send-w36) selezione sede (F8)
DTPRG Conversione data→progressivo (default periodo)
COGP89 Stampa dettaglio analitico per reparto (se tm-dettaglio = "S")
COGS52 / COGS95 / COGS60 Gestione controlli data/check/combo

Copybook incluse

cogp88.wrk, k-u10.cpy, wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy, utile35.cpy, utilncnf.cpy, utils52.cpy, utils54.cpy, utils65.cpy, utilu10.cpy, utilf01.cpy, utilf11.cpy, utilw36.cpy; linkage WCONT.CPY, WCONT1.CPY; screen cogp88-01.scr; procedure grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, sendw36.cpy, cogp88.prc, chiavi cogtesbo.k02, cogracco.k02, cogtrans.k01.


Parametri di configurazione (RNEWCONF)

Gruppo Chiave Variabile Effetto
ODONTO PERCORSO-SALVATAGGI tm-cfg-drive Drive di salvataggio (per modalita' "bis"/set archivi alternativo)
ODONTO PERCORSO-ARCHIVI tm-cfg-path-archivi Percorso archivi alternativo (genfiles.arc su drive-b)
PROGCOG08C euta-c027-gru-tra / euta-c027-sot-tra tm-cfg-gru-tra / tm-cfg-sot-tra Gruppo/sottogruppo merce "trasporto" da escludere dall'elaborazione
odonto gestione-multi-sede tm-cfg-multisede "S" = abilita il filtro per sede

Logica di elaborazione

  1. Apertura (apri/a4): apre gli archivi tramite tabella genfiles.arc (open-files-part), crea il transito EXTERNAL cogtrans, carica config e imposta il flag di drive (set-fl-d). Default: periodo dal 1° del mese corrente a fine mese.
  2. Filtri (accept vari): data inizio/fine, raffronto anno precedente, cliente, agente, zona, "dettaglio analitico per reparto?", reparto, sede (se multisede). F3 conferma; la sequenza F9/F6/F7 sulla data inizio attiva la modalita' bis (fl-bis).
  3. Stampa (a-fine-parametri → COGS54 → stampa): apre il dispositivo, poi stampa lancia b-lancia-elaborazione sull'archivio principale, ed eventualmente sul set archivi alternativo (modalita' bis), infine c-stampa.
  4. Elaborazione (b-lancia-elaborazioneb-elabora): elabora il periodo indicato e, se tm-raffronto = "S", ripete sull'anno precedente. b-elabora scandisce COGTESBO per data, considerando solo le bolle di tipo B/I/R/D, filtrando su cliente/zona/agente e (fuori modalita' bis) sul flag documento "D" secondo il percorso di elaborazione.
  5. Movimenti (b1-movimentib11-aggiorna): legge i movimenti COGMOMAG della bolla, scartando la merce "trasporto" e applicando il filtro reparto e sede. b11-aggiorna accumula nel transito quantita', lavorazioni (coeff. × qta) e valore, con segno negativo per i resi (tipo "R"), separando periodo attuale (indice 1) e precedente (indice 2).
  6. Stampa report (c-stampa): scandisce il transito ordinato per zona/cliente; a ogni rottura di cliente stampa la riga di dettaglio, a ogni rottura di zona il totale zona (con conteggio clienti Dr./altri), e alla fine il totale generale. c1-testa gestisce intestazioni e salti pagina.
  7. Dettaglio: se richiesto, chiama COGP89.
  8. Chiusura (fine/z-chiudi): chiude e cancella il transito.

Paragrafi chiave

Paragrafo Scopo
apri / a4 Inizializzazione, config, creazione transito EXTERNAL, default periodo
a-tm-* Accept dei filtri (data, raffronto, cliente, agente, zona, dettaglio, reparto, sede)
a-fine-parametri Validazione, apertura COGS54, avvio stampa, eventuale COGP89
stampa Orchestrazione: elaborazione principale, bis, stampa
b-lancia-elaborazione / b-elabora Scansione bolle del periodo (+ raffronto anno precedente)
b1-movimenti / b11-aggiorna Lettura movimenti e accumulo nel transito
c-stampa / c1-testa Stampa report con rotture cliente/zona e totali
c2-rottura-cliente / c2-rottura-zona / c2-totale Righe di dettaglio e totali
set-fl-d Determinazione del flag drive (percorso archivi)
open-files-part Apertura archivi da tabella genfiles.arc
x-controlla-parametri / x-controlla-tm-* Validazione campi
x99-cfg Lettura configurazione

Note

  • Il file cogtrans e' dichiarato EXTERNAL: la chiave trs-chia1 e' zona+cliente+reparto+mese e ogni elemento trs-ele (occurs 2) tiene i totali del periodo attuale e precedente.
  • La merce "trasporto" (gruppo/sottogruppo da configurazione PROGCOG08C) viene esclusa dai movimenti.
  • La modalita' "bis" (fl-bis = "3") elabora un secondo archivio genfiles.arc da un drive/percorso alternativo per consolidare piu' ambienti; e' attivata da una sequenza nascosta di tasti F9→F6→F7 sul campo data inizio.
  • Il sorgente usa GO TO e PERFORM ... THRU: codice legacy pre-convenzioni.