COGF82 - Stampa Trasporti (Launcher)¶
Sorgente: cbl/cogf82.cbl | Program-ID: COGF82 | Tipo: Launcher / Dispatcher
Menu: Vendite > Trasporti > Stampa Trasporti
Descrizione¶
Programma di lancio per la stampa dei trasporti. Legge il codice di personalizzazione aziendale (az-personal) da cogazien.cpy e decide quale variante del programma eseguire:
- Se esiste una versione personalizzata
COGF82{az-personal}.cob, la esegue. - Altrimenti esegue la versione standard
COGF82NO.
Il programma stesso non contiene logica applicativa: e' un puro dispatcher.
Logica di dispatching¶
se az-personal non e' vuoto:
chiama COGF82{az-personal} (es. COGF82GR per personalizzazione "GR")
se non trovato: chiama COGF82NO
altrimenti:
chiama COGF82NO
Le versioni note presenti nel repository:
| Programma | File | Descrizione |
|---|---|---|
| COGF82NO | cbl/cogf82no.cbl |
Versione standard |
| COGF82GR | cbl/cogf82gr.cbl |
Versione personalizzata "GR" |
COGF82NO - Versione Standard¶
Descrizione¶
Stampa l'elenco delle consegne (bolle di trasporto) nel periodo selezionato, raggruppate per vettore con subtotali di colli e peso.
Tabelle utilizzate¶
| Tabella | Copybook/Layout | Accesso | Descrizione |
|---|---|---|---|
| FEURTAB | cogfiles.cpy | Random | Tabella generale di sistema |
| File da cogf82.select | (da cogf82.fd/select) | Dynamic | Testate bolle / documenti di trasporto |
| COGCONTA | COGCONTA.CPY | Random | Parametri esercizio contabile |
| cogtrans | Inline (trs-rec) | Dynamic | File temporaneo dati trasporti elaborati |
| FLSTA | flsta.cpy | Output | File di stampa |
Il file temporaneo cogtrans e' costruito in ext-tmp-dir con nome #$COGF82_{operatore}.
Struttura maschera (cogf82-01.scr)¶
| Campo (tab-maschera) | Tipo | Descrizione |
|---|---|---|
tm-data-par |
9(08) | Data partenza consegne (AAAAMMGG) |
tm-data-arr |
9(08) | Data arrivo consegne (AAAAMMGG) |
tm-note |
X(2000) | Note libere (200 righe x 60 caratteri) |
Flusso di elaborazione (COGF82NO)¶
- Inizializzazione: costruisce il path del file temporaneo, legge dati azienda.
- Maschera parametri: richiede data partenza e data arrivo (con calendario F8). I valori sono proposti alla data odierna.
- Conferma (F3):
a-richiesta-confermavalida i parametri. - Elaborazione: scansiona le bolle di trasporto nel periodo, scrive i record nel file temporaneo
cogtrans(ordinati per vettore). - Stampa: chiama
COGS54(larghezza 80 colonne). Scorrecogtranse produce le righe di dettaglio raggruppate per vettore (testa-vet), con subtotali colli/peso per vettore e totale generale.
Contenuto riga di dettaglio (rigel)¶
data consegna | N.ordine | codice cliente | denominazione cliente | provincia | colli | peso | N.DDT
Paragrafi principali (COGF82NO)¶
| Paragrafo | Funzione |
|---|---|
apri |
Inizializzazione, path file temporaneo |
a4 |
Reset maschera con date odierne |
a-tm-data-par |
Accept data partenza |
a-tm-data-arr |
Accept data arrivo |
a-richiesta-conferma |
Validazione e avvio elaborazione |
| Loop elaborazione | Scansione bolle e scrittura cogtrans |
| Loop stampa | Lettura cogtrans, stampa per vettore |
intesta |
Intestazione pagina stampa |
Chiamate a sottoprogrammi (COGF82NO)¶
| Programma | Scopo |
|---|---|
| COGS54 | Gestione stampa (selezione stampante / anteprima), larghezza 80 colonne |
| COGS52 | Input date con calendario |
| UTILS09 | Utilities varie |
| UTILU09 | Utilities generali |
| UTILU10 | Utilities generali |
Copybook principali (COGF82NO)¶
cogfiles.cpy- Layout FEURTABcogf82.wrk- Working storage (da Screen Designer)COGCONTA.CPY- Parametri esercizio contabileutils52.cpy,utilu10.cpy,utils54.cpy,utils09.cpy,utilu09.cpy- Utilitiesk-tipi-cogtabel.cpy- Costanti tipi COGTABELcogazien.cpy- Dati aziendawstato.cpy,wgrave.cpy,wopenf.cpy,wnscr.cpy- Working storage standard
Note implementative¶
COGF82usammsubw.cpy(struttura sottoprogramma): e' chiamato come subroutine dal menu.- La chiamata alla variante personalizzata usa
CALL name-call ON OVERFLOWper gestire il caso in cui la versione personalizzata non esista. - Dopo l'esecuzione del sottoprogramma,
COGF82esegueCANCEL name-callper liberare la memoria. - Larghezza stampa COGF82NO: 80 colonne.