OSK004 — Verifica/aggiorna righe tariffe contratti (ASNCNTAR)¶
Sorgente: cbl/osk004.cbl | Tipo: Programma interattivo / tool di bonifica | Program-ID: OSK004
Menu: Programma non a menu — tool tecnico/verticalizzazione OSK, lanciato manualmente
Scopo¶
Tool di bonifica per verificare e riallineare le righe tariffa dei contratti (ASNCNTAR) i cui importi siano stati alterati da un rinnovo errato (vedi ASN051, TASK-5330).
Importa un file (CSV/TXT/XLS/XLSX) con i prezzi "corretti" dei canoni per matricola/CMA, individua per ogni riga il contratto e la riga tariffa corrispondente e segnala (e, se non in prova, aggiorna) gli importi che differiscono da quelli del file. Produce un file di segnalazioni apribile a fine elaborazione.
Colonne attese nel file di import¶
Il primo record del file deve contenere gli identificativi di colonna (case-insensitive). Colonne obbligatorie:
| Identificativo | Variabile | Descrizione |
|---|---|---|
ACNT-MTR-SN |
td-acnt-mtr-sn |
Serial number matricola (risolto in amtr-id via ASNMATRI k02) |
ACNT-CMA |
td-acnt-cma |
Codice CMA della prestazione (verificato su COGRACMC) |
ACNT-IMPORTO-CANONE |
td-acnt-importo |
Importo canone atteso da confrontare con acnr-prezzo |
Un valore #@# forza l'azzeramento del campo; un prefisso '!' viene rimosso dal dato.
File acceduti¶
| File/Tabella | Copybook | Modalita' | Uso |
|---|---|---|---|
| ASNMATRI | asnmatri (k02) |
lettura | Risoluzione serial number -> id matricola |
| ASNCNMTR | asncnmtr (k02) |
lettura | Matricola -> contratto (acnc-id-contratto) |
| ASNCNTAR | asncntar |
I-O | Righe tariffa contratto: confronto/aggiornamento acnr-prezzo |
| ASNCNTES | asncntes |
lettura | Validazione contratti "Da"/"A" |
| COGRACMC | cogracmc (k02) |
lettura | Codifica CMA / collegamento prestazione-merce |
| cogseque / cogexprt / cogrisul | (file di lavoro sequenziali) | I/O | File di import, export e segnalazioni |
| cogtrans | cogtrans.k01 |
I-O | File di transito/lock per operatore |
Flusso di elaborazione (importazione)¶
a1-carica-campi— legge la riga di intestazione del file e costruisce la tabella colonne (tab-campi); verifica la presenza delle tre colonne obbligatorie.b-importa/b1-carica-delimitato— scandisce ogni record, isola i campi delimitati e popolatab-dati. PerACNT-MTR-SNrisolve l'id matricola; perACNT-CMAverifica la codifica.b1-validazioni-incrociate— dalla matricola risale al contratto (ASNCNMTR), applica i filtri "Da/A contratto" e cerca suASNCNTAR(pertinenza"C") la riga tariffa la cui merce coincide con quella del CMA (rcm-merce). Se l'importo della riga tariffa (acnr-prezzo) differisce da quello del file (td-acnt-importo):- viene scritta una segnalazione nel file risultati;
- se non in elaborazione di prova (
tm-test = "N"), viene assegnatotd-acnt-importoadacnr-prezzoe riscritta la riga (rwr-asncntar).
Le segnalazioni (matricola non trovata, contratto non trovato, CMA non codificato, CMA non presente sulle tariffe del contratto, prezzo divergente) vengono accodate al file risultati osk004.txt, proposto in apertura a fine elaborazione.
Maschera (filtri principali)¶
| Campo | Variabile | Descrizione |
|---|---|---|
| Operazione | tm-ope |
"I" = importa/verifica (l'esportazione e' disabilitata) |
| Da/A contratto | tm-contra-da / tm-contra-a |
Intervallo id contratto da elaborare |
| File da importare | tm-file |
Selezionabile con F7 (C$OPENSAVEBOX) |
| Elaborazione di prova | tm-test |
"S" = solo segnalazioni, nessun aggiornamento |
Configurazioni (x99-load-config)¶
| Gruppo | Chiave | Variabile |
|---|---|---|
| cogesys | delimitatore-colonne-excel | tm-cfg-delimiter |
| ricegenera | ricerca-upper | tm-cfg-upper |
| ass-strum | merce-matricola-default | tm-cfg-merce-def |
| ass-contr | modo-programmazione | tm-cfg-modo-programmazione |
Note¶
- L'esportazione (
tm-ope = "E") e' presente nel codice ma disabilitata (x-controlla-tm-operifiuta l'operazione). - E' il complemento di bonifica di ASN051: mentre la correzione TASK-5330 in ASN051 impedisce nuovi errori in fase di rinnovo, OSK004 riallinea i contratti gia' corrotti partendo dai prezzi corretti forniti su file.
Casistica problemi noti¶
Rinnovo contratti OSK: riallineamento tariffe disallineate¶
- Sintomo: Dopo rinnovi errati, le righe tariffa (
ASNCNTAR) di contratti OSK risultavano disallineate rispetto agli importi originali. - Causa: In ASN051 la rilettura delle righe tariffa usava il contatore sequenziale di ciclo come progressivo; sui contratti OSK i progressivi non sono sequenziali, quindi la riscrittura sovrascriveva importi su righe errate.
- Correzione: OSK004, partendo dal file
IMPCNADB, verifica e riallinea le righe tariffe con importi diversi sui contratti gia' corrotti; la correzione preventiva e' in ASN051 (salvataggio progressivo originale e riscrittura solo con indice ISTAT diverso da zero). - Riferimento: dettaglio — ClickUp 869dn6b7j