Vai al contenuto

COGQ76 - Lotti Aperti x Cliente / Riepilogo Costi per Lotto

Intestazione

Campo Valore
Programma COGQ76
Titolo Visualizzazione/Stampa Lotti Aperti x Cliente
Posizione menu Magazzino → Produzione → Cicli di Lavorazione → Visualizzazioni → Lotti Aperti x Cliente
Posizione menu alternativa Magazzino → Produzione → Cicli di Lavorazione → Stampe → Riepilogo Costi per Lotto

Scopo e logica generale

COGQ76 e' un programma interattivo per la visualizzazione e la stampa dei lotti di lavorazione (cicli di produzione) filtrati per cliente, periodo e stato. Opera su archivi del sottosistema CLC (cicli di lavorazione): clccctes (testate cicli), clccccns (consuntivi), clcccrig (righe cicli), clcanama (anagrafica macchine/lavoranti), clclavor (lavorazioni).

Gestione a tre fasi principali: 1. a-accetta: raccolta parametri a video (maschera classica a caratteri) 2. b-elabora: costruzione file transito cogtrans con i lotti che rispettano i filtri 3. c-visualizza: visualizzazione a video del transito + possibilita' di stampa dettagliata costi

Il file transito #$COGQ76.<operatore> ha chiave alternativa trs-chia2 = (trs-sel, trs-chia1) per la selezione.


Flusso principale

  1. Inizializzazione (screen-0): apertura file gestionale (open-files) e file CLC (open-files-cl), lettura azienda, creazione cogtrans, visualizzazione maschera
  2. Ciclo principale (a4): per ogni sessione:
  3. a-accetta (thru ex-a): raccolta parametri
  4. b-elabora (thru ex-b): costruzione transito
  5. c-visualizza (thru ex-c): visualizzazione a video e stampa
  6. Reset cogtrans per nuova sessione; GO TO a4
  7. Chiusura (z-chiudi): chiusura tutti i file

Sezione a-accetta (parametri)

Campo Paragrafo Note
Anno/numero lotto specifico a-06 / a-08 Se anno = 0 salta a a-10 (non filtra per lotto)
Tipo estrazione a-10 COGS60: "A" = Solo Aperti, "C" = Solo Chiusi
Periodo di occupazione a-20 COGS21: "T"=Tutti, "S"=Si', "N"=No
Cliente a-30 COGS65 tipo cliente; se 0 = tutti i clienti
Da data a-40 COGS52; default 1° gennaio anno corrente
A data a-50 COGS52; default 31 dicembre anno corrente; controllo da <= a
Conferma a-90 acc-conf THRU; WESC/F2 tornano ad a-50

Sezione b-elabora (costruzione transito)

Il paragrafo b-elabora: - Se tm-anno != 0: chiama b1-scrivi-transito direttamente per il lotto specifico - Altrimenti: scansiona CLCCCTES con START NOT LESS su chiave6 (che considera cct-stato), filtrando per: - cct-stato: "A" (aperto) o "C" (chiuso) in base a tm-elab - tm-occ: verifica periodo occupazione tramite check-periodo-occ - tm-ana-cod: filtro cliente - cct-data-ini in range tm-da-data .. tm-a-data - Per ogni lotto idoneo chiama b1-scrivi-transito

Struttura del record transito scritto

trs-chia1:
  trs-cli-des    pic x(30)   Ragione sociale cliente (per ordinamento)
  trs-cli        pic 9(05)   Codice cliente
  trs-ann        pic 9(04)   Anno lotto
  trs-num        pic 9(08)   Numero lotto
trs-stato        pic x(01)   Stato lotto
trs-dis          pic x(10)   Codice disegno
trs-merce        pic x(09)   Codice merce prodotto
trs-mer-des      pic x(36)   Descrizione merce
trs-qta          pic 9(08)v999
trs-data-ini     pic 9(08)   Data apertura lotto
trs-sel          pic x(01)   Flag selezione (usato per chiave alternativa)

Sezione c-visualizza (visualizzazione e stampa)

Il paragrafo c-visualizza mostra a video i lotti dal transito con la struttura maschera mm-1 (21 righe x 80 colonne): - Intestazione: filtri impostati (numero lotto, periodo occupazione, cliente, periodo date) - Griglia lotti: lotto, cliente, disegno, quantita', data apertura, stato, flag selezione (*)

Azioni dalla visualizzazione: - Scorrimento con pagina-su/giu' - Selezione/deselezione lotti con tasto apposito - Stampa elenco lotti (stampa rigel su flsta) - Stampa costi per lotto (stampa-costi): attiva il flusso dettagliato di stampa costi

Stampa elenco lotti

Stampa tabulare con colonne: Lotto, Cliente, Disegno, Qta', Data, Stato. Usa rigel (record 76 car.). Intestazione su testa1 (data+pagina) e testa2 (azienda).

Stampa riepilogo costi

Per i lotti selezionati (trs-sel = "*") produce una stampa dettagliata (132/155 caratteri) con: - rigelb: dati lotto (numero, cliente, disegno, merce, qta ord/classificata/scarti/lavorata/consegnata/resa, data, stato) - Per ogni fase di clcccrig: rigelc con fase, macchina, lavorante, tempi preventivati ed effettivi - rigeltotc: totale costi per lotto - rigeld: riepilogo costi per categoria (su macchina, non su macchina, esterne, trasporto, varie, materiali, semilavorati, totale, totale a pezzo, margine) - Per i materiali: rigelf con merce, UM, quantita', prezzo, valore (letto da COGMOVDB tramite utilcogw06.cpy)

