Vai al contenuto

COGE07 — Verifica Partita IVA / Codice Fiscale clienti-fornitori

Sorgente: cbl/coge07.cbl | Tipo: Stampa/estrazione a maschera | Program-ID: coge07

Menu: Contabilita' > Archivi & Tabelle > Stampe [Verifica P.Iva] ; Contabilita' > Bilancio > Nuovi elenchi clienti fornitori [Verifica p.iva / codice fiscale] ; Contabilita' > Bilancio > Spesometro/Esterometro [Verifica P.Iva / Codice Fiscale]


Scopo

Il programma serve a bonificare le anagrafiche clienti/fornitori prima di adempimenti fiscali (spesometro, esterometro, elenchi clienti-fornitori). Produce una stampa di controllo che elenca le anagrafiche con partita IVA o codice fiscale mancanti, formalmente non validi o incoerenti, piu' un secondo elenco delle anagrafiche che condividono la stessa partita IVA (doppioni).

L'operatore sceglie se controllare i Clienti o i Fornitori e l'anno di riferimento dei movimenti IVA: vengono verificate solo le anagrafiche italiane (senza codice stato estero) che hanno effettivamente movimenti IVA nell'anno indicato, cosi' da concentrare la verifica sui soggetti rilevanti per la comunicazione.

La validita' formale di partita IVA e codice fiscale e' delegata alla routine di calcolo COGE05. I record segnalati vengono accumulati in un file di transito temporaneo (COGTRANS) e da li' stampati.

File e tabelle principali

File/Tabella Copybook Uso
COGGEANA coggeana.cpy / .fd / .k01 / .k03 Anagrafica clienti/fornitori: legge codice, ragione sociale, P.IVA (ana-piva), codice fiscale (ana-cofi), codice stato estero (ana-st-cod), flag privato (ana-privato). Scansione doppioni su chiave secondaria .k03 (ana-tipo2)
COGARIVA cogariva.cpy / .fd / .k02 / .k03 Movimenti IVA: filtro per anno (iva-anno) e verifica esistenza movimenti per l'anagrafica nell'anno richiesto
COGTABEL cogtabel.cpy Tabella generica; tipo 54 (stati esteri) per distinguere paesi intra-comunitari/extra-comunitari (euta-st-tip)
COGCNDCF cogcndcf.cpy Condizioni anagrafiche (nome/cognome privati, causali "NB"/"NC")
COGTRANS dichiarato inline nel sorgente File di transito temporaneo con i record da stampare. Chiave primaria trs-chia1 (trs-cod + trs-cod-errore), chiave secondaria trs-chia2 (P.IVA) per la ricerca doppioni

Il nome fisico di COGTRANS e' costruito a runtime in w-trs-name come <tmp-dir>/#$COGE07.<operatore>, univoco per operatore.

Flusso principale

  1. apri — inizializzazione, apertura file, creazione/azzeramento del file di transito COGTRANS (open output poi i-o). Se COGTRANS risulta gia' in uso (status non "00") il programma avvisa ed esce.
  2. a-tm-clifor — selezione Clienti / Fornitori (tm-clifor).
  3. a-tm-anno — anno di riferimento movimenti IVA (tm-anno), con controllo obbligatorieta' in x-controlla-tm-anno.
  4. a-riga-fine — conferma parametri e chiamata a COGS54 per l'impostazione della stampa (destinazione, numero righe).
  5. stampa-dati / stampa-dati-loop — scorre COGARIVA per l'anno richiesto; per ogni anagrafica del tipo scelto rilegge COGGEANA, salta gli esteri, e applica i controlli:
  6. privato con P.IVA valorizzata (errore 5), privato senza codice fiscale (errore 2);
  7. regole per anno: fino al 2007 distingue italiano/extra-comunitario (intra/extra via intra-extra-com su COGTABEL tipo 54); dal 2008 il codice fiscale deve essere sempre presente per gli italiani;
  8. validazione formale P.IVA (errore 3) e codice fiscale (errore 4) tramite COGE05;
  9. controlli aggiuntivi in x-aggiorna: provincia mancante (7), CAP a zero (8), indirizzo/localita' mancanti (9), nome privato da verificare (6).
  10. scrivi-cogtrans-riga — scrive il record segnalato in COGTRANS e ne stampa la riga (stampa-riga, con testata stampa-testa).
  11. x1-doppia — seconda parte: riazzera COGTRANS, scorre COGGEANA per P.IVA (chiave .k03), individua le anagrafiche con la stessa partita IVA e movimenti IVA nell'anno, e stampa l'elenco dei doppioni (intesta1).
  12. fine / z-chiudi — chiusura file e finestra, uscita.

Sottoprogrammi chiamati

Programma Ruolo
COGE05 Calcolo/verifica formale di partita IVA e codice fiscale (chiamato come COGE05.COB con util-e05, e05-staer0 = esito)
COGS54 Gestione parametri e impostazione della stampa

Note

  • Il paragrafo x-aggiorna contiene una porzione di codice commentata che in passato riscriveva l'anagrafica (rwr-coggeana) impostando ana-privato/ana-natgiur a seconda della coerenza P.IVA/codice fiscale; attualmente il ramo attivo esegue solo controlli su provincia, CAP e indirizzo/localita' e la scrittura delle condizioni nome/cognome (COGCNDCF causali "NB"/"NC") per i privati. Il move "S" to tm-aggiorna immediatamente prima rende sempre attivo questo ramo.
  • Il file COGTRANS e' un transito di lavoro per operatore: viene ricreato in output all'avvio e riazzerato prima dell'elaborazione doppioni. Non viene cancellato in chiusura (viene sovrascritto alla successiva esecuzione).
  • Il programma usa ancora PERFORM ... THRU e diversi GO TO: e' codice legacy, da non prendere come modello per nuove scritture (vedi convenzioni COBOL del progetto).
  • Le chiavi secondarie di COGGEANA (.k03), COGARIVA (.k02/.k03) e COGTRANS (.k01/.k02) sono incluse manualmente in fondo alla procedure division.