Vai al contenuto

COGG53 — Stampa Commesse

Sorgente: cbl/cogg53.cbl | Program-ID: COGG53 | Tipo: Programma GUI (maschera + stampa)

Menu: Vendite > Commesse > Stampe > Anagrafica Commesse AND Vendite > Commesse > Stampe > Situazione per Data


Scopo

Stampa la situazione delle commesse. Supporta due modalita' di stampa (Anagrafica e Situazione per Data) e numerosi filtri: commessa specifica, cliente/fornitore, stato (Tutte/Aperte/Acquisite/Chiuse/Disabilitate), intervallo date, intervallo merci, classificazione ISO. Gestisce la suddivisione per sottocommessa e cantiere. Produce report con testata commessa, dettaglio movimenti, e totali costi/fatturato.


Struttura della maschera

Screen: cogg53-01.scr

Campo Variabile Tipo Note
Codice commessa tm-tsc x(10) Vuoto = tutte
Descrizione breve tm-des-breve x(40) Auto da COGTESCM
Stato tm-stato x(01) T=Tutte, A=Aperte, Q=Acquisite, C=Chiuse, D=Disabilitate
Tipo stampa tm-tipo-stampa x(01) A=Anagrafica, altro=Situazione
Suddividi x sottocommessa tm-sottocommessa x(01) S/N, default N
Suddividi x cantiere tm-cantiere x(01) S/N, default N
Ordinamento merce tm-ord-mer x(01) A=Cod.avanzato, D=Descrizione, default codice
Da merce tm-da-merce (gru/sot/cod) x(02)+x(02)+9(05) Filtro inizio
A merce tm-a-merce (gru/sot/cod) x(02)+x(02)+9(05) Filtro fine
Da merce descrizione tm-da-merce-des x(40)
A merce descrizione tm-a-merce-des x(40)
Data filtro tm-data 9(08) Redefines: tm-data-d, tm-data-a, tm-data-q, tm-data-c
ISO classe tm-iso-classe x(01) Filtro classe ISO (tab A3)
ISO gruppo tm-iso-gruppo x(02) Filtro gruppo ISO (tab A4)
Da data tm-da-data 9(08) Intervallo date movimenti
A data tm-a-data 9(08) Default data odierna
Rif. cliente tm-ana-cod-c 9(05) Codice cliente (tipo 'C')
Rif. fornitore tm-ana-cod-f 9(05) Codice fornitore (tipo 'F')

Logica di elaborazione

Inizializzazione (apri)

  1. Valuta se chiamato come subroutine (g53-called = k-program-id): in tal caso, carica i parametri dalla linkage util-g53 (commessa, parametro stampa).
  2. Crea due file di transito temporanei (cogtrans e cogtrans2) nella directory temp.
  3. z-99-init-program, ctr-abil, rd-azi, open-files, u-tipidoc.
  4. Legge la configurazione da RNEWCONF:
  5. COMMESSE.CNF: tipo numerazione commesse/sottocommesse, margini stampa, formato stampa (PCL/PRESCRIBE).
  6. QUALITA.CNF: descrizione qualita'.
  7. Inizializza COGU10W per la gestione valute/divise.

Modalita' di chiamata

  • Da menu: w-parametro vuoto, mostra la maschera completa.
  • Come subroutine (lnk-g53-fun = "stampa"): precompila la commessa da lnk-g53-com-tsc, salta alla selezione tipo stampa.
  • Il parametro w-parametro puo' forzare il formato di stampa.

Sequenza di accept: tm-tsc -> tm-ana-cod-c -> tm-ana-cod-f -> tm-stato -> tm-data-d -> tm-data-a -> tm-data-q -> tm-data-c -> tm-tipo-stampa -> tm-sottocommessa -> tm-cantiere -> tm-ord-mer -> tm-da-merce -> tm-a-merce -> tm-iso-classe -> tm-iso-gruppo -> tm-da-data -> tm-a-data -> conferma.

I campi sono attivati/disattivati dinamicamente in base ai valori degli altri campi (tramite z-cambia-controlli).

Ricerca commesse (load-ricerca)

  1. Prepara i file di transito (prepara-transiti).
  2. Se commessa specifica (tm-tsc <> spaces): legge la singola commessa da COGTESCM e scrive nel transito.
  3. Se tutte le commesse: esegue start-testata con la chiave appropriata in base ai filtri:
  4. Per codice commessa (chiave 1)
  5. Per cliente/fornitore (chiave 3)
  6. Per stato aperte/chiuse con data (chiave 5 = data chiusura, chiave 7 = stato)
  7. Scorre tutte (chiave 1)
  8. Per ciascuna commessa, bool-stop-read-testata valuta se continuare la lettura. bool-commesse-stato verifica lo stato in funzione del filtro richiesto.
  9. Per ogni commessa valida, write-transito2 scrive nel file transito 2.

Logica di filtro per stato (bool-commesse-*)

  • Acquisite: verifica tsc-stato = "Q" e, se richiesta una data, che tsc-data-acq < tm-data.
  • Aperte: verifica tsc-stato = "A" e, se richiesta una data, che tm-data <= tsc-data-ape.
  • Chiuse: verifica tsc-stato = "C" e, se richiesta una data, usa la chiave 5 su tsc-data-chi.
  • Disabilitate: tsc-stato = "D".

Filtro merce (controlla-merce)

Controlla che la merce sia nell'intervallo richiesto: - Per codice avanzato (tm-ord-mer = 'A'): confronta rcm-cod-ava con u16-cma-da/u16-cma-a. - Per descrizione (tm-ord-mer = 'D'): confronta mer-descr con tm-da-merce-des/tm-a-merce-des. - Per codice standard: confronta w-merce con tm-da-merce/tm-a-merce. - Per ISO: verifica mer-iso-classe e mer-iso-gruppo.

