Vai al contenuto

COGM31 - Rientro al Magazzino Principale (trasferimento interno)

Scopo

Gestisce il rientro di materiale al magazzino principale generando una coppia di documenti di magazzino contrapposti (uscita dal magazzino di lavorazione, entrata sul magazzino di destinazione). L'operatore legge i codici a barre / seriali (s/n) dei prodotti da riportare, li aggancia alla merce e alla matricola tramite COGU07, e alla conferma il programma crea testate e righe di movimento, aggiorna le giacenze via COGU12 e chiude le matricole uscite. Puo' inoltre innescare la creazione di documenti aggiuntivi raggruppati per classe di movimento (COGU30).

Magazzino > Trasferimenti > Trasferimenti Interni > Rientro al Mag.principale

File e tabelle

File Tipo Descrizione
FEURTAB Parametri File di ambiente / parametri (cogfiles.cpy)
COGTABEL Indicizzato Tabelle di configurazione; usa il tipo 35 (euta-tipo, chiave w-key-35: mag/anno/tipo/numero) per i riferimenti al trasferimento; layout causali via cnfgtras.cpy
COGGEANA Indicizzato Anagrafiche generali
COGMAGA2 (cogmagaz) Indicizzato Anagrafica magazzini (magz-tipo = 'M', magz-cod)
COGMERCI Indicizzato (external) Anagrafica merci; letta per chiave (mer-chia) e per EAN (mer-ean, chiave k03)
COGTESBO Indicizzato Testate documenti di magazzino (tes-mag/tes-anno/tes-tipob/tes-bolla3)
COGMOMAG Indicizzato Righe movimenti di magazzino (mag-prog, chiave mag-chiap)
COGMATRI Indicizzato Matricole / seriali (mtr-mat, mtr-sn, mtr-merce, mtr-fl-eu)
COGMTUSC Indicizzato Matricole uscite (mtu-mat)
COGDESOR / COGDESAG Indicizzato Descrizioni ordine / aggiuntive
COGGENER Indicizzato Tabella generica di raccordo
TRAN-G43 Sequenziale/temp File di transito scritto per l'aggiornamento documenti da classe (nome #$COGG43.<oper> in ext-tmp-dir); riletto da COGU30
FLSTA Sequenziale File di stampa/stato (flsta.cpy)

Copybook

File e select

  • feurtab.fd, cogtabel.fd, cogmerci.fd, coggeana.fd, cogmaga2.fd, cogtesbo.fd, cogmomag.fd, cogdesag.fd, cogmatri.fd, cogmtusc.fd, cogdesor.fd, coggener.fd, flsta.fd, tran-g43.fd
  • Record: cogfiles.cpy, cogtabel.cpy + cnfgtras.cpy, coggeana.cpy, cogtesbo.cpy, cogmomag.cpy, cogmaga2.cpy, cogmerci.cpy, cogmatri.cpy, cogmtusc.cpy, cogdesor.cpy, cogdesag.cpy, coggener.cpy, tran-g43.cpy, flsta.cpy
  • Chiavi: cogtabel.k01, cogmerci.k01/.k03, coggeana.k01, cogmaga2.k01, cogtesbo.k01/.k01-agg, cogmomag.k01/.k01-agg, cogdesag.k01, cogmatri.k01/.k01-agg/.k04, cogmtusc.k01/.k01-agg, cogdesor.k01, coggener.k01/.k02, tran-g43.k01

Working-storage standard

  • wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy

Utilita' / linkage subroutine

  • utilw36.cpy (aiuto magazzini F8), utilu20.cpy, utils25.cpy (numeratore), utils89.cpy (classe movimento), utilu07.cpy (matricole), utilu12.cpy (giacenze), utilu30.cpy (creazione documenti), utils54.cpy, utilncnf.cpy (configurazioni RNEWCONF)

Linkage

  • wcont.cpy, wcont1.cpy

Procedure

  • stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, open1.cpy, mmmask.cpy, dtab.cpy, tstfun1.cpy, sendw36.cpy

CALL

