Vai al contenuto

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 assuntrici
  • NUTGIRID.CPY -- record giri RID
  • COGTABEL.CPY -- record tabella generica
  • COGPNONC.CPY -- record prima nota non confermata
  • COGPNCON.CPY -- record piano dei conti confermato
  • COGCONTA.CPY -- record contabilita' (dati esercizio, chiusure)
  • WSTATO.CPY, WGRAVE.CPY, WOPENF.CPY, WNSCR.CPY, COGAZIEN.CPY
  • UTILS25.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)

  1. Scan NUTGIRID con chiave secondaria: flag vuoto + codice banca = tm-ban
  2. Per ogni record con flag vuoto e banca corrispondente:
  3. Conversione importo nella divisa di conto tramite COGU10W
  4. Scrittura su file LAVORO (chiave: valuta + distinta + mastro/conto/sottoconto)
  5. 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:

  1. Cambio valuta o distinta: richiede nuovo numero documento (COGS25, tipo 5)
  2. Record tipo "B" (banca):
  3. agg-ban: movimento DARE su conto banca (lav-mastro/conto/sconto)
  4. agg-tran: movimento AVERE su conto transitorio (ban-mas-tra/con-tra/sco-tra)
  5. Record tipo commissione:
  6. agg-comm: movimento DARE su conto commissioni
  7. agg-tran1: movimento AVERE su contropartita commissioni (wban-mas/con/scon)
  8. Accumula tot-transito per 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).