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¶
- Selezione cliente (
a-tm-cli): l'operatore digita il cliente (con aiuto F8 → WIN164, F9 stampa). Alla conferma parte la richiesta parametri. - Numero DA bollettino (
a-tm-da-num,x-controlla-tm-da-num): alla prima immissione il programma verifica suLODBOLCLse il numero appartiene già a una fascia del cliente: - se esiste → modalità variazione (cancellazione della fascia), precarica da/a e multistudio;
- se non esiste → modalità inserimento. Carica eventuali multistudi da
COGANAAG: se ce n'è uno solo lo propone come agente. - 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 suLODINFCCche non esistano numeri già utilizzati nell'intervallo. - Agente/multistudio (
a-tm-age-cod): verifica che il fornitore sia codificato come agente (COGTABEL tipo 21) e collegato al cliente inCOGANAAG. - Conferma (
a-richiesta-conferma,aggiorna): - inserimento →
wr-lodbolcl(nuova fascia); - 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
LODINFCCesiste anche un solo numero dell'intervallo già incassato/utilizzato. funzioni.cpynon è usato; la sezioneio-error-routè vuota.