Programma Descrizione
COGU07 Ricerca / cancellazione matricole (cerca-matricola, cerca-padre, cancella-matricola) per risalire alla catena padre/figlia dei seriali
COGU12 Aggiornamento giacenza articolo (u12-tipo = "G") per ogni riga movimentata
COGU30 Creazione documenti di magazzino raggruppati per livello di classe (make-doc, u30-i-doc-tip = "X")
COGS25 Assegnazione numeratore documento (uscita e entrata)
COGS89 Richiesta / decodifica codice Classe di Movimento (generale e per riga)
COGS54 Post-stampa (s54-after-print = "S") in chiusura
RNEWCONF Lettura configurazioni gruppo TRASCOGM20 (documento fisico, causali, tipi operazione, causali per classe, ecc.)

Logica di elaborazione

  1. main / a000: ctr-abil, open-files, rd-azi; lettura configurazione x99-conf (gruppo TRASCOGM20) con default se valori a zero; caricamento maschera testuale mm-1.
  2. a4: azzera tab-maschera; imposta magazzino di rientro di default az-main-mag.
  3. a25: accept magazzino di uscita; F8 apre l'aiuto (send-w36); verifica esistenza magazzino su cogmagaz; vieta uscita = entrata; legge la causale d'uscita da RNEWCONF suddivisa per magazzino (x99-conf-cau-u).
  4. a26: accept Classe di Movimento generale via COGS89 (call-s89-gen).
  5. a35: accept magazzino di rientro; controlli speculari; causale d'entrata (x99-conf-cau-e).
  6. b-accept: griglia testuale di lettura righe; per ciascuna riga b-05 magazzino etichetta, b-10 codice a barre, b-15 classe di movimento. Il codice letto viene interpretato in c2-lettura: prima come s/n (via COGU07 cerca-matricola + cerca-padre e verifica su cogmatri), poi come EAN (c22-cerca-ean su cogmerci chiave k03); controlla che un articolo gestito a matricola non venga scaricato senza s/n e blocca i duplicati.
  7. F3 = c-aggiorna: assegna tipo documento e numerazione (T/2 sia per uscita che entrata); apre il file di transito tran-g43; attribuisce un livello progressivo a ciascuna classe digitata.
  8. A) Uscita: numeratore COGS25, testata c2-testa (con eventuale riferimento tipo-35 c21-ins-rif/c21-ctr-rif), righe c3-righe/c3-agg-riga con w-eu = 'U'.
  9. B) Entrata: analogo con w-eu = 'E'; c4-note scrive in ogni testata il riferimento incrociato all'altra; c2-canc-usc-link chiude le matricole (mtr-fl-eu = 'E'), cancella cogmtusc e i legami matricola via COGU07.
  10. c-10-loop / c-60: scrive le righe su tran-g43 (con livello di classe) e innesca e-agg-docum (COGU30) una volta per ogni classe/livello aggiornato; messaggio finale c-90 con gli estremi dei documenti creati.
  11. fine / z-chiudi: COGS54, chiusura file, uscita programma.

Note tecniche

  • Le costanti k-t-size (200) / k-t-start (7) / k-t-length (16) dimensionano e posizionano la tabella righe testuale tm-righe.
  • La maschera principale mm-1 e' una schermata a caratteri (box-drawing) ridefinita in mm-1-ele occurs 25: il programma e' a interfaccia testuale, non GUI.
  • tm-lettura ha due redefines (tm-lettura-ean come 9(13), tm-lettura-mat come 9(12)) per interpretare la lettura come EAN o come matricola.
  • La giacenza NON viene piu' aggiornata direttamente in codice (blocco commentato con cogslmag): l'aggiornamento passa ora per COGU12.
  • Le causali di uscita/entrata sono lette da RNEWCONF gruppo TRASCOGM20 con suddivisione per magazzino; default 81 (uscita) / 80 (entrata) se non configurate.
  • search-file usa GO TO ... DEPENDING ON per aprire il file corretto in base a w-ind-fl (pattern legacy del generatore di apertura).