Vai al contenuto

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.

Posizione nel menu

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.