Stampa (st-stampa)

Chiamata dopo load-ricerca se fl-ok-ricerca = k-yes. Legge i file di transito e produce il report tramite COGS54. La stampa include:

  • Testata: testa1 (data/pagina), testa2 (codice commessa), testa3 (cantiere), testa3-det (sottocommessa+cantiere), testa4 (cliente), testa5 (date acquisizione/apertura/chiusura contratto), testa6 (giorni previsti/chiusura/importo preventivato), testa7 (responsabile), testa8 (capo squadra), testa9 (squadra/num.operai), testa-note.
  • Corpo: testa-corpo (intestazione colonne), riga1 (data, merce, descrizione, UM, quantita', prezzo, totale costi, totale fatturato).
  • Coda: coda1 (totali costi e fatturato per commessa).

Gli importi vengono gestiti tramite COGU10W per la conversione valute.

Formato stampa

Determinato da tm-cfg-formato-stampa: - "B" = PRESCRIBE, 220 caratteri per riga, max 36 righe. - Altro = PCL, 136 caratteri per riga, max 26 righe.


File utilizzati

File logico Chiave Uso
FEURTAB (COGTABEL) tipo + cod Tabelle ISO (A3, A4)
COGTESCM chiave 1 (tsc-cod), chiave 3 (tsc-ana), chiave 5 (tsc-data-chi), chiave 7 (tsc-stato) Testate commesse
COGGEANA ana-tipo + ana-cod Anagrafica clienti/fornitori
COGMERCI mer-chia Anagrafica merci
COGRACMC chiave 2 Codici merce avanzati
LODTMDES temp file File temporaneo di transito per documenti
LODTRDES temp file File temporaneo di transito righe
COGTRANS temp file File transito 1 (dettaglio movimenti per commessa)
COGTRANS2 temp file File transito 2 (elenco commesse da stampare)
FLSTA File stampa output

Programmi chiamati

Programma Modalita' Scopo
COGS54 CALL Gestione anteprima e stampa
COGS65W CALL (via z-s65) Ricerca/selezione cliente e fornitore
COGS68W CALL (via z-s68) Formattazione codice merce
COGU10W CALL Gestione valute/importi/conversioni
COGU35W CALL (via call-u35) Ricerca/selezione commessa
COGG32 CALL (via call-g32-generic) Gestione commesse
COGG56 CALL (via call-g56-generic) Gestione sottocantieri
WIN080 CALL Ricerca classi/gruppi ISO
RNEWCONF CALL Lettura configurazione
COGZDEW CALL (via copy) Gestione ZDE (documenti)

Copybook principali

Copybook Contenuto
k-personal.cpy Costanti personalizzazione
utilu10.cpy / wrk-u10.cpy / k-u10.cpy Gestione valute COGU10W
utilu16.cpy Gestione ordinamento/filtro merce
utilu20.cpy Utility generiche
utilu35w.cpy Ricerca commesse COGU35W
utilu70.cpy Utility generiche
utils52.cpy Subroutine calendario
utils54.cpy Subroutine stampa COGS54
utils65.cpy Subroutine ricerca anagrafica
utils68.cpy Subroutine formattazione merce
utildlg.cpy Gestione dialoghi
utilcogl61.cpy Utility COGL61
utilw80.cpy Ricerca ISO WIN080
utilncnf.cpy Lettura configurazione RNEWCONF
utilzde.cpy Gestione ZDE
utilg32.cpy Linkage COGG32
utilg53.cpy Linkage COGG53 (parametri di chiamata)
utilg56.cpy Linkage COGG56
wtipidoc.cpy Tipi documento
UTILWZ01.CPY Utility WZ01
u10-fun.cpy Funzioni supporto COGU10
lodtmdes.cpy / lodtrdes.cpy Record file temporanei

Campo Pic Descrizione
filler x(338) Area riservata
lnk-g53-parametro x(01) Parametro formato stampa
lnk-g53-exception s9(05) comp-1 Eccezione
lnk-g53-fun x(13) Funzione richiesta (es. "stampa")
lnk-g53-caller x(13) Programma chiamante
lnk-g53-called x(13) Programma chiamato
lnk-g53-com-tsc x(10) Codice commessa
lnk-g53-com-sot x(10) Codice sottocommessa

Struttura file di transito (COGTRANS)

Campo Pic Descrizione
trs-com-tsc x(10) Codice commessa
trs-sot-cod x(10) Codice sottocommessa
trs-cantiere Cantiere (mgp-tip + mgp-cod)
trs-data 9(08) Data movimento
trs-merce gru+sot+cod Codice merce
trs-doc tip+cod Riferimento documento
trs-des1 / trs-des2 x(40) Descrizioni
trs-um x(02) Unita' di misura
trs-currency x(02) Divisa
trs-qta 9(07)v9(03) Quantita'
trs-pre s9(12)v9(06) Prezzo unitario
trs-val s9(12)v9(02) Valore totale
trs-fatt tip+ann+num Riferimento fattura

Configurazione RNEWCONF

Percorso Chiave Uso
COMMESSE.CNF TIPO-NUMERAZIONE-COMMESSE Numerazione alfanumerica/numerica
COMMESSE.CNF MARGINE-V-STAMPA-DMT Margine verticale stampa
COMMESSE.CNF MARGINE-H-STAMPA-DMT Margine orizzontale stampa
COMMESSE.CNF FORMATO-STAMPA-COMMESSE Formato: B=PRESCRIBE, altro=PCL
COMMESSE.CNF TIPO-NUMERAZIONE-SOTTOCOMMESSE Numerazione sottocommesse
QUALITA.CNF (program-id) Descrizione campo qualita'