Vai al contenuto

COGZB0 — Contabilizzazione distinta bollettini C.C.P.

Sorgente: cbl/cogzb0.cbl | Program-ID: cogzb0 | Tipo: interattivo a griglia paginata

Menu: Lab.Odont. > Fatturazione > Pagamenti con Bollettini C.C.P. > Contabilizzazione distinta


Scopo

Contabilizza una distinta di incasso dei bollettini C.C.P. (ritorno contabile posta, WILOCS — ex COGZA11). Presenta l'elenco dei bollettini incassati ma non ancora contabilizzati (LODINFCC senza partita/anno/numero valorizzati), l'operatore seleziona quelli appartenenti alla distinta ricevuta dalla posta e, alla conferma con una data contabile, il programma genera in prima nota (COGPNONC/COGMOVPA) una partita di incasso anticipato per ciascun bollettino selezionato più un'unica riga di contropartita con il totale della distinta. I bollettini vengono così agganciati alla partita creata e non ricompaiono nella successiva estrazione. Permette anche la lettura diretta di un singolo bollettino e il richiamo di COGZA7 per inserirne/modificarne i dati.


File e tabelle

File Copybook Accesso Scopo
LODINFCC lodinfcc.cpy (chiave k03) Lettura/scrittura Bollettini incassati da contabilizzare; aggiornati con i riferimenti della partita creata
LODPRESC (chiave k04) Lettura Prescrizione/commessa: paziente, protocollo
LODCMAGG (via rd-lodcmagg) Lettura Dati fatturazione commessa (cognome per la descrizione prima nota)
COGPNONC (via wr/st/rdnxt-cogpnonc) Lettura/scrittura Prima nota non contabilizzata — righe partita e contropartita
COGMOVPA (via wr-cogmovpa) Scrittura Movimenti di partita generati
COGGEANA coggeana.cpy Lettura Anagrafica cliente, riferimenti mastro/conto
COGTABEL cogtabel.cpy Lettura Esercizio contabile (tipo 66), contropartita (tipo 16)
cogtrans (SELECT interno, 2 chiavi) I/O (transito) Transito con i bollettini estratti, ordinati per importo, e il flag di selezione
cogtrans2 (SELECT interno) I/O (transito) Transito ausiliario dei bollettini selezionati (ripristino selezione al rientro da COGZA7)

Programmi chiamati (CALL)

Programma Scopo
COGZA7 Inserimento/gestione dati bollettino (pulsante F10 e lettura diretta F7)
COGS25 Numeratore documenti di prima nota
COGS77 / cogs77 Aggiornamento partite (UPD-PARTI) dopo la scrittura del movimento
AZVALIDA.COB Validazione formale della data contabile
GRIDADMN Gestione/personalizzazione griglia
COGU10W Editing/formattazione importi
RNEWCONF Lettura configurazioni

Copybook incluse

Working storage: feurtab.fd, cogzb0.select, cogfiles.cpy, cogzb0.fd, cogzb0.wrk, k-u10.cpy, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, wgrid.cpy, utilgdad.cpy, utilu03.cpy, utils52.cpy, utilu10.cpy, utilrcnf.cpy, cogazien.cpy, cogconta.cpy, utils25.cpy, utilncnf.cpy, utils77.cpy, utils54.cpy

Linkage: wcont.cpy, utilza7.cpy, wcont1.cpy

Procedure division: grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, dtab.cpy, fscrol2.cpy, utilpggr.cpy, cogzb0.prc, getdcont.cpy, chiavi lodpresc.k04, lodinfcc.k03, cogtrans.k01, cogtrans.k02, cogtran2.k01


Logica di elaborazione

  1. Avvio (apri): apre i file, legge la configurazione (x99-confi, gruppo bol-cc) e l'esercizio contabile (COGTABEL tipo 66). Se richiamato pone la modalità "selezione".
  2. Riempimento transito (crea-cogtrans + riempi-file): scorre LODINFCC (chiave k03) e seleziona i bollettini non ancora contabilizzati (paclie, panno, panpart tutti zero). Per ciascuno crea un record cogtrans con progressivo calcolato per ordinare per importo decrescente, cliente, valuta, fattura, commessa e paziente. Somma il totale e conta i bollettini.
  3. Data contabile (a-tm-data): validata via AZVALIDA.COB e confrontata con l'esercizio contabile (deve essere compresa e non inferiore all'ultima contabilizzazione).
  4. Griglia (vis-tabella-disp): mostra i bollettini con numero, cliente, importo, data, valuta, fattura, commessa, paziente. Invio seleziona/deseleziona la riga aggiornando il totale selezionato e il record cogtrans; F7 apre la lettura diretta di un bollettino; F10 richiama COGZA7 per la gestione dei dati bollettino (salvando prima la selezione in cogtrans2 per ripristinarla al rientro).
  5. Conferma (f3aggiorna): richiede almeno una riga selezionata, ottiene il numero documento di prima nota (prendi-num via COGS25), poi per ogni bollettino selezionato (ok-aggiornainserimento-partita) crea la riga di prima nota/movimento partita (segno A, importo del bollettino), aggiorna partite via COGS77 e aggancia i riferimenti sul record LODINFCC. Infine scrivi-contropartita crea l'unica riga di contropartita (segno D) con il totale selezionato e la descrizione "DISTINTA BANCO POSTA".

Paragrafi chiave

Paragrafo Scopo
riempi-file Estrae in cogtrans i bollettini non contabilizzati, ordinati per importo
x-controlla-tm-data Valida la data contabile (formale + esercizio)
aggiorna Numera il documento e cicla i bollettini selezionati
inserimento-partita Crea la riga di prima nota/movimento della partita di incasso anticipato
scrivi-contropartita Crea l'unica riga di contropartita con il totale della distinta
prendi-num Numeratore prima nota (COGS25), con controllo collisione
salva-selezionati / ok-ripristina-sel Salvano e ripristinano la selezione (via cogtrans2) attorno alla chiamata a COGZA7
lettura-diretta / seleziona-diss Lettura diretta di un bollettino (F7) e commutazione selezione
x99-confi Caricamento configurazioni (gruppo bol-cc)

Parametri di configurazione (RNEWCONF, gruppo bol-cc)

Chiave Variabile Scopo
tipo-partita tm-cfg-tipo-partita Tipo partita usato se il bollettino non ha ancora una fattura collegata
contropartita tm-cfg-contropartita Codice contropartita (COGTABEL tipo 16) per la riga di totale distinta
tipo-operazione tm-cfg-tipo-operazione Tipo operazione contabile (pno-to)
tipo-pagamento tm-cfg-tipo-pagamento Tipo pagamento (pno-tipag)

Note

  • I due file di transito cogtrans/cogtrans2 sono per operatore (#$COGZB0.{operatore} e #$COGZB02.{operatore}); l'apertura in output fallita segnala "Funzione gia` in uso dall'operatore". Vengono cancellati alla chiusura.
  • Se un bollettino ha già una fattura collegata (icc-fat-num), la partita usa il riferimento della fattura; altrimenti usa tipo-partita di configurazione con anno = anno della data contabile e numero = numero bollettino.
  • Il progressivo di cogtrans è calcolato come 999999999999999 − (importo × 100) per ottenere l'ordinamento per importo decrescente.