Le costanti di tipo costo (k-rgc-val-prv, k-rgc-val-cns, ecc.) identificano i diversi aggregati da sommare.


File e tabelle acceduti

File gestionali

File logico Record Modalita' Uso
COGGEANA ana-rec Input Anagrafica generale (ragione sociale cliente)
COGMERCI mer-rec Input Anagrafica merci (descrizione prodotto)
FEURTAB feurtab Input Tabella generica Eurosystem
FLSTA riga Output File di stampa
COGTRANS trs-rec I-O File transito lotti filtrati

File CLC (cicli di lavorazione)

File logico Record Modalita' Uso
CLCTABEL eut-rec Input Tabelle CLC
CLCDISEG dis-rec Input Disegni
CLCCCTES cct-rec Input Testate cicli di commessa
CLCCCCNS ccn-rec Input Consuntivi cicli
CLCCCRIG ccr-rec Input Righe cicli (fasi di lavorazione)
CLCLAVOR clv-rec Input Lavorazioni (macchine/operatori)
CLCANAMA cnm-rec Input Anagrafica macchine e lavoranti

Copybook inclusi

Strutture dati

Copybook Contenuto
k-personal.cpy Costanti personalizzazione
k-u10.cpy / wrk-u10.cpy Costanti e working COGU10
wstato.cpy / wopenf.cpy / wgrave.cpy / wnscr.cpy Working storage comuni
cogazien.cpy Dati azienda
wdisp002.cpy Working display 002
coggeana.cpy / cogmerci.cpy Record anagrafiche
clctabel.cpy / clcdiseg.cpy / clccctes.cpy / clccccns.cpy / clcccrig.cpy / clclavor.cpy / clcanama.cpy Record tabelle CLC
cogfiles.cpy FD feurtab

Utility e interfacce

Copybook Contenuto
utilq40.cpy Interfaccia Q40
utilq65.cpy Interfaccia Q65
utilq81.cpy Interfaccia Q81
utils21.cpy Interfaccia COGS21 (selezione singola)
utils52.cpy Interfaccia COGS52 (calendario)
utils54.cpy Interfaccia COGS54 (stampa)
utils60.cpy Interfaccia COGS60 (selezione tipo)
utils65.cpy Interfaccia COGS65 (ricerca anagrafica)
utils68.cpy Interfaccia COGS68 (ricerca merce)
utilu10.cpy / utilu36.cpy Interfaccia COGU10/U36

Linkage

Copybook Contenuto
wcont.cpy / wcont1.cpy Stringhe comuni
utilq33.cpy Interfaccia Q33 (passaggio parametri da chiamante)

Programmi chiamati (CALL)

Programma Scopo
COGS21 Selezione singola campo (periodo occupazione T/S/N)
COGS52 Calendario (date picker) per da-data e a-data
COGS54 Selezione destinazione stampa
COGS60 Selezione tipo estrazione (Aperti/Chiusi)
COGS65 Ricerca e selezione anagrafica cliente

Configurazione (RNEWCONF)

Il programma non usa RNEWCONF. Le costanti di dimensione stampa sono definite a livello 78: - k-size-riga-costi = 155 (stampa costi dettagliata) - k-size-riga-schede = 132 (stampa schede) - k-size-riga-norm = 80 (stampa elenco) - k-size-trs-merce = 32 (dimensione campo merce nel transito)


Logica di business

Calcolo periodo occupazione

Il paragrafo check-periodo-occ verifica se sul lotto esiste un periodo di occupazione macchina nelle righe clcccrig. Se tm-occ = "S" vengono inclusi solo i lotti con periodo; se "N" solo quelli senza; se "T" tutti.

Calcolo tempi e costi per fase

Per ogni riga di clcccrig vengono calcolati: - Tempi preventivati: w-minuti-att, w-minuti-lav, w-minuti-dis in ore e minuti - Tempi effettivi consuntivati: letti da clccccns collegati alla riga - Costi: calcolati moltiplicando i tempi per i costi orari di macchina/lavorante (da clcanama e clclavor)

I costi vengono classificati nelle categorie: su macchina, non su macchina, esterne, trasporto, varie, materiali, semilavorati. Le costanti k-rgc-val-* identificano le colonne del riepilogo.

Margine

Il margine viene calcolato come differenza percentuale tra il prezzo di vendita a pezzo (w-pre-ven-a-pezzo) e il costo effettivo totale a pezzo (w-tot-uni).

Nota su COGMOVDB

I materiali consumati vengono letti tramite utilcogw06.cpy che accede a COGMOVDB. Il dettaglio e' disponibile sia a video che nella stampa costi.


Variabili di stato principali

Variabile Descrizione
tm-anno / tm-num Lotto specifico (0/0 = tutti)
tm-elab Tipo estrazione: "A"=aperti, "C"=chiusi
tm-occ Periodo occupazione: "T"/"S"/"N"
tm-ana-cod Codice cliente (0 = tutti)
tm-da-data / tm-a-data Intervallo date (struttura gg/mm/aaaa)
n-m Numero lotti in transito
ricordante.ri-tot-uni-cns / ri-tot-cns Totali a pezzo e totale per riepilogo finale
w-tot-prv / w-tot-cns Costo totale preventivato/consuntivato
w-margine Margine percentuale
fl-tempi "S" = gestione tempi in ore/minuti
fl-ore-minuti "S" = visualizza in ore:minuti