Vai al contenuto

COGE95 - Controllo Numerazioni IVA Clienti/Fornitori

Sorgente: cbl/coge95.cbl | Program-ID: COGE95 | Tipo: Programma interattivo (mmmask)

Menu: Contabilita' > Documenti Iva > Stampe


Scopo

Controlla l'integrita' della numerazione del giornale IVA clienti o fornitori: rileva buchi nella sequenza progressiva, duplicati e date non progressive. Il tipo C/F e' passato via wo-parametro (default C=Clienti).


File e tabelle

File/Tabella Tipo Modalita' Descrizione
COGTABEL Indexed Input Tabelle generiche (tipo 68: tipi doc.)
COGARIVA Indexed Input Archivio IVA clienti/fornitori
COGFATTU Indexed Input Archivio fatture (controllo messa arrivo)
SCARICO Indexed I/O File temporaneo per rilevamento duplic.
FLSTA Sequential Output File stampa

Il file scarico e' un file temporaneo creato in ext-tmp-dir con nome ctriva.<wo-oper>, strutturato per chiave (anno, nfat, nrecord, tdoc).

Copybook utilizzate

Copybook Descrizione
wstato.cpy Gestione status file
wgrave.cpy Gestione errori gravi
wopenf.cpy Apertura file generica
wnscr.cpy Variabili di schermata
cogazien.cpy Dati azienda (incl. az-gio-num per modalita' T)
cogcont1.cpy Dati contabilita'
utils52.cpy Utility calendario/data
utils54.cpy Utility gestione stampa (COGS54)
utilw67.cpy Utility W67 (ricerca tipo documento IVA)
k-u10.cpy Costanti

Logica di elaborazione

  1. Il parametro wo-parametro determina il tipo (C o F); il titolo della maschera cambia di conseguenza.
  2. L'utente imposta: tipo giornale (tm-tipogior), tipo documento (tm-fat-tip), anno competenza (tm-annocomp), intervallo numeri.
  3. Se az-gio-num = "T" (giornale per tipo documento) il programma itera su tutti i tipi documento trovati in COGTABEL tipo 68 con euta-clifotiva = tm-tipogior, eseguendo la routine tratta-cogariva per ognuno.
  4. In modalita' standard scansiona COGARIVA ordinato per anno + nfat; per ogni record con iva-nrecord = 0 incrementa un contatore e verifica la progressivita' con il contatore atteso.
  5. I duplicati vengono rilevati tentando di scrivere su scarico con chiave univoca: in caso di invalid key il record esiste gia' (duplicato).
  6. I buchi vengono segnalati dal paragrafo scrivi-righe che stampa un messaggio per ogni numero mancante nell'intervallo.
  7. Le date non progressive generano un messaggio con i numeri e le date coinvolte.
  8. Contatori finali: i = duplicati, j = buchi, k = date non progressive.
  9. Dopo la stampa viene chiamato COGS54 per la gestione della destinazione.

Paragrafo tratta-cogariva (modalita' T): stesso algoritmo ma con filtro aggiuntivo su iva-tdoc. Il sorgente usa ancora PERFORM ... THRU (riga 418: perform tratta-cogariva thru ex-tratta-cogariva) — comportamento legacy.

Chiamate a sottoprogrammi

Programma Funzione
WIN067 Popup selezione tipo documento IVA (F8)
COGS54 Gestione stampa (scelta destinazione + invio)