Vai al contenuto

COGG43 - Movimenti x Classe (RMA)

Sorgente: cbl/cogg43.cbl | Program-ID: COGG43 | Tipo: Interattivo a caratteri (maschera 80x20)

Menu: Magazzino > Entrate > RMA > Movimenti x Classe


Scopo

Gestisce l'inserimento di movimenti di merce nel contesto della procedura RMA (Return Merchandise Authorization), raggruppati per classe di movimento. Per ogni riga l'operatore indica serial number, merce, quantita' e classe. Al termine, il programma genera automaticamente i documenti di magazzino (uno per classe) tramite COGU30.


Tabelle/File utilizzati

Tabella Tipo Modalita' Descrizione
FEURTAB Tabella Input Tabella generale Eurosystem
COGTABEL Tabella Input Tabelle di sistema. Tipo 25 (k-euta-tipo-dif) = classi RMA per look-up difettosita'
COGMERCI Tabella Input (external) Anagrafica merci. Validazione merce e lettura mer-fl-sn per gestione serial number
COGMATRI Tabella Input Matricole (serial number). Chiave 4 (mtr-sn) per ricerca SN; chiave 3 (mtr-ent + mtr-merce) per verifica esistenza
COGMTUSC Tabella Input Matricole uscita. Chiave 1 (mtu-sn) per ricerca; chiave 3 per conteggio
TRAN-G43 File temp I-O File di transito per passaggio dati a COGU30. Path: ext-tmp-dir/#$COGG43.<operatore>

Logica di elaborazione

Parametri di input

Campo Variabile Descrizione
Data tm-data-acc Data dell'operazione (default: data di sistema)

Struttura dati in memoria

  • tm-tab-righe: array di max 900 elementi (k-t-size), ciascuno con: tm-merce-usc (merce), tm-mat-usc (matricola), tm-sn-u (serial number), tm-desc-u (descrizione), tm-qta (quantita'), tm-clm (classe movimento)
  • tm-tab-classi: array di 100 elementi per tracciare le classi utilizzate e assegnare i livelli (tm-cla-clm, tm-cla-lastlev)

Flusso operativo

  1. Configurazione (x99-src-confi): carica la configurazione da COGCONFI (parametri: anno partenza, esclusione, inclusione per serial number).

  2. Input righe (ciclo b-40 -> b-60 -> b-62 -> b-70):

  3. b-40: Accept serial number tramite COGS23. Se il SN e' valorizzato, verifica esistenza (c4-controlla-sn) e duplicati nella tabella corrente.
  4. b-60: Accept merce tramite COGS68W. Validazione su COGMERCI.
  5. b-62: Accept quantita' tramite COGU20. Se la merce ha SN, la quantita' massima e' 1.
  6. b-70: Accept classe di movimento tramite COGS89. Aggiorna la tabella classi (tm-tab-classi).

  7. Conferma (acc-50): verifica che esista almeno una riga con quantita' significativa e merce valida. Richiede conferma.

  8. Generazione documenti (agg-00):

  9. Apre il file di transito TRAN-G43
  10. Assegna un livello progressivo a ciascuna classe utilizzata (tm-last-level)
  11. Per ogni riga con quantita' > 0: scrive su TRAN-G43 con numero = 1, progressivo incrementale, classe, livello, data, operatore, merce, matricola, SN, quantita'
  12. Per ogni classe utilizzata: chiama COGU30 con u30-ope = "make-doc", tipo "X", livello corrispondente

Controllo serial number (c4-controlla-sn)

  • Cerca il SN su COGMATRI (chiave 4) e su COGMTUSC (chiave 1)
  • Verifica che il SN sia associato alla merce corrente (tm-merce-usc(i))
  • Se il SN e' gia' presente nella tabella corrente per la stessa merce, segnala duplicato

Chiamate a sottoprogrammi

Programma Funzione
COGU30 Generazione documento di magazzino ("make-doc", tipo "X")
COGS23 Accept stringa (serial number) con conversione maiuscole
COGS52 (via util-s52) Accept data con calendario
COGS68W (via util-s68) Accept merce con aiuto e ricerca
COGS89 (via util-s89) Accept classe di movimento con aiuto
COGU20 (via util-u20) Accept campo numerico (quantita')
WIN068 Finestra ricerca serial number disponibili (F8 da SN)
WIN107 (via utilw107.cpy) Utility non specificata
WIN109 (via utilw109.cpy) Utility non specificata
WIN110 (via utilw110.cpy) Utility non specificata

COPY utilizzate

Working-storage

Copybook Descrizione
k-personal.cpy Costanti personalizzazione
wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy Working storage comuni
cogazien.cpy Dati azienda
utils23.cpy Interfaccia COGS23
utils52.cpy Interfaccia COGS52
utils68.cpy Interfaccia COGS68W
utils89.cpy Interfaccia COGS89
utilu07.cpy Utility generica
utilu20.cpy Utility numerica
utilu30.cpy Interfaccia COGU30
utilg35.cpy Utility griglia
utilw68.cpy Interfaccia WIN068
utilw107.cpy, utilw109.cpy, utilw110.cpy Interfacce finestre ausiliarie
utilncnf.cpy Interfaccia configurazione RNEWCONF
tran-g43.cpy Record file di transito

Linkage

Copybook Descrizione
wcont.cpy Area di comunicazione principale
utilg41.cpy Interfaccia chiamante
wcont1.cpy Area di comunicazione estesa

Note

  • La maschera e' a caratteri (80x20), non grafica Windows. I display usano coordinate line/col.
  • Il file TRAN-G43 e' dedicato a questo programma (definizione in tran-g43.fd e tran-g43.cpy).
  • COGMERCI e' dichiarato EXTERNAL, quindi condiviso con altri programmi nella stessa sessione.
  • La configurazione caricata da RNEWCONF include: anno di partenza per la ricerca serial number (tm-cfg-anno-start), flag esclusione (tm-cfg-x-esclusione), flag inclusione (tm-cfg-x-inclusione).
  • La generazione documenti avviene tramite COGU30 con tipo documento "X" e un livello diverso per ogni classe di movimento utilizzata.