COGG38 - Evasione RMA¶
Sorgente: cbl/cogg38.cbl | Program-ID: COGG38 | Tipo: Programma interattivo (standalone)
Menu: - Magazzino > Entrate > RMA
Scopo¶
Gestisce la fase di evasione RMA: legge la pratica RMA processata in COGG36 (entrata) e consente all'operatore di specificare per ogni riga la quantita' da evadere, la classe di movimento di uscita e l'eventuale serial number / merce in uscita. Al salvataggio genera i movimenti di magazzino in uscita tramite COGU30 e aggiorna lo stato dei record RMA. Supporta la modalita' "Conto Anticipo" (tipo-rmt-tip = "A").
Puo' essere richiamato da COGG41 via utilg38.cpy / util-g38 con riga RMA preimpostata.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | Indexed | Input | Parametri generali |
| COGTABEL | Indexed | Input | Tabelle di supporto (tipo EUTA 25: difetti) |
| COGMERCI | Indexed | Input | Anagrafica merci (external) |
| COGGEANA | Indexed | Input | Anagrafica clienti/fornitori |
| COGAPPOG | Indexed | I/O | File di appoggio temporaneo |
| COGMATRI | Indexed | I/O | Matricole/serial number |
| COGMTUSC | Indexed | I/O | Matricole in uscita |
| COGGENER | Indexed | I/O | Movimenti generali |
| COGDESCR | Indexed | I/O | Descrizioni aggiuntive |
| COGRMATS | Indexed | I/O | Testata pratica RMA |
| COGRMARG | Indexed | I/O | Righe pratica RMA |
| COGRMADT | Indexed | I/O | Dettagli righe RMA |
| COGRMACL | Indexed | I/O | Classi di movimento RMA |
| COGCLASM | Indexed | Input | Anagrafica classi di movimento |
| COGMTPRE | Indexed | I/O | Prelievi matricole |
| COGLAVOR | Indexed | I/O | Lavorazioni |
| COGMTDET | Indexed | I/O | Dettagli matricole |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
feurtab.fd / cogtabel.fd / cogmerci.fd / coggeana.fd / cogappog.fd |
File control |
cogmatri.fd / cogmtusc.fd / coggener.fd / cogdescr.fd |
File control |
cogrmats.fd / cogrmarg.fd / cogrmadt.fd / cogrmacl.fd / cogclasm.fd |
File control |
cogmtpre.fd / coglavor.fd / cogmtdet.fd |
File control |
cogfiles.cpy |
FD FEURTAB |
cogtabel.cpy / cogmerci.cpy / coggeana.cpy / cogappog.cpy |
FD tabelle |
cogmatri.cpy / cogmtusc.cpy / coggener.cpy / cogdescr.cpy |
FD tabelle |
cogrmats.cpy / cogrmarg.cpy / cogrmadt.cpy / cogrmacl.cpy / cogclasm.cpy |
FD tabelle |
cogmtpre.cpy / coglavor.cpy / cogmtdet.cpy |
FD tabelle |
k-rma.cpy / k-personal.cpy |
Costanti RMA e personalizzazione |
wstato.cpy / wgrave.cpy / wopenf.cpy / wnscr.cpy |
Utility standard |
cogazien.cpy |
Dati azienda |
utilg35.cpy |
Interfaccia COGG35 (ricerca difetti) |
utilgw01.cpy / utilgw02.cpy |
Utility gestione finestre |
utils21.cpy |
Utility |
utils25.cpy |
Utility |
utils52.cpy |
Date |
utils58.cpy |
Utility |
utils60.cpy |
Lista selezione |
utils65.cpy |
Ricerca anagrafica |
utils68.cpy |
Utility |
utils89.cpy |
Classi di movimento |
utilu20.cpy |
Interfaccia COGU20 |
utilu30.cpy |
Interfaccia COGU30 |
utilw06.cpy |
Utility schermo |
utilw68.cpy |
Interfaccia COGW68 (serial disponibili) |
utilw107.cpy / utilw109.cpy / utilw110.cpy |
Interfacce finestre di ricerca |
utilu07.cpy |
Interfaccia COGU07 |
utilncnf.cpy |
Interfaccia RNEWCONF |
wcont.cpy |
Linkage stringhe |
utilg38.cpy / utilg41.cpy |
Linkage called |
wcont1.cpy |
Linkage ext |
Logica di elaborazione¶
Flusso principale¶
- Inizializzazione (
a000): apertura file, lettura azienda, configurazione (x99-src-confi). Seg38-called = k-program-id: caricari-calldautil-g38, imposta tipo RMA. Parametrowo-parametro = "A"attiva la modalita' Conto Anticipo. - Selezione pratica (
a4,a-5-ricerche): ricerca tramite WIN107 (call-w107→ WIN107). Se found direttamente, salta aa-5-read. Altrimenti, accept anno (a-5-annovia COGS52) e numero. - Lettura pratica (
a-5-read): legge COGRMATS; visualizza testata condisp-rma. Carica righe da COGRMARG e COGRMADT intm-tab-righe(maxk-t-size = 900elementi). - Posizionamento su riga specifica (
acc-inizio): se richiamato da COGG41 con riga/dettaglio preimpostati, salta direttamente alla riga indicata (jump-to-w-det,jump-to-w-rig,jump-to-w-sn). - Ciclo elaborazione (
b-10,b-20,b-30,b-40,acc-20,acc-50): - b-10 (Quantita'): accept via COGU20; max =
tm-qta-ent (i); per serializzati max = 1; righe evase (tm-stato = 'V') rifiutate - b-20 (Difetto riscontrato): F8 → COGG35; validazione su COGTABEL tipo 25
- b-30 (Classe di movimento): accept via
call-s89-tm-clm; controlli su tipo classe (no merce rientro per RMA, no nuova merce uscita per C.A.); verifica "classe gia' usata" per personalizzazioni specifiche (az-personal = k-vegeok-opel) - b-40 (S/N uscita): accept via COGS23; F8 → COGW68 per serial disponibili; per classi provvisorie/auto/C.A. salta direttamente a
acc-20 - acc-20 (Merce in uscita): se la classe prevede merce uscita (
tm-fl-merce-u = k-yes) - acc-50 (Salvataggio riga): aggiornamento COGRMADT + chiamate a COGU30 per movimenti
- Aggiornamento finale: aggiornamento stato pratica COGRMATS.
Struttura dati principali¶
tm-tab-righe(900 elementi,k-t-size): righe pratica. Campi chiave per riga:tm-rig,tm-det,tm-merce-ent,tm-merce-usc,tm-mat-ent,tm-mat-usc,tm-sn-e,tm-sn-u,tm-qta,tm-qta-ent,tm-qta-prc,tm-qta-usc,tm-dif-dic,tm-dif-ris,tm-stato,tm-clm, flag movimento e classi.tm-tab-classi(100 elementi): classi di movimento gia' usate per riga (per controllo unicita').ricordante(ri-clm-fl-merce): memorizza flag merce per l'ultima classe selezionata.w-gnr-clm: struttura per decodifica classe da COGGENER (tipoCLM).
Configurazione RNEWCONF (x99-src-confi)¶
Campo tab-config |
Descrizione |
|---|---|
tm-cfg-anno-start |
Anno di partenza per filtro |
tm-cfg-escludi-x / tm-cfg-x-esclusione / tm-cfg-x-inclusione |
Filtri esclusione/inclusione |
tm-cfg-clm-entrata / tm-cfg-clm-uscita |
Classi di movimento predefinite |
Chiamate a sottoprogrammi¶
| Programma | Copybook | Contesto |
|---|---|---|
| COGU20 | utilu20.cpy |
Accept quantita' |
| COGG41 | utilg41.cpy |
Visualizzazione situazione pratica (F8); chiamante diretto in modalita' called |
| COGG35 | utilg35.cpy |
Ricerca difetto riscontrato (F8 su b-20) |
| COGU30 | utilu30.cpy |
Generazione movimenti di magazzino (evasione righe) |
| WIN109 | utilw109.cpy |
Finestra di ricerca RMA |
| WIN110 | utilw110.cpy |
Finestra di ricerca RMA (variante) |
| COGU07 | utilu07.cpy |
Utility (paragrafo specifico) |
| WIN107 | utilw107.cpy |
Ricerca principale pratica RMA (call-w107) |
| RNEWCONF | utilncnf.cpy |
Configurazione (x99-src-confi) |
Documentazione tecnica -- 2026-04-07