COGO74 — Elenco Fabbisogni¶
Sorgente: cbl/cogo74.cbl | Program-ID: COGO74 | Tipo: Programma GUI (maschera + stampa)
Menu: Ordini > Clienti > Stampe > Elenco Fabbisogni
Scopo¶
Stampa l'elenco dei fabbisogni di materiali derivanti da un ordine cliente. Per ciascuna riga dell'ordine, esplode le distinte base (attraverso consegne e movimenti DB) e produce un riepilogo consolidato dei componenti necessari con quantita' totali, raggruppati per codice merce. Utilizza un file di transito indicizzato per l'aggregazione.
Struttura della maschera¶
Screen: cogo74-01.scr
| Campo | Variabile | Tipo | Note |
|---|---|---|---|
| Anno ordine | tm-anno |
9(04) | Obbligatorio |
| Numero ordine | tm-numero |
9(07) | Obbligatorio |
| Progressivo | tm-progr |
9(01) | Facoltativo |
Logica di elaborazione¶
Inizializzazione (apri)¶
z-99-init-program,ctr-abil,rd-azi,open-files.- Crea un file di transito indicizzato temporaneo (
#$cogo74.<operatore>) nella directory temp. Se gia' esistente, segnala "Funzione gia' in uso". - Legge la configurazione stampa da RNEWCONF (percorso
PRNTORDN00): formato pagina, data consegna, intestazione, FAX, descrizione aggiuntiva, numero colli, codice merce cliente.
Modalita' di chiamata¶
- Da menu: mostra la maschera per l'input dei parametri.
- Come subroutine (
lku-nome = 'COGO74'): i dati arrivano dalla linkage (lku-anno,lku-numero,lku-progr), salta direttamente alla stampa.
Validazione (a-richiesta-conferma / x-imposta-conferma)¶
Verifica che anno/numero siano compilati e che l'ordine esista su COGTESOR (tipo 'C').
Creazione archivio di transito (s3-wr-trs)¶
Per ogni riga ordine (COGRIGOR):
- Legge la merce (COGMERCI) per determinarne il tipo distinta.
- Merce semplice (
mer-padre <> "P"emer-tipo-distinta <> "V"): scrive/aggiorna direttamente il record transito con la merce e la quantita' ordinata. - Distinta base padre (
mer-padre = "P"): esplode le consegne (COGCONOR), per ciascuna legge i movimenti di distinta base (COGMOVDB, tipo"CC") e somma le quantita' dei componenti nel transito. - Distinta base virtuale (
mer-tipo-distinta = "V"): legge i movimenti di distinta base (COGMOVDB, tipo"VO") e calcolamdb-qta * ror-qtaordper i componenti. - Per ogni merce, legge il codice avanzato da COGRACMC.
Stampa (sta-20-loop)¶
Legge sequenzialmente il file di transito e produce una riga per componente con:
- Codice merce formattato (via COGS68W)
- Unita' di misura
- Quantita' totale
L'intestazione include: data, azienda, numero pagina, dati cliente, riferimenti ordine, note. In coda stampa una tabella per annotazioni manuali (6 righe).
La stampa e' gestita tramite COGS54 (anteprima/conferma).
Chiusura (fine)¶
Chiude e cancella il file di transito temporaneo.
File utilizzati¶
| File logico | Variabile/Select | Chiave | Uso |
|---|---|---|---|
| FEURTAB (COGTABEL) | feurtab |
euta-tipo + euta-cod |
Configurazione stampa |
| COGTESOR | via cogo74.select |
tor-chia1 |
Testata ordini clienti |
| COGRIGOR | via cogo74.select |
ror-chia1 |
Righe ordini |
| COGCONOR | via cogo74.select |
cor-chia5 |
Consegne ordini (per distinte base) |
| COGMOVDB | via cogo74.select |
mdb-chia1 (start notmin) |
Movimenti distinta base |
| COGMERCI | via cogo74.select |
mer-chia |
Anagrafica merci |
| COGGEANA | via cogo74.select |
ana-tipo + ana-cod |
Anagrafica clienti |
| COGRACMC | cogracmc.k02 |
chiave 2 | Codici merce avanzati |
| COGTRANS | cogtrans (temp) |
trs-chia1 (= merce) |
File di transito (aggregazione fabbisogni) |
| FLSTA | flsta.fd |
File stampa output |
Programmi chiamati¶
| Programma | Modalita' | Scopo |
|---|---|---|
| COGS54 | CALL | Gestione anteprima e stampa |
| COGS68W | CALL (via z-s68) | Formattazione codice merce |
| READCONF / RNEWCONF | CALL | Lettura configurazione da RNEWCONF |
Copybook principali¶
| Copybook | Contenuto |
|---|---|
utils52.cpy |
Subroutine calendario |
utils54.cpy |
Subroutine stampa COGS54 |
utils68.cpy |
Subroutine formattazione merce COGS68 |
utilm96.cpy |
Utility per riferimenti ordine (m96-riga-ordine) |
utilrcnf.cpy |
Lettura configurazione READCONF/RNEWCONF |
cogracmc.k02 |
Chiave secondaria COGRACMC |
cogazien.cpy |
Dati azienda |
Struttura file di transito¶
Il file temporaneo cogtrans ha la seguente struttura:
| Campo | Pic | Descrizione |
|---|---|---|
trs-chia1 (= trs-merce) |
Chiave primaria = codice merce | |
trs-gru |
x(02) | Gruppo merce |
trs-sot |
x(02) | Sottogruppo merce |
trs-cod |
9(05) | Codice merce |
trs-desc |
x(40) | Descrizione merce |
trs-um |
x(02) | Unita' di misura |
trs-codava |
x(20) | Codice avanzato |
trs-qta |
9(06)v999 | Quantita' totale aggregata |