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¶
-
Configurazione (
x99-src-confi): carica la configurazione da COGCONFI (parametri: anno partenza, esclusione, inclusione per serial number). -
Input righe (ciclo
b-40->b-60->b-62->b-70): b-40: Accept serial number tramite COGS23. Se il SN e' valorizzato, verifica esistenza (c4-controlla-sn) e duplicati nella tabella corrente.b-60: Accept merce tramite COGS68W. Validazione su COGMERCI.b-62: Accept quantita' tramite COGU20. Se la merce ha SN, la quantita' massima e' 1.-
b-70: Accept classe di movimento tramite COGS89. Aggiorna la tabella classi (tm-tab-classi). -
Conferma (
acc-50): verifica che esista almeno una riga con quantita' significativa e merce valida. Richiede conferma. -
Generazione documenti (
agg-00): - Apre il file di transito TRAN-G43
- Assegna un livello progressivo a ciascuna classe utilizzata (
tm-last-level) - Per ogni riga con quantita' > 0: scrive su TRAN-G43 con numero = 1, progressivo incrementale, classe, livello, data, operatore, merce, matricola, SN, quantita'
- 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.fdetran-g43.cpy). COGMERCIe' 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.