COGMAE - Trasferimenti magazzino viaggiante¶
Sorgente: cbl/cogmae.cbl (5.635 righe) | Tipo: Programma interattivo GUI con griglia, generazione doppio documento di trasferimento; supporta anche modalita' batch (chiamato)
Menu: Assist 2.0 > Operativo > Gestione Interventi a Richiesta > Trasferimenti magazzini viaggianti > Gestione
Scopo¶
Gestisce i trasferimenti di merce tra il magazzino di sede e i magazzini viaggianti (i furgoni/magazzini mobili dei tecnici di assistenza). Un trasferimento genera due documenti di movimento magazzino coordinati:
- un documento di uscita dal magazzino origine;
- un documento di entrata nel magazzino destinazione.
Il verso e' determinato dall'operazione:
- Carico magazzino viaggiante (
tm-ope-carico-mv = 'S'): uscita dalla sede → entrata nel viaggiante; - Scarico magazzino viaggiante (
tm-ope-scarico-mv = 'S'): uscita dal viaggiante → entrata in sede.
La merce da trasferire e' inserita in una griglia (e-tm-tab), con quantita' e, per gli articoli a serial number, i s/n movimentati (con controllo dell'ubicazione).
Modalita' di caricamento della griglia¶
- Scarico completo (
tm-sca-completo): precarica la griglia con l'intera giacenza da trasferire (carica-griglia-1). - Scarico residuo (
tm-sca-residuo): precarica il residuo (carica-griglia-2). - Reintegro (
tm-reintegro, 101016): precarica gli articoli scaricati dal magazzino viaggiante selezionato alla data indicata, per reintegrarli (carica-griglia-3). - Manuale (
tm-car-manuale/tm-sca-manuale): inserimento riga per riga.
Modalita' operative¶
Il programma e' guidato dal campo cogmae-ope del linkage:
- da menu (
cogmae-opevuoto): richiesta interattiva completa, inserimento nuovo o modifica; MODIFICA: apre direttamente un trasferimento esistente per chiave documento;INS-BATCH: inserimento non interattivo da un file di dettaglio (cogmae-file-dettaglio), con logging su file; usato da altri flussi (es. import Areagate). In questa modalita' non apre la maschera e restituisce gli estremi dei due documenti creati.
Nota: dal 2026 (TASK-2252) il programma non e' avviabile da menu se la configurazione ass-chiam / movimentazione-lotti e' impostata a A (movimentazione a lotti attiva), che sposta la gestione su un flusso diverso.
Interfaccia chiamato (linkage util-cogmae)¶
| Campo | Tipo | Uso |
|---|---|---|
cogmae-caller / cogmae-called |
x(08) | Identificativi chiamante/chiamato |
cogmae-ope |
x(10) | Modalita': vuoto / MODIFICA / INS-BATCH |
cogmae-i-doc |
Chiave documento (mag/ann/tip/num) per MODIFICA | |
cogmae-i-mag-sede |
x(01) | Magazzino di sede |
cogmae-i-mag-viaggiante |
x(01) | Magazzino viaggiante (legacy a 1 char) |
cogmae-i-mgp-viaggiante |
x(05) | Magazzino viaggiante (261018, a 5 char, prevale se valorizzato) |
cogmae-i-data |
9(08) | Data trasferimento |
cogmae-i-tipo-trasf |
x(01) | E = entrata (carico viaggiante), U = uscita (scarico viaggiante) |
cogmae-file-dettaglio |
x(100) | File di dettaglio per INS-BATCH |
cogmae-o-esito |
x(01) | Esito (output) |
cogmae-o-doc-uscita / cogmae-o-doc-entrata |
x(12) | Estremi dei due documenti creati (output) |
File acceduti¶
Input/lettura¶
| File | Copybook | Uso |
|---|---|---|
| COGMAGAZ | magz-rec |
Magazzini (sede e viaggiante): descrizioni |
| COGMERCI | mer-rec |
Anagrafica merci |
| COGMOMAG | mag-rec |
Movimenti magazzino esistenti (variazione, cancellazione, reintegro) |
| COGTESBO | tes-rec |
Testate documenti (variazione/cancellazione) |
| COGMATRI | mtr-rec |
Matricole/serial number: ubicazione |
| ASNAPPMT | Matricole assegnate al magazzino viaggiante (reintegro) | |
| COGSLKEY / COGSLMAG | Chiavi/magazzini lista di prelievo Modula (chiavi k02) |
Output/scrittura¶
| File | Copybook | Scrittura |
|---|---|---|
| COGTESBO | tes-rec |
Testata documento uscita (tipob U/T) e testata documento entrata (tipob T) |
| COGTESAP | tsa-rec |
Dati aggiuntivi testata (flag esportato) |
| COGMOMAG | mag-rec |
Righe movimento sui due documenti |
Chiavi secondarie¶
asnintes.k07,cogslkey.k02,cogslmag.k02,cogmomag.k02,cogmatri.k02
Configurazioni RNEWCONF (x99-confi, pack coge)¶
| Idx | Gruppo | Chiave | Variabile | Effetto |
|---|---|---|---|---|
| 01 | CAUSALI |
MMV-USCITA-SEDE-MV |
tm-cfg-cau-uscita-sede-mv |
Causale uscita dalla sede (carico viaggiante) |
| 02 | CAUSALI |
MMV-ENTRATA-SEDE-MV |
tm-cfg-cau-entrata-sede-mv |
Causale entrata in sede |
| 03 | CAUSALI |
MMV-USCITA-MV-SEDE |
tm-cfg-cau-uscita-mv-sede |
Causale uscita dal viaggiante (scarico) |
| 04 | CAUSALI |
MMV-ENTRATA-MV-SEDE |
tm-cfg-cau-entrata-mv-sede |
Causale entrata nel viaggiante |
| 05 | assist |
tecnici-uso-mag-secondari |
tm-cfg-tecnici-uso-mag-secondari |
Se S, i tecnici usano magazzini secondari (ubicazione E, magazzino di appoggio) |
| 06 | MAGAZZINO |
MAGAZZINO-FITTIZIO-SECONDARI |
tm-cfg-mag-appoggio-ms |
Magazzino di appoggio per i secondari |
| 07 | progcogv51 |
euta-c041-ctr-gia |
tm-cfg-ctr-gia |
Controllo giacenza |
| 08 | progcogv51 |
ctr-gia-sblocco-password |
tm-cfg-ctr-gia-sblocco-password |
Password di sblocco del controllo giacenza (230524) |
| 09 | ass-chiam |
movimentazione-lotti |
tm-cfg-movimentazione-lotti |
Se A, blocca l'avvio da menu (TASK-2252) |
Programmi chiamati¶
| Programma | Operazione | Scopo |
|---|---|---|
| COGS25 | (numerazione) | Numero bolla per i documenti di uscita ed entrata |
| COGU07 | cerca-matricola / entrata-uscita |
Movimentazione serial number tra magazzini |
| COGU12 | (giacenza) | Aggiornamento giacenza |
| GRIDADMN | Personalizzazione della griglia (S-F4) | |
| COGS10 | (validazione, con utils10) |
|
| COGM22 | (232219, gestione collegata) | |
| COGD53 | Invio lista di prelievo/cancellazione a Modula (se magazzino sede = Modula) | |
| GESEVLOG | Log eventi di procedura | |
| DIALOGS | Dialoghi di conferma | |
| COGS65 / COGW36 / COGW92 / COGW115 | Lookup/aiuti (fornitore, magazzino, ecc.) |
Flusso di aggiornamento (a1-aggiorna → b-aggiorna)¶
- Valida la griglia (
x-controlla-tm-tab-tutto); se ci sono righe non valide, blocca. - In inserimento:
inserimento-testatecrea le due testate documento (uscita ed entrata) determinando i magazzini di origine/destinazione (con eventuale magazzino di appoggio se i tecnici usano magazzini secondari) e le causali. aggiornamento-dettaglio: per ogni riga della griglia crea le righe di movimento sui due documenti e aggiorna la giacenza (COGU12); movimenta i serial number (COGU07).- Se il magazzino di sede e' il magazzino Modula (
az-mag-modula):invio-lista-modula/invio-lista-cancinviano le liste di prelievo/cancellazione a Modula via COGD53 (per le merci con gestione Modula attiva). - In modalita' INS-BATCH, restituisce gli estremi dei due documenti in
cogmae-o-doc-uscita/cogmae-o-doc-entrata.
Cancellazione (d-cancella)¶
Cancella entrambi i documenti del trasferimento con ripristino giacenza. Bloccata se il trasferimento proviene da Areagate (w-u-tes-exp-areagate / w-e-tes-exp-areagate = "S") o se sono presenti serial number non modificabili. Se il magazzino sede e' Modula, invia prima la lista di cancellazione a Modula.
Note implementative¶
- Il programma apre una procedura sul log eventi (
GESLPRC/gesdebug), utile per il debug dei trasferimenti batch. - Il magazzino viaggiante e' passato in due formati: legacy a 1 char (
cogmae-i-mag-viaggiante) e nuovo a 5 char (cogmae-i-mgp-viaggiante, 261018) che prevale se valorizzato. - L'ubicazione con cui confrontare i s/n e' la sede (tipo
I) in carico, il magazzino viaggiante in scarico (tipoEse tecnici usano magazzini secondari, altrimentiI).
Storico modifiche significative (dal sorgente)¶
- 101016: caricamento griglia di tipo "Reintegro" (
carica-griglia-3) - 170217: correzione causali su documento entrata/uscita
- 261018: magazzino viaggiante a 5 char; gestione magazzini secondari e magazzino di appoggio
- 040118: integrazione Modula (invio liste prelievo/cancellazione via COGD53)
- 110917: scrittura
COGTESAPcon flag esportato - 200220: controllo giacenza (
euta-c041-ctr-gia) - 230524: password di sblocco controllo giacenza; flag
salta-controllo - 230226: TASK-2252, blocco avvio da menu se
movimentazione-lotti = A