Vai al contenuto

COGV97 — Preparazione file per Ricevute Bancarie (RIBA New)

Sorgente: cbl/cogv97.cbl | Tipo: interattivo a maschera (batch di preparazione) | Program-ID: cogv97

Menu: Vendite > Ricevute Bancarie > Preparazione


Scopo

Prima fase della procedura RIBA "New": legge le fatture contabilizzate in un intervallo (tipo fattura, anno/numero da-a) e prepara un file di transito sequenziale (COGRICEV.ARC) con le ricevute bancarie da caricare successivamente. Per ogni fattura marcata come RIBA (fat-rb = "I" o "R") esamina le relative scadenze in cogmovpa, verifica che la partita non sia gia' pagata (tramite cogs77), risolve la banca/sportello di domiciliazione (via COGU03) e scrive un record ricevuta con importo, dati cliente e riferimenti di partita aperta.

Le ricevute vengono create con la stessa divisa del documento contabile di origine. Se la ritenuta d'acconto e' gestita (az-flag-ritac diverso da "F") l'importo della prima scadenza viene decurtato della quota di ritenuta letta da cogritac. La prima RIBA viene saltata se il pagamento prevede una prima rata a rimessa diretta (euta-pg-fl-rd = "S").

Il programma si autoesclude in base alla configurazione: se il tipo preparazione e' "Fase Unica" (tipo-preparazione-riba = "U") rimanda al caricamento diretto; se la gestione RIBA e' a portafoglio ("P") o automatica ("T") segnala che la funzione non e' necessaria.

File e tabelle principali

File/Tabella Copybook Uso
feurtab (COGFATTU) cogfiles.cpy, cogv97.fd Lettura fatture da preparare (st-cogfattu-notmin/rdnxt-cogfattu)
ricfil (COGRICEV.ARC) COGRICEV.CPY File di transito line-sequential in output con le ricevute preparate (rb-rec)
COGTABEL cogfiles.cpy Tabelle generiche: es. contabile (tipo 66), tipi fattura (tipo 68), pagamenti (tipo 14), partite aperte mastro/conto (tipo 45)
COGMOVPA cogmovpa.k03 Scadenze/movimenti partite della fattura (st-cogmovpa-notmin-partita)
COGGEANA (accesso std) Anagrafica cliente (nome/indirizzo per la ricevuta)
COGAPPOG (accesso std) Dati di appoggio del cliente
COGRITAC (accesso std) Ritenuta d'acconto da detrarre (st-cogritac-notmin)
Tabelle dati contabili cogconta.cpy Esercizio contabile (conta-rec) per i controlli data

Flusso principale

  1. apri — inizializza il programma, apre i file, legge azienda, carica la configurazione (x99-src-cfg). Se tipo-preparazione-riba = "U" esce. Costruisce il nome del file di transito COGRICEV.ARC nella tmp-dir.
  2. a-tm-tipo-cod — accept del tipo fattura (F8 richiama la lista tipi via WIN067, F1 apre la configurazione). Blocca se la gestione RIBA e' "P" o "T".
  3. a-tm-anno-da / a-tm-num-da / a-tm-anno-a / a-tm-num-a — accept dell'intervallo di fatture con relativi controlli (x-controlla-*).
  4. a-tm-data — accept data di creazione delle ricevute, validata contro l'esercizio contabile (conta-conchiuatt9, conta-conchiupre9, conta-dachiu).
  5. a-fine-dati — verifica finale (x-imposta-conferma), conferma F3, quindi lancia elabora.
  6. elabora / ela-1 — cerca la riga partite aperte (COGTABEL tipo 45) con euta-p-tipo = "C" corrispondente a mastro/conto anagrafica; imposta wuta-partite.
  7. st-10 / st-10-loop — apre il file ricevute in output, scorre le fatture; per ognuna marcata RIBA gestisce ritenuta e legge le scadenze.
  8. a105 / a110 — scorre le scadenze in COGMOVPA (salta segno "A"), controlla via cogs77 se la partita e' gia' chiusa (in tal caso non crea la RIBA), calcola importo e data pagamento.
  9. a120 / st-20a / st-29a — recupera nome/indirizzo cliente (COGGEANA/COGAPPOG) e la banca/sportello di domiciliazione tramite COGU03 (per ABI/CAB o per anagrafica).
  10. st-30 / st-30-loop / st-30-end / st-40 — determina i riferimenti di partita aperta e scrive il record rb-rec nel file di transito.
  11. fine / z-chiudi — chiude i file (incluso ricfil) ed esce.

Sottoprogrammi chiamati

Programma Ruolo
RNEWCONF Lettura configurazioni RIBA (paragrafo x99-src-cfg)
WIN067 Lista/ricerca tipi documento (F8 su tipo fattura, util-w67)
cogs77 Interrogazione partita aperta (funzione R-PARTITA, verifica se gia' pagata)
COGU03 Ricerca sportello bancario per ABI/CAB o per anagrafica cliente

Configurazioni (RNEWCONF)

Percorso PROGCOGV97, pacchetto C (letto in x99-src-cfg):

Gruppo Chiave Pilota
progcogv97 ordine-di-stampa Ordine di stampa (tm-cfg-ord-prn)
progcogv97 gestione-riba Tipo gestione RIBA: "P" portafoglio, "T" automatica; se valorizzato la funzione si autoesclude (tm-cfg-rib-tip)
progcogv97 ctrl-portafoglio Contropartita di portafoglio (tm-cfg-cport)
progcogv97 ordinamento-riba-in-assegnazione-banca Ordinamento RIBA in assegnazione banca (tm-cfg-ord-riba)
progcogv97 tipo-preparazione-riba "U" = Fase Unica: il programma esce rimandando al caricamento diretto (tm-cfg-tipo-prepara)
progcogv97 to-chiusura-riba-portafoglio Tipo operazione chiusura RIBA a portafoglio (tm-cfg-to-riba)
progcogv97 data-ultimo-gc-da-sbf Data ultimo giroconto da SBF (tm-cfg-data-ultima)
progcogv97 to-gc-da-sbf Tipo operazione giroconto da SBF (tm-cfg-to)

Note

  • Il file di transito COGRICEV.ARC viene creato nella tmp-dir (ext-tmp-dir) ed e' un file line-sequential (non indicizzato).
  • Le RIBA vengono create nella divisa del documento contabile di origine (mov-currency -> rb-currency), come indicato nell'intestazione del sorgente.
  • La ritenuta d'acconto viene detratta solo sulla prima scadenza (mov-paprogsca = 1) e solo se az-flag-ritac diverso da "F".
  • Codice legacy: uso estensivo di GO TO e di PERFORM elabora thru ex-elabora; struttura a paragrafi con etichette numeriche (st-10, a105, a110, ...). Da non prendere a modello per nuovi sviluppi.
  • source-computer/object-computer sono impostati a acu-cobol.