Vai al contenuto

COGC12 - Riorganizzazione archivio IVA (eliminazione anno)

Sorgente: cbl/cogc12.cbl | Tipo: interattivo GUI a maschera con elaborazione batch | Program-ID: COGC12

Menu: Sistema > Archivi > Riorganizzazioni > Iva


Scopo

COGC12 riorganizza l'archivio dei registri/movimenti IVA (COGARIVA) eliminando tutti i movimenti relativi a un determinato anno. Serve a ripulire l'archivio dai dati IVA di annualita' non piu' necessarie, riducendone la dimensione.

L'operatore indica l'anno da cancellare (tm-anno); il programma scandisce COGARIVA a partire da quell'anno e cancella tutti i record fino a tutto l'anno indicato. Al termine la maschera espone i contatori di record letti (tm-letti) e cancellati (tm-canc).

File e tabelle principali

File/Tabella Copybook / definizione Uso
COGARIVA cogc12.fd (record iva-..., chiave iva-chia con iva-anno) Archivio movimenti IVA da riorganizzare: posizionato all'anno richiesto e scandito in avanti; i record con anno ≤ anno indicato vengono cancellati (del-cogariva)
COGTABEL (feurtab) cogfiles.cpy Parametri azienda (rd-azi) e servizi standard

La chiave iva-chia inizia con iva-anno: il programma posiziona con move tm-anno to iva-anno + st-cogariva-notmin (start not-min) e scandisce con rdnxt-cogariva; la rottura avviene quando iva-anno > tm-anno.

Logica di elaborazione

  1. apriz-99-init-program, ctr-abil, rd-azi, open-files; prepara la maschera "Riorganizzo Archivio IVA".
  2. a4 — azzera i contatori di maschera e mostra un avviso (vbx-msg): "questa funzione elimina i movimenti di un determinato anno dall'archivio. Provvedi al salvataggio archivi prima di procedere!!".
  3. a-tm-anno — accept dell'anno; validazione x-controlla-tm-anno (l'anno deve essere significativo, >= 1992, altrimenti "Digitare Anno Significativo"). Tasti: F2 richiama il campo, F3 richiesta conferma, ESC esce.
  4. a-richiesta-conferma — imposta e verifica la conferma (x-imposta-conferma, acc-conf).
  5. b-00 / b-00-loop (eliminazione) — posiziona COGARIVA sull'anno (iva-anno = tm-anno, st-cogariva-notmin) e scandisce in avanti (rdnxt-cogariva): per ogni record letto incrementa tm-letti; appena iva-anno > tm-anno termina il ciclo (go to b-90); altrimenti cancella il record (del-cogariva) e incrementa tm-canc. I contatori vengono aggiornati a video a ogni iterazione.
  6. b-90 — messaggio finale che invita a eseguire l'utility di compattazione archivi per COGARIVA.ARC (la cancellazione logica non recupera spazio fino alla compattazione fisica).

Note e avvertenze operative

  • Da eseguire in esclusiva: cancella record da COGARIVA in modo massivo; va lanciato senza altri accessi in corso sull'archivio IVA.
  • Backup obbligatorio: la funzione avvisa esplicitamente di provvedere al salvataggio archivi prima di procedere. L'operazione non e' reversibile a livello dati.
  • Compattazione successiva: al termine l'archivio COGARIVA.ARC va compattato con l'apposita utility per recuperare fisicamente lo spazio dei record cancellati.
  • Ambito: elimina l'anno indicato (e solo quello: la rottura e' su iva-anno > tm-anno). Anni antecedenti eventualmente presenti prima del punto di start non vengono raggiunti, poiche' il posizionamento e' esatto sull'anno richiesto.
  • Sorgente legacy convertito a GUI: elaborazione governata da GO TO fra paragrafi (a-tm-anno, b-00, b-90, fine); accessi al file tramite le routine generate da Screens (st-cogariva-notmin, rdnxt-cogariva, del-cogariva).