Vai al contenuto

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-ope vuoto): 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-aggiornab-aggiorna)

  1. Valida la griglia (x-controlla-tm-tab-tutto); se ci sono righe non valide, blocca.
  2. In inserimento: inserimento-testate crea 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.
  3. 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).
  4. Se il magazzino di sede e' il magazzino Modula (az-mag-modula): invio-lista-modula / invio-lista-canc inviano le liste di prelievo/cancellazione a Modula via COGD53 (per le merci con gestione Modula attiva).
  5. 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 (tipo E se tecnici usano magazzini secondari, altrimenti I).

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 COGTESAP con 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