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
- L'utente indica il file e la data di aggiornamento.
- Il file viene copiato localmente tramite
C$COPY (supporta thin client con @[DISPLAY]:).
- Se il file e' in formato XLS, viene convertito in testo tramite
ESTRXLS.
- 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 |