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).
Menu¶
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¶
main/a000:ctr-abil,open-files,rd-azi; lettura configurazionex99-conf(gruppoTRASCOGM20) con default se valori a zero; caricamento maschera testualemm-1.a4: azzeratab-maschera; imposta magazzino di rientro di defaultaz-main-mag.a25: accept magazzino di uscita; F8 apre l'aiuto (send-w36); verifica esistenza magazzino sucogmagaz; vieta uscita = entrata; legge la causale d'uscita da RNEWCONF suddivisa per magazzino (x99-conf-cau-u).a26: accept Classe di Movimento generale viaCOGS89(call-s89-gen).a35: accept magazzino di rientro; controlli speculari; causale d'entrata (x99-conf-cau-e).b-accept: griglia testuale di lettura righe; per ciascuna rigab-05magazzino etichetta,b-10codice a barre,b-15classe di movimento. Il codice letto viene interpretato inc2-lettura: prima come s/n (viaCOGU07cerca-matricola + cerca-padre e verifica sucogmatri), poi come EAN (c22-cerca-eansucogmercichiave k03); controlla che un articolo gestito a matricola non venga scaricato senza s/n e blocca i duplicati.- F3 =
c-aggiorna: assegna tipo documento e numerazione (T/2 sia per uscita che entrata); apre il file di transitotran-g43; attribuisce un livello progressivo a ciascuna classe digitata. - A) Uscita: numeratore
COGS25, testatac2-testa(con eventuale riferimento tipo-35c21-ins-rif/c21-ctr-rif), righec3-righe/c3-agg-rigaconw-eu= 'U'. - B) Entrata: analogo con
w-eu= 'E';c4-notescrive in ogni testata il riferimento incrociato all'altra;c2-canc-usc-linkchiude le matricole (mtr-fl-eu = 'E'), cancellacogmtusce i legami matricola viaCOGU07. c-10-loop/c-60: scrive le righe sutran-g43(con livello di classe) e innescae-agg-docum(COGU30) una volta per ogni classe/livello aggiornato; messaggio finalec-90con gli estremi dei documenti creati.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 testualetm-righe. - La maschera principale
mm-1e' una schermata a caratteri (box-drawing) ridefinita inmm-1-ele occurs 25: il programma e' a interfaccia testuale, non GUI. tm-letturaha due redefines (tm-lettura-eancome 9(13),tm-lettura-matcome 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 perCOGU12. - Le causali di uscita/entrata sono lette da RNEWCONF gruppo
TRASCOGM20con suddivisione per magazzino; default 81 (uscita) / 80 (entrata) se non configurate. search-fileusaGO TO ... DEPENDING ONper aprire il file corretto in base aw-ind-fl(pattern legacy del generatore di apertura).