COGO82 - Stampa Totali Ordinato per Merce
Panoramica
Programma di stampa che totalizza le quantita' ordinate per reparto/merce/cliente in un intervallo di date. Opera in due fasi: prima crea un file transito aggregando i dati dalle consegne ordini (COGCONOR), poi lo scansiona per produrre il report. Supporta espansione distinte base di tipo "D" e creazione cartellini opzionale.
| 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) |
File transito per aggregazione dati (in #$cogo82.{operatore}) |
| COGCONOR |
Input |
Consegne ordini (chiave 4: data + merce + chia1) |
| COGTESOR |
Input |
Testata ordini |
| COGMERCI |
Input |
Anagrafica merci |
| COGMERAP |
Input |
Dati merci aggiuntivi (reparto) |
| COGMERA2 |
Input |
Dati merci ulteriori (fab-gio per cartellino) |
| COGGEANA |
Input |
Anagrafica clienti/fornitori |
| COGDBASE |
Input |
Distinta base (per espansione componenti) |
| LOGFILE |
Output |
File di log |
| FLSTA |
I-O |
File stato |
Record transito (COGTRANS)
| Campo |
Tipo |
Descrizione |
| trs-chia1 |
gruppo |
Chiave primaria: rep + merce + zona + ana + ordine + rig-pro |
| trs-chia2 |
alternata |
fl-skip-cart + merce-cart + merce + chia1 |
| trs-rep |
x(01) |
Codice reparto |
| trs-merce |
x(09) |
Codice merce (gru+sot+cod) |
| trs-zona |
x(03) |
Zona cliente |
| trs-ana |
x(06) |
Anagrafica (tip+cod) |
| trs-ordine |
x(13) |
Riferimento ordine (tip+ann+num+pro) |
| trs-data |
9(08) |
Data consegna |
| trs-qta-ord |
9(07)v999 |
Quantita' ordinata |
| trs-merce-cart |
9(06) |
Fabbisogno giornaliero (per cartellino) |
| trs-fl-skip-cart |
x(01) |
Flag skip cartellino |
Copybook principali
| Copybook |
Descrizione |
| cogo82.select / .fd / .wrk / .decla / .prc |
File generati Screen Designer |
| cogo82-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) |
| utils68.cpy |
COGS68 (ricerca merce) |
| utildlg.cpy |
DIALOGS |
Chiamate a sottoprogrammi (CALL)
| Programma |
Scopo |
| COGS54 |
Selezione stampante / anteprima |
| COGS68 |
Ricerca merce (F8 su filtro prodotto) |
| RNEWCONF |
Lettura/modifica configurazioni |
Configurazioni (tab-config)
| Campo |
Descrizione |
| tm-cfg-rap-int |
Rapporto interno (per cartellini) |
| tm-cfg-bar-int |
Barcode interno (per cartellini) |
Variabili chiave
| Variabile |
Tipo |
Descrizione |
| tab-maschera |
01 |
Filtri: crea-cart, data-da/a, merce-da/a |
| w-rot-rep |
x(01) |
Rottura reparto corrente |
| w-rot-ana |
x(06) |
Rottura anagrafica corrente |
| w-rot-merce |
x(09) |
Rottura merce corrente |
| w-tot-mer |
9(07)v999 |
Totale per merce |
| w-tot-cli |
9(07)v999 |
Totale per cliente |
| n-release |
9(14) |
Contatore record nel transito |
Flusso operativo
1. Inizializzazione (apri)
- Legge configurazioni RNEWCONF
- Prepara ricerca merce (COGS68) per filtro da/a prodotto
2. Accept filtri (a4 -> a-tm-data-da, a-tm-data-a, a-tm-crea-cart, a-tm-merce-da, a-tm-merce-a)
- Date obbligatorie, merce facoltativa
- Cartellino visibile solo se configurato
3. Fase 1 - Creazione transito (ela-00-loop)
- Scansiona COGCONOR chiave 4: da tm-data-da con merce = low-values
- Per ogni consegna nell'intervallo date:
- Filtra solo ordini tipo "C" (cliente)
- Filtra per intervallo merce (se specificato)
- Legge testata ordine (COGTESOR)
- Legge merce (COGMERCI) e dati aggiuntivi (COGMERAP, COGMERA2)
- Se la merce e' un padre con distinta "D" (confezionamento): espande i componenti (a1-componenti)
- Altrimenti: scrive/aggiorna record su COGTRANS (aggrega quantita' per stessa chiave)
- Se
tm-crea-cart = "S" e configurazione cartellini presente: inserisce anche i dati per i cartellini (try-insert-pst)
4. Fase 2 - Stampa (st-00 -> st-10-loop)
- Riapre COGTRANS in input
- Scansione sequenziale con rotture su: reparto, merce, anagrafica
- Per ogni rottura reparto: intestazione con codice e descrizione
- Per ogni rottura merce: intestazione con codice, descrizione (testa1pro)
- Per ogni cliente: riga con codice, descrizione, UM, quantita' (rigel)
- Totali per merce (x5-totmer) e per cliente (x4-totcli)
- Personalizzazione Pasticceria Modenese: ordine per agente e zona, gestione skip cartellino
5. Chiusura
- Chiude file, elimina transito, libera stampante
Note tecniche
- Il transito e' un file indicizzato con chiave composita rep+merce+zona+ana+ordine+rig-pro. I record con stessa chiave vengono aggregati (ADD cor-qta TO trs-qta-ord).
- La chiave alternata trs-chia2 = fl-skip-cart + merce-cart + merce + chia1 e' usata per la gestione dei cartellini.
- Per la Pasticceria Modenese (k-personal-pasticceria-mo): gestione specifica della zona dell'agente e flag skip-cart.