COGD68 -- Carico da mag. eccedenze (Modula)¶
Sorgente: cbl/cogd68.cbl | Tipo: Programma GUI con griglia paginata | Program-ID: cogd68
Menu: Magazzino > Modula > Carico da mag. eccedenze
Scopo¶
Trasferimento merci dal magazzino eccedenze al magazzino Modula. Il programma carica le giacenze del magazzino eccedenze (COGSLMAG), confronta con la scorta massima e la giacenza nel magazzino Modula, propone le quantita' di reintegro, e alla conferma genera due documenti di trasferimento (uscita + entrata) delegando la registrazione a COGD53 e COGD69.
File e tabelle¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| COGSLMAG | Indicizzato, lettura | Saldi di magazzino per merce/magazzino |
| COGMERCI | Indicizzato, lettura | Anagrafica merci (flag modula, UM, scorta max) |
| COGMAGAZ | Indicizzato, lettura | Anagrafica magazzini (descrizione) |
| COGD68.select | Screens | File gestiti da Screens (COGMERCI, COGTESBO, COGSLMAG, COGMAGAZ, COGTABEL) |
| COGTRANS | Indicizzato, I/O | File di transito per i dati della griglia (temporaneo, eliminato alla chiusura) |
| TRAN-COGD68 | Indicizzato, I/O | File di transito per i dati del documento Modula (temporaneo) |
| COGTABEL | Indicizzato, I/O | Tabella generica (tipo 35: riferimenti trasferimenti) |
| COGTESBO | Indicizzato, scrittura | Testata bolle/documenti |
Copybook principali¶
cogd68.wrk,cogd68.fd,cogd68.select,cogd68.decla,cogd68.prc-- generate da Screenscogd68-01.scr-- screen sectiontran-cogd68.cpy,tran-cogd68.fd-- file di transito documento Modulak-personal.cpy-- costanti personalizzazionecostanti-modula.cpy-- costanti specifiche Modula (es. k-merce-null)utilcogd69.cpy-- interfaccia per CALL a COGD69utilcogl61.cpy-- interfaccia per CALL a COGL61utild53.cpy-- interfaccia per CALL a COGD53utils25.cpy-- interfaccia per CALL a COGS25 (numerazione documenti)utils68.cpy-- interfaccia per CALL a COGS68W (ricerca merci)utilu10.cpy,utilu12.cpy,utilu20.cpy-- utilita' editing/displayutilgdad.cpy-- gestione griglia con GRIDADMNutilncnf.cpy-- lettura configurazioni RNEWCONFwgrid.cpy-- variabili standard griglia paginata
Struttura del programma¶
Il programma usa una griglia paginata (pattern con z-99-accept-paged-grid)
e un file di transito COGTRANS come sorgente dati.
Paragrafi principali¶
| Paragrafo | Funzione |
|---|---|
apri |
Inizializzazione, apertura file, creazione COGTRANS e TRAN-COGD68 temporanei, lettura configurazione |
a4 |
Caricamento dati iniziali: legge magazzini, divisa, display maschera |
a-fine-dati |
Accept conferma iniziale, lancia carica-dati |
carica-dati |
Scansione COGSLMAG per mag. eccedenze, popola COGTRANS |
carica-mag-modula |
Per ogni record COGTRANS legge giacenza Modula e calcola qta' proposta |
a-grid |
Loop principale di accept sulla griglia paginata |
a-riga-dettaglio |
Dettaglio riga: accept di quantita' e flag trasferimento |
registra |
Ciclo di registrazione: genera documenti uscita ed entrata |
c2-testa |
Creazione testata documento (COGTESBO) |
c3-righe |
Ciclo sulle righe da trasferire, CALL a COGD53 per ciascuna |
c4-note |
Inserimento note sul documento |
sel-tutto / desel-tutto |
Selezione/deselezione massiva righe |
x99-configurazione |
Lettura configurazioni da RNEWCONF (magazzini, causali, tipologie) |
Logica di elaborazione¶
Calcolo quantita' proposta (carica-mag-modula)¶
Per ogni merce nel file di transito:
- Legge la giacenza nel magazzino Modula (COGSLMAG).
- Se la merce e' mappata a Modula (
mer-modula = "S"): - Se giacenza Modula < scorta massima:
qta = scorta-max - giacenza-modula - Se la giacenza eccedenze e' inferiore, usa quella come limite
- Se la merce NON e' mappata a Modula:
- Propone l'intera giacenza eccedenze
- Se la quantita' proposta e' > 0, imposta
trs-trasf = "S"(da trasferire)
Registrazione (registra)¶
Il ciclo si ripete finche' ci sono record con trs-qta > 0 e trs-trasf = "S":
- Documento di uscita (magazzino eccedenze):
- Numerazione tramite COGS25 (tipo 2, mag. eccedenze)
- Testata con causale e tipologia di uscita configurate
- Righe: CALL a COGD53 per inserimento riga documento
- Documento di entrata (magazzino Modula):
- Stessa logica, con causale e tipologia di entrata
- Salva riferimento su TRAN-COGD68 per successiva elaborazione Modula
- Inserimento note e cancellazione record processati da COGTRANS
- Al termine del ciclo, CALL a COGD69 per finalizzazione (invio a Modula)
Configurazioni (RNEWCONF)¶
| Gruppo | Chiave | Uso |
|---|---|---|
| SISTMGA001 | euta-c077-mag-ecced | Codice magazzino eccedenze |
| TRASCOGM20 | euta-c024-cau-usc | Causale uscita |
| TRASCOGM20 | euta-c024-cau-ent | Causale entrata |
| TRASCOGM20 | euta-c024-to-usc | Tipologia uscita |
| TRASCOGM20 | euta-c024-to-ent | Tipologia entrata |
Il magazzino Modula viene letto da az-mag-modula (dato aziendale).
CALL esterni¶
| Programma | Scopo |
|---|---|
| COGS25 | Numerazione documenti |
| COGS68W | Ricerca merci |
| COGD53 | Inserimento riga documento |
| COGD69 | Finalizzazione trasferimento Modula |
| COGL61 | Supporto gestione movimenti |
| COGU10W | Editing importi/divise |
| GRIDADMN | Gestione colonne griglia |