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¶
- Maschera di selezione (
a4): parametritm-data-da,tm-data-a,tm-cli-da,tm-cli-a. Default: anno corrente, tutti i clienti. - Apertura COGTRANS: il nome del file e' costruito dinamicamente concatenando
ext-tmp-dir+ext-os-slash+"#$cogp06."+wo-oper. - Scansione: posizionamento con start notmin su chiave
trs-cli = tm-cli-da; lettura sequenziale con rdnxt; uscita quandotrs-cli > tm-cli-a. - Filtro per data: vengono inclusi solo i record con
trs-datacompreso tratm-data-daetm-data-a. - Rottura di livello cliente (
fl-testa): alla prima riga di un nuovo cliente viene stampata l'intestazione con codice e descrizione cliente. - Rottura di livello vettore: per ogni nuovo vettore viene stampata la riga
tes-vettore. - Stampa riga dettaglio (
rigel): documento, data, codice merce, descrizione, quantita'. - Totale cliente: accumulato in
tot-tot(9(13)v999); stampato inrig-total 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.