COGR27 - Ricostruzione lettere d'intento¶
Sorgente: cbl/cogr27.cbl | Tipo: Programma di menu / elaborazione GUI | Program-ID: COGR27
Menu: Sistema > Archivi > Ricostruzioni [Lettere d'Intento]
Scopo¶
COGR27 ricostruisce l'importo raggiunto (plafond utilizzato) delle lettere d'intento, ripartendo da zero e ri-sommando i documenti (fatture e note di accredito) collegati a ciascuna lettera. Per ogni lettera d'intento in COGLTINT:
- azzera il campo
lti-raggiunto(importo gia' utilizzato); - scandisce le fatture (
COGFATTU) collegate alla lettera (stessa anagrafica + numero lettera, chiave 5); - per ogni documento ricalcola l'importo lettera d'intento della fattura (
fat-imp-lti), correggendolo sul record fattura se differente dal totale ri-conteggiato; - determina il segno del documento dalla tabella tipi documento IVA e richiama COGU01 per sommare (fatture, segno
+) o sottrarre (note accredito, segno-) l'importo dal raggiunto della lettera.
Il programma opera in due modalita' scelte da maschera: sola verifica/controllo (nessuna scrittura, solo log) oppure aggiornamento effettivo (tm-aggio = "S"). E' filtrabile su un singolo cliente o su tutti i clienti.
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGLTINT | cogltint.cpy (lti-rec) |
Lettere d'intento: scansione (sorgente del ciclo); azzeramento e riscrittura di lti-raggiunto |
| COGFATTU | cogfiles.cpy (fat-rec) + cogfattu.k05 |
Fatture collegate alla lettera (chiave 5 per anagrafica + fat-let-int); ricalcolo fat-imp-lti |
| COGTABEL | cogfiles.cpy (euta-rec, tipo 68) |
Tipi documento IVA: euta-segnotiva (+ fattura / - nota accredito) per innescare somma/sottrazione |
| COGGEANA | cogfiles.cpy (ana-rec) |
Anagrafica cliente: validazione del cliente selezionato in maschera |
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
| COGU01 | Aggiornamento importo raggiunto della lettera d'intento (operazioni Somma-a-LTI / Sottrai-da-LTI, linkage utilu01.cpy) |
| COGS65W | Aiuto/selezione cliente in maschera (z-s65-tm-cli, linkage utils65.cpy) |
| GESLPRC | Consultazione a video della procedura di log al termine (CONSULTA-PROCEDURA) |
| GESDEBUG (copybook) | Log di procedura: apertura, scrittura righe (gesdebug-write), chiusura (utilgesdebug.cpy) |
Flusso principale¶
main / apri- init,ctr-abil,rd-azi, apertura file, caricamento configurazione debug e apertura log principale.a4- resettab-maschera, imposta modalita' aggiornamento aN(default: sola verifica), carica i controlli.a-tm-cli- accept del cliente (aiuto F8 via COGS65W); vuoto = tutti i clienti. Validazione conx-controlla-tm-cli(cliente inesistente segnalato).a-tm-aggio- accept del flag "aggiornamento?" (tm-aggio, S/N).a-richiesta-conferma/acc-conf- alla conferma F3 apre la sotto-procedura di log e scrive la riga iniziale (con/senza aggiornamento), poi entra nel ciclo.a10/a10-loop- scandisceCOGLTINT: se e' stato scelto un cliente specifico posiziona sulti-tip = C+lti-cod = tm-clie interrompe alla rottura di chiave; altrimenti scandisce tutte le lettere. Incrementatm-letti.- Per ogni lettera, se
tm-aggio = "S"azzeralti-raggiuntoe riscrive il record (rwr-cogltint); log su fallimento riscrittura. a20/a20-loop- scandisceCOGFATTU(chiave 5) per anagrafica + numero lettera; scarta le proforma (az-tipo-prf). Per ogni fattura:- ri-conteggio importo lettera (
fat-imp-lti): selti-art-ese = 0usa direttamentefat-imp-lti; altrimenti somma gli importi (fat-impo) delle 5 righe il cui articolo di esenzione (fat-artese) coincide con quello della lettera (lti-art-ese); - se il totale ri-conteggiato differisce da
fat-imp-ltilo registra a log e, in aggiornamento, correggefat-imp-ltisul record e riscrive la fattura (rwr-cogfattu); - legge il segno del documento su
COGTABELtipo 68 (euta-segnotiva) e, in aggiornamento, chiama COGU01 per sommare (+) o sottrarre (-)fat-imp-ltidal raggiunto della lettera; - incrementa
tm-scritti. a90- scrive la riga finale di log, chiude il log e richiama GESLPRC per consultare la procedura eseguita.
Contatori maschera¶
| Campo | Significato |
|---|---|
| tm-letti | Lettere d'intento lette |
| tm-scritti | Documenti (fatture/note) elaborati e sommati/sottratti |
| tm-cli / tm-des | Cliente filtro e sua descrizione (0 = tutti) |
| tm-aggio | Modalita': S = aggiornamento, N = sola verifica |
Note¶
- In modalita' sola verifica (
tm-aggio = "N") non viene scritto nulla: ne' l'azzeramento del raggiunto, ne' la correzione difat-imp-lti, ne' la chiamata a COGU01. Vengono prodotte solo le righe di log delle differenze rilevate. - Il ri-conteggio dell'importo per articolo di esenzione somma solo le righe (indici 1-5) con
fat-arteseuguale alti-art-ese. - Le proforma (
fat-tip = az-tipo-prf) sono escluse dal calcolo. - Nota storica nel sorgente (PBUG-2073 / PBUG-2246): la somma dei bolli (
fat-bolli) afat-imp-ltie' stata rimossa perche' i 2 euro risultavano conteggiati due volte (gia' inclusi infat-impo); la relativacomputee' commentata. - La chiave secondaria
cogfattu.k05(per anagrafica + lettera d'intento) e' inclusa manualmente a fine procedure division (non generata da Screens). - L'intera elaborazione produce un log consultabile a fine esecuzione tramite GESLPRC.