Vai al contenuto

COGD22 - Importazione Listini

Campo Valore
Sorgente cbl/cogd22.cbl
Tipo Interattivo (form grafica, batch di elaborazione)
Richiamato da Menu

Descrizione

Programma di importazione listini clienti/fornitori da file esterno (CSV delimitato o Excel XLS). Legge un file sequenziale, valida ogni record (merce, anagrafica, tipo operazione), e aggiorna i listini standard/clienti (COGLISNW) o fornitori (COGLISFO). Supporta inserimento, aggiornamento e cancellazione. Genera un file di segnalazioni per i record scartati.

File e tabelle

File/Tabella Modalita' Descrizione
FEURTAB Input Tabella file aziendali
COGSEQUE Input File sequenziale di importazione (copiato localmente)
COGRISUL Output File segnalazioni errori (cogd22.txt in ext-tmp-dir)
COGRACMC Input Raccordo merci (ricerca per codice avanzato)
COGMERCI Input Anagrafica merci (fallback se raccordo non trovato)
COGGEANA Input Anagrafica clienti/fornitori (validazione)
COGLISNW I-O Listini standard e clienti (inserimento/cancellazione)
COGLISFO I-O Listini fornitori (inserimento/cancellazione)

Copybook principali

Copybook Tipo Utilizzo
cogd22.select Select Definizioni SELECT dei file
cogd22.fd FD Definizioni FD
cogd22.wrk Working Variabili working-storage
cogd22-01.scr Screen Definizione maschera grafica
cogd22.decla Declaratives Sezione error procedure
cogd22.prc Procedure Procedure standard I/O file
utilcogs0c.cpy Working Supporto S0C
opensave.def Working Definizioni dialogo apertura file
utilncnf.cpy Working Accesso configurazioni RNEWCONF
utilu10.cpy Working Interfaccia divisa
utilu20.cpy Working Interfaccia utilita'
utils52.cpy Working Interfaccia date
utilopenfile.cpy Working Interfaccia apertura file esterni
utilestrxls.cpy Working Interfaccia estrazione Excel
coglisnw.k04 Chiave sec. Chiave secondaria listini (k04)

Logica di elaborazione

Preparazione file

  1. L'utente indica il file e la data di aggiornamento.
  2. Il file viene copiato localmente tramite C$COPY (supporta thin client con @[DISPLAY]:).
  3. Se il file e' in formato XLS, viene convertito in testo tramite ESTRXLS.
  4. Il delimitatore e' configurabile tramite RNEWCONF (default dal campo tm-cfg-delimiter).

Importazione (b-importa)

Per ogni riga del file: 1. Parsing: UNSTRING con delimitatore, estrae operazione, merce, tipo anagrafico, codice e fino a 5 coppie quantita'/prezzo. 2. Conversione numeri: i punti decimali vengono sostituiti con virgole, i ":" con virgole; i valori vengono convertiti con FUNCTION NUMVAL. 3. Validazioni: - Operazione: deve essere vuota o "C" - Merce: cerca prima in COGRACMC (codice avanzato), poi in COGMERCI (codice standard) - Tipo anagrafico: deve essere "C", "F" o "L" - Codice: deve essere > 0 - Per tipo "C" o "F": l'anagrafica deve esistere in COGGEANA 4. Elaborazione per tipo: - Operazione "C" (cancellazione): - Tipo C/L: x12-c-listino - cancella tutti i record COGLISNW della merce/tipo/codice - Tipo F: x13-c-lis-for - cancella tutti i record COGLISFO della merce/fornitore - Tipo C/L (inserimento/aggiornamento): x2-listino - scrive/riscrive in COGLISNW per ogni fascia prezzo non zero - Tipo F (inserimento/aggiornamento): x3-lis-for - scrive/riscrive in COGLISFO per ogni fascia prezzo non zero 5. Segnalazioni: ogni record scartato viene scritto in COGRISUL con il motivo dell'errore.

Contatori

  • tm-letti: totale record letti
  • tm-inseriti: record inseriti/aggiornati con successo
  • tm-cancellati: record cancellati
  • tm-scartati: record scartati per errori

Chiamate a sottoprogrammi

Programma Descrizione
COGU10W Formattazione divisa di conto
ESTRXLS Conversione file Excel (XLS) in testo delimitato
C$COPY Copia file (supporto thin client)
C$OPENSAVEBOX Dialogo selezione file
OPENFILE Apertura file segnalazioni nel viewer
RNEWCONF Lettura configurazioni

Configurazioni

Chiave Descrizione
tm-cfg-delimiter Carattere delimitatore del file CSV (default configurato)
tm-cfg-Fasce-qta-per-listino Flag gestione fasce quantita' per listino