Vai al contenuto

COGD75 -- Importazione scorta massima (Modula)

Sorgente: cbl/cogd75.cbl | Tipo: Programma GUI import file | Program-ID: cogd75

Menu: Magazzino > Modula > Importazione scorta massima


Scopo

Importa i valori di scorta massima degli articoli da un file EXP esportato dal sistema Modula. Legge il file riga per riga, identifica il codice merce e aggiorna il campo mer-sco-max nell'anagrafica merci (COGMERCI).

File e tabelle

File/Tabella Tipo Descrizione
COGMERCI Indicizzato, I/O Anagrafica merci (aggiornamento scorta massima)
FILSEQ Sequenziale, I/O File di import .EXP (line sequential, 400 byte)
cogd75.select Screens File gestiti da Screens (COGMERCI, etc.)

Copybook principali

  • cogd75.wrk, cogd75.fd, cogd75.select, cogd75.decla, cogd75.prc -- generate da Screens
  • cogd75-01.scr -- screen section
  • k-u10.cpy -- costanti per COGU10W
  • l-copiaf.cpy, u-copiaf.cpy -- interfaccia COPIAF (copia file client/server)
  • utilw92.cpy -- interfaccia sendw92
  • utilestrxls.cpy -- interfaccia ESTRXLS (conversione Excel)
  • utilncnf.cpy -- lettura configurazioni RNEWCONF
  • opensave.def -- dialog di apertura/salvataggio file

Struttura del programma

Paragrafi principali

Paragrafo Funzione
apri Inizializzazione, lettura configurazione, preparazione maschera
a4 Impostazione percorso file, conversione path thin client
a-tm-filein Accept del campo file input, gestione F1/F3/F5
a-richiesta-conferma Validazione file e doppia conferma
tratta-file Loop di lettura file e aggiornamento COGMERCI
x-controlla-tm-filein Validazione: estensione .EXP, esistenza file
x-controlla-tm-filein-bis Copia file su server (thin client), conversione XLS
x99-confi Lettura percorso di interscambio da RNEWCONF
x99-load-config Lettura delimitatore colonne Excel

Logica di elaborazione

Formato file di input

Il file EXP e' delimitato da pipe (|). I campi significativi sono:

Posizione Campo Uso
1 Codice articolo Identificazione merce (posizioni 1:2 = gruppo, 3:2 = sottogruppo, 5:5 = codice)
5 Scorta minima Presente ma non usata (commentata nel codice)
8 Scorta massima Valore importato in mer-sco-max

Ciclo di importazione (tratta-file)

Per ogni riga del file:

  1. UNSTRING del record con delimitatore |
  2. Estrazione gruppo, sottogruppo e codice merce dal campo articolo
  3. Conversione punti decimali in virgole, poi NUMVAL per scorta min/max
  4. Lettura merce da COGMERCI (con lock)
  5. Se merce non trovata: messaggio "Merce non trovata" e skip
  6. Se merce non mappata a Modula (mer-modula <> "S"): avviso, ma prosegue
  7. Aggiornamento mer-sco-max e rewrite su COGMERCI

Nota: il campo scorta minima (rg-scorta-min) e' presente nel parsing ma non viene aggiornato (la riga di move e' commentata).

Gestione thin client

Se ext-thin-client = "S": - Il percorso viene convertito da formato client a formato server tramite COPIAF - Il file viene copiato dal client al server tramite COPIAF con operazione "copy" - Se il file e' in formato XLS, viene convertito in TXT tramite ESTRXLS

Configurazioni (RNEWCONF)

Gruppo Chiave Uso
SISTMGA001 euta-c077-path-scambio-a Percorso di interscambio Modula
cogesys delimitatore-colonne-excel Delimitatore colonne (default ";")

CALL esterni

Programma Scopo
RNEWCONF Lettura configurazioni
COPIAF Copia/conversione file client-server
ESTRXLS Conversione file Excel in testo
COGU10W Editing divise