COGE53 -- Giro RID ad Anno Nuovo¶
Sorgente: cbl/coge53.cbl | Tipo: Programma character-mode (maschera testuale) | Program-ID: coge53
Menu: Vendite > R.I.D. > Giro RID ad Anno Nuovo
Scopo¶
Gestione del passaggio ad anno nuovo delle distinte RID (Rapporto Interbancario Diretto). Legge gli effetti girati non ancora contabilizzati dall'archivio NUTGIRID per una banca selezionata, li presenta in una tabella, e alla conferma:
- Chiude il conto transitorio (movimenti in Avere)
- Apre i conti banca (movimenti in Dare)
- Registra le commissioni bancarie
- Crea nuovi documenti di prima nota (COGPNONC)
- Marca i record su NUTGIRID come elaborati
File e tabelle¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| NUTBANAS | Indicizzato, lettura | Banche assuntrici (anagrafica banche) |
| NUTGIRID | Indicizzato, I/O | Archivio giri RID (distinte in transito) |
| COGTABEL | Indicizzato, lettura | Tabella generica: tipo 66 per dati contabilita' |
| COGPNONC | Indicizzato, scrittura | Prima nota non confermata (inserimento movimenti) |
| COGPNCON | Indicizzato, lettura | Piano dei conti confermato (lettura descrizioni) |
| LAVORO | Indicizzato, I/O | File di lavoro temporaneo (aggregazione per valuta/distinta) |
Copybook principali¶
COGFILES.CPY-- file di sistema (feurtab)NUTBANAS.CPY-- record banche assuntriciNUTGIRID.CPY-- record giri RIDCOGTABEL.CPY-- record tabella genericaCOGPNONC.CPY-- record prima nota non confermataCOGPNCON.CPY-- record piano dei conti confermatoCOGCONTA.CPY-- record contabilita' (dati esercizio, chiusure)WSTATO.CPY,WGRAVE.CPY,WOPENF.CPY,WNSCR.CPY,COGAZIEN.CPYUTILS25.CPY-- interfaccia COGS25 (numerazione documenti)UTILW10.CPY-- interfaccia WIN010 (ricerca contropartite)UTILU10.CPY,k-U10.CPY-- editing importi e divise
Struttura del programma¶
Programma in stile character-mode (non GUI/Screens): maschera testuale
definita direttamente in working-storage (mm-1), tabella con navigazione
a cursore e paginazione manuale. Massimo 216 righe (t-size = 216).
Paragrafi principali¶
| Paragrafo | Funzione |
|---|---|
a000 |
Inizializzazione, apertura file lavoro e file di sistema |
a001 |
Display maschera, inizializzazione tabella |
a002-a005 |
Accept banca e validazione |
a011-a015 |
Accept contropartita banche e validazione |
a023 (riempi-file) |
Lettura NUTGIRID e scrittura su file LAVORO |
a024-a026 |
Caricamento file LAVORO nella tabella a video |
s1-40-disp / s1-40-rev |
Display riga corrente/precedente (con reverse) |
s1-45 |
Accept cursore per navigazione tabella |
a036-a037 |
Conferma e inizio aggiornamenti |
a038-a040 |
Lettura dati contabilita' (COGTABEL tipo 66) |
x1-diagno |
Validazione date (esercizio, contabilizzazione) |
x1-agg-num |
Numerazione documenti tramite COGS25 |
agg-tran |
Scrittura movimento P.N. su conto transitorio (Avere) |
agg-ban |
Scrittura movimento P.N. su conto banca (Dare) |
agg-comm |
Scrittura movimento P.N. su conto commissioni (Dare) |
agg-tran1 |
Scrittura movimento P.N. contropartita commissioni (Avere) |
a044-a050 |
Aggiornamento NUTGIRID: marcatura record come elaborati |
x4-cancella |
Cancellazione singola riga da LAVORO e NUTGIRID |
Logica di elaborazione¶
Fase 1: Caricamento (riempi-file)¶
- Scan NUTGIRID con chiave secondaria: flag vuoto + codice banca =
tm-ban - Per ogni record con flag vuoto e banca corrispondente:
- Conversione importo nella divisa di conto tramite COGU10W
- Scrittura su file LAVORO (chiave: valuta + distinta + mastro/conto/sottoconto)
- Il tipo record (
gri-tipo) distingue:"B"= banca, altro = commissione
Fase 2: Validazione date (x1-diagno)¶
Per ogni riga della tabella:
- Data valuta non deve essere < data contabilizzazione (datdachiur)
- Data valuta non deve essere > data chiusura esercizio attuale (datchiuatt)
- Data valuta deve essere > data chiusura esercizio precedente (datchiupre)
Fase 3: Generazione movimenti (a042-a043)¶
Per ogni record del file LAVORO, raggruppato per valuta e distinta:
- Cambio valuta o distinta: richiede nuovo numero documento (COGS25, tipo 5)
- Record tipo "B" (banca):
agg-ban: movimento DARE su conto banca (lav-mastro/conto/sconto)agg-tran: movimento AVERE su conto transitorio (ban-mas-tra/con-tra/sco-tra)- Record tipo commissione:
agg-comm: movimento DARE su conto commissioniagg-tran1: movimento AVERE su contropartita commissioni (wban-mas/con/scon)- Accumula
tot-transitoper il totale complessivo
Fase 4: Marcatura NUTGIRID (a044-a050)¶
Per ogni record del file LAVORO:
1. Legge il record corrispondente da NUTGIRID
2. Lo cancella (DELETE)
3. Lo riscrive con gri-flag = "*" e gri-flag1 = "*" (marcato come elaborato)
CALL esterni¶
| Programma | Scopo |
|---|---|
| COGS25 | Numerazione documenti (tipo 5, per valuta) |
| WIN023.COB | Ricerca banche assuntrici |
| WIN010.COB | Ricerca contropartite CO/GE |
| COGU10W | Editing e conversione importi/divise |
Note implementative¶
- Il programma e' in stile legacy character-mode: non usa Screens, la
maschera e' definita come costante in working-storage (
mm-1). - La navigazione tabella e' gestita manualmente con
tst-fun(su/giu/pagina). - I record vengono scritti su COGPNONC (prima nota non confermata): la contabilizzazione definitiva avverra' successivamente.
- La descrizione dei movimenti riporta "RID CLIENTI DIST. N. nnnnn".
- Il programma supporta la numerazione documenti automatica per mese (lettura mese dalla data valuta tramite COGS25).