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¶
apri— inizializza il programma, apre i file, legge azienda, carica la configurazione (x99-src-cfg). Setipo-preparazione-riba = "U"esce. Costruisce il nome del file di transitoCOGRICEV.ARCnella tmp-dir.a-tm-tipo-cod— accept del tipo fattura (F8 richiama la lista tipi viaWIN067, F1 apre la configurazione). Blocca se la gestione RIBA e' "P" o "T".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-*).a-tm-data— accept data di creazione delle ricevute, validata contro l'esercizio contabile (conta-conchiuatt9,conta-conchiupre9,conta-dachiu).a-fine-dati— verifica finale (x-imposta-conferma), conferma F3, quindi lanciaelabora.elabora/ela-1— cerca la riga partite aperte (COGTABEL tipo 45) coneuta-p-tipo = "C"corrispondente a mastro/conto anagrafica; impostawuta-partite.st-10/st-10-loop— apre il file ricevute in output, scorre le fatture; per ognuna marcata RIBA gestisce ritenuta e legge le scadenze.a105/a110— scorre le scadenze in COGMOVPA (salta segno "A"), controlla viacogs77se la partita e' gia' chiusa (in tal caso non crea la RIBA), calcola importo e data pagamento.a120/st-20a/st-29a— recupera nome/indirizzo cliente (COGGEANA/COGAPPOG) e la banca/sportello di domiciliazione tramiteCOGU03(per ABI/CAB o per anagrafica).st-30/st-30-loop/st-30-end/st-40— determina i riferimenti di partita aperta e scrive il recordrb-recnel file di transito.fine/z-chiudi— chiude i file (inclusoricfil) 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.ARCviene 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 seaz-flag-ritacdiverso da"F". - Codice legacy: uso estensivo di
GO TOe diPERFORM 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-computersono impostati aacu-cobol.