COGD32 -- Importazione Gruppi Sconto¶
Sorgente: cbl/cogd32.cbl | Tipo: Programma interattivo GUI (importazione batch) | Program-ID: COGD32
Menu:
- Magazzino > Archivi & Tabelle > Importazioni > Gruppi sconto
Scopo¶
Importazione di gruppi sconto da file esterno (CSV delimitato o Excel XLS). Legge un file con codice merce e condizioni commerciali (prezzo e/o percentuali di sconto), valida i codici merce su COGRACMC e aggiorna la tabella COGSCONT per il gruppo indicato.
File e Tabelle¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| FEURTAB | cogfiles.cpy | Input -- Tabella path file |
| COGRACMC | cogd32.fd / cogd32.prc | Input -- Raccordo codice merce per validazione |
| COGSCONT | cogd32.fd / cogd32.prc | I-O -- Tabella sconti/prezzi per gruppo |
| COGSEQUE | (inline) | Input -- File sequenziale importazione |
| COGRISUL | (inline) | Output -- File segnalazioni scarti |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGU10W | Determina la divisa conto corrente per la data |
| RNEWCONF | Carica configurazione (delimitatore colonne Excel) |
| ESTRXLS | Conversione file Excel XLS in formato testo |
| OPENFILE | Apre il file segnalazioni nel viewer di sistema |
| C$OPENSAVEBOX | Finestra di dialogo selezione file |
| C$COPY | Copia file (supporto thin client) |
Copybook principali¶
cogd32.select,.fd,.wrk,.prc-- Definizioni Screens (file, working, procedure I/O)cogd32-01.scr-- Screen section della mascheracogd32.decla-- Declaratives per gestione errori I/Ocogfiles.cpy-- Descrizione record FEURTABcogazien.cpy-- Dati azienda correnteutilncnf.cpy-- Interfaccia RNEWCONF (configurazioni)utilw81.cpy-- Interfaccia ricerca generica (W81, per selezione gruppo)utilu10.cpy-- Interfaccia COGU10W (divisa)utilu20.cpy-- Utility U20utilopenfile.cpy-- Interfaccia OPENFILEutilestrxls.cpy-- Interfaccia ESTRXLS (conversione Excel)opensave.def-- Definizioni C$OPENSAVEBOXsendw81.cpy-- Invio ricerca W81
Logica di Elaborazione¶
Configurazione¶
Il programma legge da RNEWCONF:
| Chiave | Gruppo | Descrizione |
|---|---|---|
delimitatore-colonne-excel |
cogesys |
Carattere delimitatore colonne nel file CSV |
Flusso principale¶
- Inizializzazione (
apri): init programma, open file, carica configurazione delimitatore, determina divisa corrente (COGU10WconGetDivisaConto). - Accept maschera (
a-tm-file,a-tm-gruppo): input del file sorgente e del gruppo sconto di destinazione. - Conferma (
a-richiesta-conferma): valida i campi, chiede conferma utente. - Cancellazione preventiva (
a-10-loop): scorre COGSCONT perscc-tip = "G"escc-gruppo-sconto = tm-gruppo, cancella tutte le righe del gruppo (solo quelle senza anagrafica,scc-ana = k-ana-null). - Preparazione file (
a-inizio-carica): copia il file nella directory temporanea; se e' XLS chiamaESTRXLSper convertirlo in testo. - Importazione (
b-importa/b-10-loop): legge il file riga per riga, esegue UNSTRING con il delimitatore, normalizza i separatori decimali (.e:->,), converte con NUMVAL. Per ogni riga: - Valida il codice merce tramite lettura su COGRACMC (
rd-cogracmc) - Se merce non trovata: scarta, incrementa
tm-scartati, scrive su file segnalazioni - Se trovata: compone il record COGSCONT con
scc-tip = "G",scc-gruppo-sconto,scc-merce(da COGRACMC),scc-currency,scc-pre/scc-sco-1/scc-sco-2. Esegue WRITE; se chiave duplicata, esegue REWRITE. - Segnalazioni: se ci sono scarti, propone apertura del file di log tramite
OPENFILE.
Struttura record file importazione¶
| Campo | Variabile | Tipo |
|---|---|---|
| Operazione | w-seq-operaz |
PIC X(01) |
| Codice merce | w-seq-merce |
PIC X(30) |
| Prezzo | w-seq-pre |
PIC X(10) |
| Sconto 1 | w-seq-sco1 |
PIC X(10) |
| Sconto 2 | w-seq-sco2 |
PIC X(10) |
Documentazione tecnica -- 2026-04-28