COGZ33 — Statistiche Costi & Ricavi
| Campo |
Valore |
| Sorgente |
cbl/cogz33.cbl |
| Program-ID |
cogz33 |
| Tipo |
Visualizzazione statistica (griglia riepilogativa) |
| Posizione menu |
Lab.Odont. > Operativo > Visualizzazioni > Costi & Ricavi |
Scopo
Calcola e visualizza il riepilogo di costi e ricavi delle commesse del laboratorio odontotecnico in un intervallo di date. Per ogni prescrizione selezionata somma i costi (mano d'opera e materiali) e i ricavi (prestazioni e materiali) e produce una griglia riepilogativa a 4 righe (Mano d'opera, Materiali, Prestazioni, Totale) con colonne Costi, Ricavi, Utile e percentuale. E' una funzione di consultazione dalla quale si accede al dettaglio della singola commessa (F8), alla scomposizione per reparto (F7) e al dettaglio economico (F5).
I filtri della testata sono: data inizio/fine consegna, studio (tm-stu-cod), tipo lavoro con inclusione/esclusione (tm-sel-tip-lav/tm-esc-tip-lav/tm-tip-lav) e stato commessa aperte/chiuse (tm-comm-aperte/tm-comm-chiuse).
Struttura e flusso
apri — init, open-files, rd-azi, costruzione dei nomi dei transiti temporanei (w-nome-trs = COGTRANS per commessa, w-nome-trs2 = COGTRANS2 per reparto), lettura divisa di conto via COGU10W (GetDivisaConto), definizione tasti funzione (SF4, F3, F8 aiuto/calendario, F5 dettaglio), bitmap/pulsanti custom (F8 Dettaglio Commessa, F7 Scomponi per reparto).
a4 — apre in output/i-o i transiti COGTRANS/COGTRANS2 con lock di funzione per operatore, imposta date di default (intervallo di 7 giorni da oggi tramite DTPRG/PRGDT) e i default dei filtri.
a-tm-data-ini / a-tm-data-fin / a-tm-stu-cod / a-tm-tip-lav / a-tm-comm-aperte / a-tm-comm-chiuse — accept dei filtri (date via COGS52/calendario, studio via COGS65W, flag via COGS95).
a-fine-intestazione — validazione, poi elabora; se non c'e' alcun valore avvisa "Nessun valore trovato".
elabora — cuore del programma: scandisce LODPRESC sulla chiave data (chia3) nell'intervallo, applicando i filtri stato/tipo lavoro/studio. Per ogni commessa selezionata chiama COGZS5 (che restituisce la scomposizione economica: zs5-costo-man-opera, zs5-costo-materiali, zs5-ricavo-prestazioni, zs5-ricavo-materiali, piu' i totali per reparto in zs5-tr-*). Accumula i totali generali (tm-costo-*/tm-ricavo-*/tm-differenza), scrive un record per commessa sul transito COGTRANS (con studio, descrizione da COGGEANA, reparto da LODCMTES) e aggiorna gli aggregati per reparto sul transito COGTRANS2.
z-costruisci-grid — costruisce la griglia riepilogativa a 4 righe (tab-des: Mano d'opera / Materiali / Prestazioni / Totale) con importi editati via COGU10W; la riga Totale e' evidenziata (gdad-row-hl).
a-grid / a-accept-grid — loop di griglia; F8 richiama COGZ34 (dettaglio commessa, passa w-nrec), F7 richiama COGZ35 (scomposizione per reparto), F5 richiama COGZCN (dettaglio economico), SF4 la personalizzazione colonne.
fine / z-chiudi — chiusura file, delete file dei due transiti, cancel di COGZS5, uscita.
File e tabelle
| Tabella |
Accesso |
Descrizione |
COGTRANS (trs-) |
temporaneo indicizzato, i-o (delete file) |
Un record per commessa: costi/ricavi (mano d'opera, materiali, prestazioni), totali, differenza, percentuale, studio, reparto. Chiave trs-commessa |
COGTRANS2 (trs2-) |
temporaneo indicizzato, i-o (delete file) |
Aggregati per reparto (trs2-reparto) |
LODPRESC (lpm-) |
lettura (chiavi .k03 per data, .k04) |
Prescrizione/commessa (stato, tipo lavoro, medico) |
LODCMTES (lct-) |
lettura |
Testata commessa (reparto) |
COGGEANA (ana-) |
lettura |
Anagrafica studio (nome) |
Copybook principali
| Copybook |
Ruolo |
cogz33.select/.fd/.wrk/.prc/.decla, cogz33-01.scr |
Definizioni generate e screen section |
k-u10.cpy, utilu10.cpy |
Costanti e interfaccia divisa/editing importi (COGU10W) |
utilzs5.cpy |
Interfaccia a COGZS5 (scomposizione economica commessa) |
utilz34.cpy, utilz35.cpy, utilcogzcn.cpy |
Interfacce a COGZ34, COGZ35, COGZCN |
utils52, utils65, utilw80, utilgdad |
Gestori campo/aiuto/griglia |
cogz33.decla, chiavi lodpresc.k03, lodpresc.k04, cogtrans.k01, cogtran2.k01 |
Declaratives e chiavi secondarie (a fine procedure division) |
mmmask.cpy, cogazien.cpy, wstato, wopenf, wgrave, wnscr |
Infrastruttura maschera GUI |
Programmi chiamati
| Programma |
Interfaccia |
Scopo |
COGZS5 |
util-zs5 |
Scomposizione costi/ricavi della commessa (nucleo di calcolo) |
COGZ34 |
util-z34 |
Dettaglio commessa (F8) |
COGZ35 |
util-z35 |
Scomposizione per reparto (F7) |
COGZCN |
util-cogzcn |
Dettaglio economico commessa (F5) |
COGU10W |
util-u10 |
Divisa di conto ed editing importi |
COGS52 |
util-s52 |
Gestore campo data |
COGS65W |
util-s65 |
Aiuto/ricerca studio |
GRIDADMN |
util-gdad |
Personalizzazione griglia (SF4) |
DTPRG / PRGDT |
— |
Conversione data <-> progressivo giorni |
Note
- Il nucleo del calcolo economico non e' in COGZ33 ma nella subroutine
COGZS5: COGZ33 orchestra la scansione delle prescrizioni, l'accumulo dei totali e la costruzione dei due transiti (per commessa e per reparto). Il parametro zs5-scrivi-dettaglio vale "S" per la prima commessa e "A" (accumula) per le successive.
- I due transiti temporanei sono aperti in output all'ingresso per verificare che la funzione non sia gia' in uso dallo stesso operatore, e vengono cancellati in uscita.
- Gli importi sono espressi nella divisa di conto (
w-currency-conto) letta all'avvio da COGU10W.
Storico modifiche
220508: la differenza per commessa nel transito e' ricalcolata come ricavi - costi (trs-differenza) anziche' copiata dal totale generale.
- Autore: Andrea Parmeggiani (Eurosystem). Conversione Windows: Claudio, 24/02/2006.