Vai al contenuto

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:

  1. azzera il campo lti-raggiunto (importo gia' utilizzato);
  2. scandisce le fatture (COGFATTU) collegate alla lettera (stessa anagrafica + numero lettera, chiave 5);
  3. per ogni documento ricalcola l'importo lettera d'intento della fattura (fat-imp-lti), correggendolo sul record fattura se differente dal totale ri-conteggiato;
  4. 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

  1. main / apri - init, ctr-abil, rd-azi, apertura file, caricamento configurazione debug e apertura log principale.
  2. a4 - reset tab-maschera, imposta modalita' aggiornamento a N (default: sola verifica), carica i controlli.
  3. a-tm-cli - accept del cliente (aiuto F8 via COGS65W); vuoto = tutti i clienti. Validazione con x-controlla-tm-cli (cliente inesistente segnalato).
  4. a-tm-aggio - accept del flag "aggiornamento?" (tm-aggio, S/N).
  5. 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.
  6. a10 / a10-loop - scandisce COGLTINT: se e' stato scelto un cliente specifico posiziona su lti-tip = C + lti-cod = tm-cli e interrompe alla rottura di chiave; altrimenti scandisce tutte le lettere. Incrementa tm-letti.
  7. Per ogni lettera, se tm-aggio = "S" azzera lti-raggiunto e riscrive il record (rwr-cogltint); log su fallimento riscrittura.
  8. a20 / a20-loop - scandisce COGFATTU (chiave 5) per anagrafica + numero lettera; scarta le proforma (az-tipo-prf). Per ogni fattura:
  9. ri-conteggio importo lettera (fat-imp-lti): se lti-art-ese = 0 usa direttamente fat-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);
  10. se il totale ri-conteggiato differisce da fat-imp-lti lo registra a log e, in aggiornamento, corregge fat-imp-lti sul record e riscrive la fattura (rwr-cogfattu);
  11. legge il segno del documento su COGTABEL tipo 68 (euta-segnotiva) e, in aggiornamento, chiama COGU01 per sommare (+) o sottrarre (-) fat-imp-lti dal raggiunto della lettera;
  12. incrementa tm-scritti.
  13. 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 di fat-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-artese uguale a lti-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) a fat-imp-lti e' stata rimossa perche' i 2 euro risultavano conteggiati due volte (gia' inclusi in fat-impo); la relativa compute e' 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.