Vai al contenuto

COGO85 -- Stampa Riepilogo Ordini per Merce

Sorgente: cbl/cogo85.cbl | Program-ID: COGO85 | Tipo: Stampa

Menu: Ordini > Clienti > Stampe > Riepilogo x Merce, Ordini > Fornitori > Stampe > Riepilogo x Merce


Scopo

Stampa riepilogativa degli ordini raggruppata per prodotto (merce). Per ogni articolo elenca gli ordini che lo contengono, con quantita' ordinate, consegnate e residue. L'elaborazione avviene in due fasi: prima la creazione di un file di transito con i dati aggregati, poi la lettura del transito per la stampa ordinata.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB Tabella sistema Input Tabella di sistema
COGTESOR Testata ordini I-O Testata ordini (lettura + allineamento agente)
COGRIGOR Righe ordini Input Righe degli ordini
COGGEANA Anagrafica Input Anagrafica clienti/fornitori (per allineamento agente e stampa nome)
COGMERCI Anagrafica merci Input Descrizioni e unita' di misura prodotti
COGRACMC Raccolta merci Input Classificazioni alternative merci (per ordinamento per classificazione)
COGTABEL Tabella generica Input Tabelle di decodifica
COGTRANS File di transito I-O (temp) File temporaneo per aggregazione dati, due chiavi: chia1 (merce+ordine), chia2 (ordinamento)
FLSTA Stampa Output File di stampa

Copybook utilizzate

Copybook Descrizione
cogo85.select SELECT dei file
cogo85.fd File Description
cogo85.wrk Working storage generata
cogo85.prc Procedure generate da Screens
cogo85-01.scr Screen section
cogo85.decla Declaratives
utils22.cpy Interfaccia COGS22
utils50.cpy Interfaccia COGS50 (descrizione merce per stampa)
utils52.cpy Interfaccia COGS52 (accept campi)
utils54.cpy Interfaccia COGS54 (gestione stampa)
utils68.cpy Interfaccia COGS68W (ricerca merci)
utilu16.cpy Interfaccia COGU16W (gestione ordinamento/selezione merci)
cogtrans.k01 Chiave primaria transito
cogtrans.k02 Chiave secondaria transito (ordinamento)
cogracmc.k02 Chiave secondaria raccolta merci commesse
printer.cpy Routine di stampa
cogazien.cpy Dati azienda

Struttura del programma

Variabili principali

  • tab-maschera (tm-*): parametri di selezione (ordinamento, range merci, tipo ordini, anno, tipo stampa, selezione ordine).
  • w-tipo: "C" per clienti, "F" per fornitori (da wo-parametro).
  • n-release: contatore record scritti nel transito.
  • k-chr-stampa: 132 colonne (formato largo).
  • old-art: ultimo articolo stampato (per rottura di chiave).
  • tot-ord, tot-con, tot-res, tot-colli: totalizzatori per articolo.

Flusso principale

  1. Inizializzazione (apri): determina tipo (C/F) da parametro. Crea file di transito temporaneo (#$COGO85.<operatore>). Allinea agente sugli ordini clienti senza agente (a4, ciclo su COGTESOR).
  2. Selezione parametri (a-tm-ord ... a-tm-sel-ord): accept ordinamento stampa, range merci (da/a con ricerca S68), tipo ordini (aperti/chiusi/tutti), anno, tipo stampa, selezione tipo ordine.
  3. Conferma (a-richiesta-conferma): valida tutti i campi, inizializza COGS54 per la stampa.

Fase 1 -- Creazione transito (ela-00 ... ela-10-wr)

  1. Scansione ordini (ela-00-loop): scorre COGTESOR per l'anno e tipo selezionato. Filtra per tipo ordine (aperti/chiusi), e per ordini clienti filtra anche per sottotipo (standard, preventivi, riparazioni).
  2. Scansione righe (ela-10-loop): per ogni ordine valido, scorre COGRIGOR. Filtra per range merci (codice o classificazione). Se tm-tip-sta = "NO" (solo con residuo), esclude righe completamente evase.
  3. Aggregazione (ela-10-wr): per ogni riga valida, cerca un record di transito esistente per la stessa merce+ordine. Se esiste, somma le quantita'; altrimenti crea un nuovo record. L'ordinamento secondario (trs-chia2) viene impostato dalla classificazione merce (se ordinamento per classificazione) o dalla chiave primaria.

Fase 2 -- Stampa (st-00 ... st-99)

  1. Lettura transito (st-10-loop): legge il file di transito ordinato per trs-chia2. Per ogni cambio di articolo stampa i totali del precedente e l'intestazione del nuovo.
  2. Riga dettaglio : per ogni record, legge il nome cliente/fornitore da COGGEANA, stampa data, ordine, stato (A/C), unita' di misura, quantita' ordinate/consegnate/residue ed eventualmente colli.
  3. Totali articolo (wr-tot): stampa i totali per articolo.
  4. Descrizione articolo (wr-art): usa COGS50 per ottenere la descrizione formattata del prodotto.

Chiamate esterne

Programma Modalita' Scopo
COGS54 CALL Gestione stampa (inizializzazione e chiusura)
COGS50 CALL Descrizione merce formattata per stampa
COGU16W CALL Gestione ordinamento e selezione range merci
COGS68W CALL (via copy) Ricerca merci con interfaccia grafica
COGS52 CALL (via copy) Accept campi con validazione

Note

  • Il file di transito e' temporaneo (#$COGO85.<operatore>) e viene eliminato alla chiusura del programma.
  • All'avvio, il programma corregge automaticamente gli ordini clienti senza agente assegnato, copiando l'agente dall'anagrafica del cliente (ciclo in a4 su COGTESOR con REWRITE).
  • La selezione tipo ordine (standard/preventivi/riparazioni) e' disponibile solo per ordini clienti; per fornitori viene saltata.
  • La gestione dei colli nella stampa e' condizionata dalla configurazione aziendale (az-imballi = "SI").
  • Formato stampa: 132 colonne.