COGO83 - Stampa Ordinato Confezioni per Reparto
Panoramica
Programma di stampa che elabora gli ordini contenenti confezioni (prodotti con distinta base) e produce un report organizzato per reparto, cliente e raggruppamento. Opera in tre fasi: creazione transito dati aggregati, stampa dettaglio per cliente, stampa totali per cliente padre e per scatola. Utilizza tre file transito temporanei per le diverse sezioni del report.
| Menu |
Percorso |
| Ordini |
Clienti > Stampe |
Struttura del programma
File e tabelle utilizzati
| File/Tabella |
Tipo |
Descrizione |
| FEURTAB |
Input |
Tabella di sistema |
| COGTRANS |
I-O (temp) |
Transito dettaglio per reparto/ana/ordine/raggruppamento (in #trso83.{oper}) |
| COGTRANS1 |
I-O (temp) |
Transito totali per reparto/tipo-padre/padre/raggruppamento (in #trs1o83.{oper}) |
| COGTRANS2 |
I-O (temp) |
Transito totali per merce imballo (in #trs2o83.{oper}) |
| COGCONOR |
Input |
Consegne ordini |
| COGTESOR |
Input |
Testata ordini |
| COGMERCI |
Input |
Anagrafica merci |
| COGDBASE |
Input |
Distinta base |
| COGGEANA |
Input |
Anagrafica clienti/fornitori |
| COGTABEL |
Input |
Tabella generica (tipo 17 = raggruppamenti confezione) |
| FLSTA |
I-O |
File stato |
Record transito COGTRANS (dettaglio)
| Campo |
Tipo |
Descrizione |
| trs-chia1 |
gruppo |
Chiave: rep + ana(tip+cod) + ordine(tip+ann+num+pro) + rag-1 |
| trs-qta-ord |
9(07)v999 |
Quantita' ordinata |
| trs-chia2 |
alternata dup |
tipo-padre + padre + ragg |
| trs-cli |
x(06) |
Cliente effettivo (se diverso dall'intestatario) |
| trs-data |
9(08) |
Data consegna |
Record transito COGTRANS1 (totali per padre)
| Campo |
Tipo |
Descrizione |
| trs1-chia1 |
gruppo |
Chiave: rep + tipo-padre + padre + rag(rag-2 + rag-1) |
| trs1-cli |
x(06) |
Cliente |
| trs1-tot |
9(07)v999 |
Totale quantita' |
| trs1-chia2 |
alternata |
rag + rep + tipo-padre + padre |
Record transito COGTRANS2 (totali per scatola)
| Campo |
Tipo |
Descrizione |
| trs2-chia1 |
gruppo |
Chiave: merce-imb (gru+sot+cod) |
| trs2-qta |
9(07)v999 |
Quantita' totale |
Copybook principali
| Copybook |
Descrizione |
| cogo83.select / .fd / .wrk / .decla / .prc |
File generati Screen Designer |
| cogo83-01.scr |
Screen section |
| k-personal.cpy |
Personalizzazioni aziendali |
| cogazien.cpy |
Dati azienda |
| utilncnf.cpy |
Configurazioni RNEWCONF |
| utils52.cpy |
COGS52 (date) |
| utils54.cpy |
COGS54 (stampante) |
| utils50.cpy |
COGS50 |
| utilu10.cpy |
COGU10W (divisa conto) |
| utilu12.cpy |
COGU12 |
| utils25.cpy |
COGS25 |
| utilw80.cpy |
WIN080 (ricerca reparto) |
Chiamate a sottoprogrammi (CALL)
| Programma |
Scopo |
| COGS54 |
Selezione stampante / anteprima |
| WIN080 |
Ricerca reparto (F8) |
| COGU10W |
Recupero divisa conto |
| RNEWCONF |
Lettura/modifica configurazioni |
Configurazioni
| Campo |
Descrizione |
| tm-cfg-cau-pnota |
Causale picking note |
| tab-config (tm-cfg-merce-paste) |
Lista merci confezione (fino a 50 codici merce) |
Variabili chiave
| Variabile |
Tipo |
Descrizione |
| tab-maschera |
01 |
Filtri: data-da/a, repa-cod, rep-rag, solo-tot-rag, sca-sca, doc |
| tm-solo-tot-rag |
x(01) |
Se "S": stampa solo totali raggruppamento |
| tm-sca-sca |
x(01) |
Se "S": include sezione scatole |
| tm-rep-rag |
x(01) |
Se "S": organizza per raggruppamento |
| fl-mer-trovato |
x(01) |
Flag merce trovata nella configurazione |
| fl-pagina |
x(01) |
Flag rottura pagina |
| w-rot-rep |
x(01) |
Rottura reparto corrente |
| w-rot-rag |
x(04) |
Rottura raggruppamento corrente |
Flusso operativo
1. Inizializzazione (apri)
- Lettura configurazioni (x99-src-confi, x99-confi)
- Creazione tre file transito temporanei
- Recupero divisa conto (COGU10W)
2. Accept filtri (a4 -> a-tm-data-da, a-tm-data-a, a-tm-repa-cod, a-tm-rep-rag, a-tm-solo-tot-rag, a-tm-sca-sca)
3. Fase 1 - Creazione transiti (a1-ricerca-data)
- Scansiona COGCONOR per intervallo date
- Per ogni ordine con confezioni:
- Scrive dettaglio su COGTRANS (rep+ana+ordine+raggruppamento)
- Aggrega totali su COGTRANS1 (per padre+raggruppamento)
- Aggrega totali scatole su COGTRANS2 (per merce imballo)
4. Fase 2 - Stampa dettaglio (st-00 -> st-00-loop)
- Scansione COGTRANS con rotture su: reparto, anagrafica, ordine, raggruppamento
- Intestazioni per reparto (x1-intesta), testata colonne (x2-intesta), cliente/ordine (x3-intcli)
- Per ogni riga: descrizione raggruppamento (da COGTABEL tipo 17) e quantita'
- Saltata se tm-solo-tot-rag = "S"
5. Fase 3a - Stampa totali per padre (st-01 -> st-01-loop)
- Scansione COGTRANS1 con rotture su: reparto, padre
- Per ogni padre: intestazione con codice e descrizione
- Per ogni raggruppamento: riga con totale (x4-riga)
- Saltata se tm-solo-tot-rag = "S"
6. Fase 3b - Stampa totali per raggruppamento (st-02 -> st-02-loop)
- Scansione COGTRANS1 chiave 2 (rag+rep+tipo-padre+padre)
- Aggregazione per raggruppamento con totali
7. Fase 4 - Stampa totali scatole (st-03)
- Scansione COGTRANS2
- Per ogni merce imballo: codice, descrizione e quantita' totale
Note tecniche
- I tre file transito separano le diverse aggregazioni: per cliente/ordine, per padre, per imballo.
- La configurazione contiene fino a 50 codici merce confezione (k-max-ele-cfg = 50) che identificano le merci da considerare.
- Il raggruppamento confezione (rag-1) viene letto dalla tabella generica tipo 17 tramite COGTABEL.
- La sezione scatole (st-03) puo' essere stampata indipendentemente quando tm-sca-sca = "S".