Vai al contenuto

COGZA5 — Assegnazione bollettini C.C.P. a un cliente

Sorgente: cbl/cogza5.cbl | Program-ID: cogza5 | Tipo: interattivo a maschera

Menu: Lab.Odont. > Fatturazione > Pagamenti con Bollettini C.C.P. > Utilita' > Assegnazione bollettini a clienti


Scopo

Assegna a un cliente (studio medico) un intervallo di numeri di bollettini di conto corrente postale prestampati, in modo che possano poi essere incassati e conciliati. Registra su LODBOLCL la fascia da–a assegnata al cliente, con l'eventuale multistudio (agente) collegato. Consente inserimento di una nuova fascia, cancellazione di una fascia esistente (variazione) e la stampa del riepilogo dei bollettini assegnati (COGZB2), con i controlli di non sovrapposizione degli intervalli e di non cancellabilità se ci sono numeri già utilizzati.


File e tabelle

File Copybook Accesso Scopo
LODBOLCL lodbolcl.cpy (chiave k02) Lettura/scrittura/cancellazione Fasce di bollettini assegnate al cliente (da-numero, a-numero, multistudio)
LODINFCC lodinfcc.cpy Lettura sequenziale Bollettini incassati/contabilizzati — verifica numeri già utilizzati prima della cancellazione
COGGEANA coggeana.cpy Lettura Anagrafica cliente e fornitore/agente
COGTABEL cogtabel.cpy Lettura Verifica fornitore codificato come agente (tipo 21)
COGANAAG coganaag.cpy Lettura sequenziale Multistudi/tecnici collegati al cliente (tipo T)

Programmi chiamati (CALL)

Programma Scopo
WIN164 Ricerca/selezione bollettini già assegnati (F8): restituisce cliente, da/a numero, multistudio
COGD88 Selezione multistudio/tecnico del cliente (F8 sul campo agente)
COGZB2 Stampa riepilogo bollettini assegnati al cliente (F9)
COGS65W Gestione campo codice+descrizione con aiuto (cliente, agente)

Copybook incluse

Working storage: feurtab.fd, cogfiles.cpy, cogza5.fd, cogza5.wrk, k-u10.cpy, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, utild88.cpy, utils52.cpy, utils54.cpy, utils65.cpy, utilu10.cpy, utile18.cpy, utilw164.cpy, utillogo.cpy, opensave.def, utilzb2.cpy

Linkage: wcont.cpy, wcont1.cpy

Procedure division: grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, lodbolcl.k02, cogza5.prc, getdcont.cpy


Logica di elaborazione

  1. Selezione cliente (a-tm-cli): l'operatore digita il cliente (con aiuto F8 → WIN164, F9 stampa). Alla conferma parte la richiesta parametri.
  2. Numero DA bollettino (a-tm-da-num, x-controlla-tm-da-num): alla prima immissione il programma verifica su LODBOLCL se il numero appartiene già a una fascia del cliente:
  3. se esiste → modalità variazione (cancellazione della fascia), precarica da/a e multistudio;
  4. se non esiste → modalità inserimento. Carica eventuali multistudi da COGANAAG: se ce n'è uno solo lo propone come agente.
  5. Numero A bollettino (a-tm-a-num, x-controlla-tm-a-num): in inserimento controlla che A ≥ DA e che l'intervallo [DA,A] non si sovrapponga a fasce già assegnate; in variazione (cancellazione) verifica su LODINFCC che non esistano numeri già utilizzati nell'intervallo.
  6. Agente/multistudio (a-tm-age-cod): verifica che il fornitore sia codificato come agente (COGTABEL tipo 21) e collegato al cliente in COGANAAG.
  7. Conferma (a-richiesta-conferma, aggiorna):
  8. inserimento → wr-lodbolcl (nuova fascia);
  9. variazione → del-lodbolcl (cancella la fascia).

Paragrafi chiave

Paragrafo Scopo
apri Inizializzazione, apertura file, definizione tasti funzione
x-controlla-tm-cli Valida il cliente su COGGEANA
x-controlla-tm-da-num Determina inserimento vs variazione, carica multistudi, controlla sovrapposizioni
x-controlla-tm-a-num Controlla A≥DA, sovrapposizione fasce (ins.) e numeri già usati (canc.)
x-controlla-tm-age-cod Valida l'agente come fornitore-agente collegato al cliente
xx-verif-age-cod Verifica se esistono multistudi collegati e obbliga la selezione
aggiorna Scrive (wr-lodbolcl) o cancella (del-lodbolcl) la fascia
stampa Lancia COGZB2 per il riepilogo

Note

  • Il flag flag-ins-var (I/V) distingue le due operazioni: la modalità variazione consente solo la cancellazione dell'intera fascia, non la sua modifica.
  • La cancellazione è bloccata se in LODINFCC esiste anche un solo numero dell'intervallo già incassato/utilizzato.
  • funzioni.cpy non è usato; la sezione io-error-rout è vuota.