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¶
- Apertura (
apri/a4): apre gli archivi tramite tabellagenfiles.arc(open-files-part), crea il transito EXTERNALcogtrans, carica config e imposta il flag di drive (set-fl-d). Default: periodo dal 1° del mese corrente a fine mese. - 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). - Stampa (
a-fine-parametri→ COGS54 →stampa): apre il dispositivo, poistampalanciab-lancia-elaborazionesull'archivio principale, ed eventualmente sul set archivi alternativo (modalita' bis), infinec-stampa. - Elaborazione (
b-lancia-elaborazione→b-elabora): elabora il periodo indicato e, setm-raffronto = "S", ripete sull'anno precedente.b-elaborascandisce 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. - Movimenti (
b1-movimenti→b11-aggiorna): legge i movimenti COGMOMAG della bolla, scartando la merce "trasporto" e applicando il filtro reparto e sede.b11-aggiornaaccumula 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). - 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-testagestisce intestazioni e salti pagina. - Dettaglio: se richiesto, chiama COGP89.
- 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
cogtranse' dichiarato EXTERNAL: la chiavetrs-chia1e' zona+cliente+reparto+mese e ogni elementotrs-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 archiviogenfiles.arcda 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 TOePERFORM ... THRU: codice legacy pre-convenzioni.