Vai al contenuto

COGF99 - Modifica Lotti

Sorgente: cbl/cogf99.cbl | Tipo: Programma a carattere (maschera testo) | Program-ID: COGF99

Menu: - Magazzino > Produzione > Produzione 2 > Prod. x Lotti > Modifica Lotti

Puo' essere richiamato come sottoprogramma passando f99-called = "COGF99-CALLED" con il lotto in f99-lotto (vedi utilf99.cpy). E' tipicamente chiamato da COGF57 quando il lotto da modificare e' di tipo "L" (lotti) anziche' matricole.


Scopo

Dato un lotto di produzione gia' chiuso, mostra il dettaglio di tutti i componenti di tutte le matricole del lotto e consente di aggiungere, eliminare o sostituire componenti, generando i movimenti di magazzino (carico/scarico) e i collegamenti con eventuali serial number. A differenza di COGF57 che opera su una singola matricola, COGF99 lavora sull'intero lotto: gli aggiornamenti vengono replicati su tutte le matricole oppure su quella selezionata via lettura.

Vincoli: - Il lotto deve essere di tipo "L" (cla-tip = "L"), altrimenti "Lotto gestito a matricole" - Il lotto deve essere chiuso (cla-fl-cls = "C"), altrimenti "Lotto non ancora chiuso"


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB Indicizzato I-O Tabelle di sistema
COGTABEL Indicizzato I-O Tabelle gestionale
COGMERCI Indicizzato ext I-O Anagrafica merci
COGGEANA Indicizzato ext I-O Anagrafica generale (clienti)
COGTESBO Indicizzato I-O Testate bolle
COGMOMAG Indicizzato I-O Movimenti di magazzino
COGSLMAG Indicizzato I-O Saldi magazzino (controllo giacenza)
COGMERAP Indicizzato ext I-O Merci rapporti
COGLAVOR Indicizzato I-O Lotti di lavorazione
COGCONOR Indicizzato I-O Conferme d'ordine (righe consegna)
COGMATRI Indicizzato I-O Matricole (chiave aggiuntiva: cogmatri.k04)
COGMTUSC Indicizzato I-O Matricole uscite
COGGENER Indicizzato I-O Generatore numeri
COGDESCR Indicizzato I-O Descrizioni
COGMTPRE Indicizzato I-O Matricole pre-assegnazione (chiave: cogmtpre.k02)
COGMTDET Indicizzato I-O Matricole dettaglio
COGMTMOD Indicizzato I-O Matricole modifiche
LODTMDES Indicizzato I-O Transito note operatore (#$NOTEOP.<operatore>)

Copybook principali

Strutture dati

Copybook Ruolo
cogf99.select / .fd / .wrk / .decla Generati da Screen Designer
feurtab.fd / cogfiles.cpy FD feurtab
lodtmdes.fd / lodtmdes.cpy / lodtmdes.k01 Note operatore
cogmatri.k04 Chiave secondaria COGMATRI
cogmtpre.k02 Chiave secondaria COGMTPRE
k-u10.cpy Costanti COGU10
utilncnf.cpy Interfaccia RNEWCONF

Working storage

Copybook Ruolo
wopenf.cpy / wstato.cpy / wgrave.cpy / wnscr.cpy Working storage comuni
cogazien.cpy Dati azienda
wcont.cpy / wcont1.cpy Linkage comune

Interfacce sottoprogrammi

Copybook Sottoprogramma
utils21.cpy COGS21
utils25.cpy COGS25
utils52.cpy COGS52 (calendario)
utils66.cpy COGS66
utils68.cpy COGS68 (ricerca merce)
utilu07.cpy COGU07
utilu10.cpy COGU10 (formattazione/divisa)
utilu12.cpy COGU12
utilu20.cpy COGU20
utilw01.cpy / utilw68.cpy Worker vari
utilzde.cpy COGZDEW
utilcogl61.cpy COGL61 (controllo lotti)
utilf99.cpy Interfaccia di chiamata a COGF99

Chiamate a sottoprogrammi

Programma Funzione
RNEWCONF Lettura configurazione (gruppo progcogv51)
COGS10 Selezione/elenco
COGU07 Display reverse con elenco
COGU10 Gestione divisa e formattazione importi (GetDivisaConto)
COGU12 Funzioni varie
COGU20 Funzioni varie
COGL61 Logica controllo lotti
COGZDEW Worker note vendita

Configurazione (RNEWCONF)

Chiavi lette in apertura (gruppo progcogv51):

Chiave Variabile Significato
euta-c041-ctr-gia tm-cfg-ctr-gia Modalita' controllo giacenza
ctr-gia-sblocco-password tm-cfg-ctr-gia-sblocco-password Password sblocco controllo giacenza

Inoltre vengono lette dalla configurazione del programma (x99-src-cfg / x99-rd-cfg) le impostazioni di magazzino e causale per i movimenti generati.


Logica di elaborazione

Inizializzazione (a000)

  1. Apre i file (open-files) e legge azienda (rd-azi)
  2. Se chiamato (f99-called = "COGF99-CALLED"): salva f99-lotto come lotto da elaborare
  3. Legge configurazione progcogv51
  4. Ottiene divisa conto da COGU10
  5. Legge configurazione del programma (x99-src-cfg)
  6. Apre note operatore #$NOTEOP.<operatore> con controllo "Funzione gia' in uso da questo operatore"
  7. Visualizza maschera caratteri 25x80 (mm-1)

Selezione lotto (a7-ann / a7-num / a7-lotto)

  1. Accept anno lotto (COGS52)
  2. Accept numero lotto
  3. Legge COGLAVOR: se non trovato "Lotto non trovato"
  4. Verifica cla-tip = "L"; se diverso "Lotto gestito a matricole"
  5. Verifica cla-fl-cls = "C"; se diverso "Lotto non ancora chiuso"
  6. Legge riga consegna (COGCONOR): warning se non trovata "Lotto collegato a riga consegna inesistente"

Caricamento dettaglio

Carica nella tabella tab-maschera.tm-tab-righe (max 800 elementi) tutti i componenti di tutte le matricole del lotto, scandendo COGMTPRE (chiave 2) e COGMTDET. Per ogni componente memorizza anche la matricola di appartenenza (tm-mc-ann / tm-mc-num).

Modifica componenti

Operazioni disponibili (analoghe a COGF57 ma replicate sul lotto): - F1 - Aggiungi componente: apre finestra con merce, quantita', magazzino, causale, serial number; genera movimento di carico - F4 - Elimina componente: rimuove dal lotto; genera movimento di scarico (richiede evasa != 0) - F7 - Sostituisci componente: rientro vecchio + uscita nuovo - F9 - Cambio matricola prodotto finito: modifica tm-dm-mat-nuova - F8 - Alterna figli/padri - Filtraggio per singola matricola tramite campo tm-matricola o tm-lettura (barcode/manuale)

Generazione movimenti

Analoga a COGF57: - Crea testata su COGTESBO - Scrive righe su COGMOMAG con segno carico/scarico - Controllo giacenza tramite COGL61 e configurazione ctr-gia - Aggiornamento saldi COGSLMAG

Chiusura (fine)

Chiude i file ed esce.


Limiti dimensionali

Costante Valore Significato
k-ele-tab-righe 800 Max righe componenti caricati (doppio di COGF57)
k-ele-tab-matricole 900 Max matricole nel lotto
k-w-siz-tm-pf 33 Larghezza descrizione prodotto finito
k-w-siz-tm-merce 33 Larghezza descrizione merce
k-w-siz-dm-merce 33 Larghezza descrizione merce modifica

Messaggi principali

Messaggio Origine
Lotto non trovato!! Lettura COGLAVOR fallita
Lotto gestito a matricole cla-tip != "L" (usare COGF57)
Lotto non ancora chiuso cla-fl-cls != "C"
Lotto collegato a riga consegna inesistente!! Lettura COGCONOR fallita
Funzione gia' in uso da questo operatore!! Apertura LODTMDES fallita
Data sistema minore di consolidato! Programma non eseguibile Controllo data-consolidato

Differenze rispetto a COGF57

Aspetto COGF57 COGF99
Granularita' Singola matricola Tutto il lotto
cla-tip accettato "2" (matricole) "L" (lotti)
Quando uno richiama l'altro Se lotto = "L" propone COGF99 Chiamato da COGF57
Max righe componenti 400 800
Max matricole 100 900
Visualizza colonna matricola in griglia No Si'

  • Magazzino > Produzione > Produzione 2 > Prod. x Lotti > Modifica Lotti