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 Screenscogd75-01.scr-- screen sectionk-u10.cpy-- costanti per COGU10Wl-copiaf.cpy,u-copiaf.cpy-- interfaccia COPIAF (copia file client/server)utilw92.cpy-- interfaccia sendw92utilestrxls.cpy-- interfaccia ESTRXLS (conversione Excel)utilncnf.cpy-- lettura configurazioni RNEWCONFopensave.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:
UNSTRINGdel record con delimitatore|- Estrazione gruppo, sottogruppo e codice merce dal campo articolo
- Conversione punti decimali in virgole, poi
NUMVALper scorta min/max - Lettura merce da COGMERCI (con lock)
- Se merce non trovata: messaggio "Merce non trovata" e skip
- Se merce non mappata a Modula (
mer-modula <> "S"): avviso, ma prosegue - Aggiornamento
mer-sco-maxe 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 |