Vai al contenuto

COGF57 - Modifica Matricola

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

Menu: - Magazzino > Produzione > Produzione 2 > Prod. x Matricole > Modifica Matricola

Puo' essere richiamato come sottoprogramma passando f57-called = "COGF57-CALLED" con la matricola in f57-matricola (vedi utilf57.cpy).


Scopo

Data una matricola di produzione gia' chiusa, mostra il dettaglio dei componenti utilizzati e consente di aggiungere, eliminare o sostituire componenti generando i relativi movimenti di magazzino (carico/scarico) e gli eventuali collegamenti con i serial number movimentati. Se il lotto associato alla matricola non e' di tipo "matricole" (cla-tip != "2"), il programma propone di passare a COGF99 (modifica lotti) con F3.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB Indicizzato I-O Tabelle di sistema
COGTABEL Indicizzato I-O Tabelle gestionale (tipo 57 = data consolidato)
COGMERCI Indicizzato ext I-O Anagrafica merci
COGGEANA Indicizzato ext I-O Anagrafica generale (clienti)
COGTESBO Indicizzato I-O Testate bolle (per generazione movimenti)
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
COGMTUSC Indicizzato I-O Matricole uscite
COGGENER Indicizzato I-O Generatore numeri
COGDESCR Indicizzato I-O Descrizioni
COGMTPRE Indicizzato I-O Matricole pre-assegnazione
COGMTDET Indicizzato I-O Matricole dettaglio
COGMTMOD Indicizzato I-O Matricole modifiche
LODTMDES Indicizzato I-O Transito note operatore (#$NOTEOP.<operatore>)
FLSTA Sequenziale Output File di stampa

Copybook principali

Strutture dati

Copybook Ruolo
cogf57.select / .fd / .wrk / .decla Generati da Screen Designer
feurtab.fd / cogfiles.cpy FD feurtab
flsta.fd / flsta.cpy Stampa
lodtmdes.fd / lodtmdes.cpy Note operatore
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
wdisp002.cpy Working display
wcont.cpy / wcont1.cpy Linkage comune
util021.cpy Utility 021

Interfacce sottoprogrammi

Copybook Sottoprogramma
utils21.cpy COGS21 (selezione SI/NO)
utils25.cpy COGS25
utils50.cpy COGS50
utils52.cpy COGS52 (calendario)
utils54.cpy COGS54 (gestione stampa)
utils66.cpy COGS66 (ricerca magazzino/causale)
utils68.cpy COGS68 (ricerca merce)
utilu07.cpy COGU07 (display reverse)
utilu09.cpy COGU09
utilu10.cpy COGU10 (formattazione importi/divisa)
utilu12.cpy COGU12
utilu20.cpy COGU20
utilw01.cpy / utilw28.cpy / utilw68.cpy Worker vari
utilzde.cpy COGZDEW
utilcogl61.cpy COGL61 (logica controllo lotti)
utilf57.cpy Interfaccia di chiamata a COGF57
utilf99.cpy Chiamata a COGF99 (vedi sotto)

Chiamate a sottoprogrammi

Programma Funzione
RNEWCONF Lettura configurazione (gruppo progcogv51)
COGS10 Selezione/elenco
COGS52 Accept campo anno/data
COGS54 Selezione destinazione stampa
COGU07 Display reverse con elenco
COGU09 Utility display
COGU10 Gestione divisa e formattazione importi (GetDivisaConto)
COGU12 Funzioni varie
COGU20 Funzioni varie
COGL61 Logica di controllo per lotti
COGZDEW Worker note vendita
COGF99 Richiamato se il lotto e' di tipo "L" (lotti) anziche' matricole

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 di carico/scarico generati dalle modifiche: - tm-cfg-mag-in / tm-cfg-cau-in (entrata componenti) - tm-cfg-mag-out / tm-cfg-cau-out (uscita componenti)


Logica di elaborazione

Inizializzazione (a000)

  1. Controllo abilitazione (ctr-abil); se non abilitato esce
  2. Se chiamato come sottoprogramma (f57-called = "COGF57-CALLED"), salva la matricola passata
  3. Apre i file e legge azienda
  4. Legge configurazione progcogv51
  5. Ottiene divisa conto da COGU10 (GetDivisaConto)
  6. Verifica data-consolidato (leggi-consolidato): se sis-aa < dt-cons-aa (o uguale e sis-mm <= dt-cons-mm) blocca con messaggio
  7. Apre file note operatore #$NOTEOP.<operatore> (output -> i-o); se gia' aperto: "Funzione gia' in uso da questo operatore"
  8. Legge configurazione programma (x99-src-cfg)
  9. Visualizza maschera caratteri (mm-1, 25x80)

Selezione matricola (a-tm-mat-ann / a-tm-mat-num / a-tm-mat-num-leggi)

  1. Accept anno matricola con COGS52
  2. Accept numero matricola
  3. Cerca su COGMTPRE con mtp-tip = "A", mtp-mat-ann/num: se non trovata, "Matricola di produzione non trovata"
  4. Verifica esistenza in COGMATRI: se esiste, tm-mtr-evasa = "S" (matricola evasa)
  5. Recupera lotto associato (mtp-lot-ann/num) e legge COGLAVOR: se non trovato, "Lotto non trovato"
  6. Se cla-tip != "2" (non gestito a matricole): proposta di passare a COGF99 con F3
  7. Legge riga consegna (COGCONOR su cla-consegna): se non trovata, "Lotto collegato a riga consegna inesistente"
  8. Cerca note post-vendita (paragrafo a1-note-post-vendita)

Caricamento dettaglio (b-carica)

Carica nella tabella tab-maschera.tm-tab-righe (max 400 elementi) i componenti della matricola scandendo COGMTPRE/COGMTDET/COGMOMAG con chiave per matricola.

Modifica componenti (c-elabora / c1-modifica)

Operazioni disponibili dalla griglia: - F1 - Aggiungi componente (c15-aggiungi-dettaglio): apre finestra con merce, quantita', magazzino, causale, serial number; genera movimento di carico tramite c2-ins-tes e c3-ins-mag - F4 - Elimina componente (c14-togli-dettaglio): rimuove dalla matricola; genera movimento di scarico - F7 - Sostituisci componente (c12-rientro / c13-uscita): combina rientro del vecchio e uscita del nuovo - F9 - Cambio matricola prodotto finito (c16-modifica-dettaglio): aggiorna tm-dm-mat-nuova - F8 - Alterna figli/padri (carica-figlio) - F11 - Note post-vendita (se ok-note-post-vend = "S")

Le operazioni sono disponibili solo se la matricola e' evasa (tm-mtr-evasa = "S"). Le w-abi-agg/del/ins controllano la disponibilita' delle azioni.

Generazione movimenti

I movimenti di magazzino vengono creati tramite: - c2-ins-tes: crea testata bolla (COGTESBO) con magazzino e numerazione da cogv01 simile a COGF05 - c3-ins-mag: scrive riga su COGMOMAG con merce, quantita', segno - Controllo giacenza tramite COGL61 (utilcogl61.cpy) e configurazione ctr-gia - Aggiornamento saldi su COGSLMAG

Chiusura (fine / z-chiudi)

Chiude tutti i file, esce con z-99-exit-program.


Limiti dimensionali

Costante Valore Significato
k-ele-tab-pnota 200 Max righe tabella prima nota
k-ele-tab-righe 400 Max righe componenti caricati
k-ele-tab-matricole 100 Max matricole
k-chr-stampa 132 Larghezza riga stampa

Messaggi principali

Messaggio Origine
Matricola di produzione non trovata!! a-tm-mat-num-leggi, ricerca COGMTPRE
Lotto non trovato!! Lettura COGLAVOR fallita
Lotto non gestito a matricole!! cla-tip != "2"
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

  • Magazzino > Produzione > Produzione 2 > Prod. x Matricole > Modifica Matricola