Vai al contenuto

COGP06 - Stampa Trasporti per Cliente

Descrizione

Programma di stampa che produce il riepilogo delle quantita' trasportate per cliente in un dato periodo. Scansiona l'archivio COGTRANS (file indicizzato temporaneo) e raggruppa i record per cliente e vettore, stampando per ogni bolla: documento di trasporto, data, codice merce, descrizione e quantita'. Al termine di ogni cliente viene stampato un totale cumulativo.

Tipo: Report interattivo con selezione parametri su periodo e range clienti.

Menu: Vendite > Stampe > Q.ta Trasportate x Cliente

Tabelle utilizzate

Tabella Accesso Descrizione
FEURTAB (cogtabel) Input Tabella parametri generali azienda
COGTRANS Input Archivio movimenti di trasporto (file indicizzato su trs-chia: cliente + vettore + bolla + merce)
COGGEANA Input Anagrafica generale (descrizione cliente)
COGMERCI Input Anagrafica merci (descrizione merce)
FLSTA Output File di stampa

Copybook principali

Copybook Descrizione
cogp06.select SELECT per i file del programma
cogp06.fd File description
cogp06.wrk Working storage generata da Screens
cogp06-01.scr Screen section maschera di selezione
cogp06.decla Declaratives per gestione errori I/O
cogfiles.cpy Descrizione record FEURTAB
flsta.fd / flsta.cpy File di stampa
cogazien.cpy Dati azienda corrente
utils52.cpy Utility gestione date (COGS52W)
utils54.cpy Utility gestione stampante (COGS54)
utils65.cpy Utility selezione anagrafica (COGS65W)

Struttura record COGTRANS

La chiave primaria trs-chia e' composta da: - trs-cli (9(05)): codice cliente - trs-vet (x(30)): descrizione vettore - trs-bolla (mag 9(01) + anno 9(04) + tipo x(01) + numero 9(06)): riferimento bolla - trs-merce (gru x(02) + sot x(02) + cod 9(05)): codice merce

Campi dati: trs-data (data trasporto), trs-qta (quantita' trasportata 9(08)v999).

Flusso di elaborazione

  1. Maschera di selezione (a4): parametri tm-data-da, tm-data-a, tm-cli-da, tm-cli-a. Default: anno corrente, tutti i clienti.
  2. Apertura COGTRANS: il nome del file e' costruito dinamicamente concatenando ext-tmp-dir + ext-os-slash + "#$cogp06." + wo-oper.
  3. Scansione: posizionamento con start notmin su chiave trs-cli = tm-cli-da; lettura sequenziale con rdnxt; uscita quando trs-cli > tm-cli-a.
  4. Filtro per data: vengono inclusi solo i record con trs-data compreso tra tm-data-da e tm-data-a.
  5. Rottura di livello cliente (fl-testa): alla prima riga di un nuovo cliente viene stampata l'intestazione con codice e descrizione cliente.
  6. Rottura di livello vettore: per ogni nuovo vettore viene stampata la riga tes-vettore.
  7. Stampa riga dettaglio (rigel): documento, data, codice merce, descrizione, quantita'.
  8. Totale cliente: accumulato in tot-tot (9(13)v999); stampato in rig-tot al cambio cliente.

Chiamate a sottoprogrammi

Programma Scopo
COGS54 Gestione stampante (apertura, chiusura, anteprima)
COGS52W Gestione campo data con calendario (F8)
COGS65W Selezione anagrafica cliente con ricerca avanzata (F9)

Note tecniche

  • Il file COGTRANS e' un file temporaneo generato da un programma precedente nella catena; il nome e' basato sull'operatore corrente (wo-oper) per evitare conflitti multi-utente.
  • La larghezza di stampa e' 118 caratteri circa (formato rigel).
  • La scansione usa la chiave primaria per il posizionamento per cliente; il filtro data e' applicato a livello applicativo durante la lettura sequenziale.