ASN05B - Tabella Gettoni assistenza
Intestazione
| Campo |
Valore |
| Programma |
ASN05B |
| Titolo |
Gettoni assistenza |
| Modulo |
Assist 2.0 |
| Posizione menu |
Assist 2.0 > Archivi > Tabelle > Gettoni assistenza |
| Sorgente |
cbl/asn05b.cbl (~920 righe) |
| Tipo |
Programma a griglia (gestione tabella ASNGATES) |
Scopo
Gestione interattiva della tabella ASNGATES (gettoni assistenza). Permette inserimento, modifica e cancellazione dei gettoni utilizzati nei contratti di assistenza per scalare prestazioni a tempo/quantita'.
Puo' funzionare:
- Standalone (modalita' aggiornamento
a-modalita = "A"): modifica diretta dell'archivio
- Chiamato (
asn05b-called = "ASN05B" e asn05b-caller not = spaces): modalita' selezione iniziale, ritorna il codice scelto su asn05b-out-cod / asn05b-out-des. Permette il toggle tra selezione e aggiornamento con F3.
Flusso
- Init:
ctr-abil, z-99-init-program, open-files, rd-azi, lettura configurazione x99-confi
- Setup tasti funzione in base al chiamante (presenza/assenza di
w-dc-called = "S")
- Caricamento griglia (
a-avanti): scan completo di asngates con st-asngates-notmin + rdnxt-asngates, riempimento tm-grid-dati
- Loop interattivo (
a-grid / a-accept-grid): accept sulla griglia, gestione tasti funzione
- Salvataggio (
a1-aggiorna -> b-aggiorna): per ogni riga, in base al confronto fra tm-cod e tm-cod-prec esegue inserimento/modifica/cancellazione
Logica di aggiornamento (paragrafo b-aggiorna)
| Condizione |
Azione |
tm-cod = spaces AND tm-cod-prec <> spaces |
b3-cancella (delete) |
tm-cod = tm-cod-prec AND tm-fl-riga-mod = "S" |
b2-modifica (rwr) |
tm-cod <> tm-cod-prec AND tm-cod-prec = spaces |
b1-inserisci (wr) |
tm-cod <> tm-cod-prec AND tm-cod-prec <> spaces |
b3-cancella + b1-inserisci |
File acceduti
| File |
Record |
Modo |
Uso |
ASNGATES |
agat-rec |
I-O |
Tabella gettoni (rd / rd-lk / wr / rwr / del / st-notmin / rdnxt) |
COGMERCI |
mer-rec |
Input |
Verifica esistenza prestazione (mer-chia = tm-merce-cm) e classe servizio (mer-classe = 'S') |
Chiave primaria di ASNGATES: agat-cod.
Programmi chiamati (CALL)
| Programma |
Scopo |
ASN05C |
Gestione dettaglio gettone (tariffe/condizioni) - apertura su F5 con asn05c-in-cod / asn05c-in-des |
GRIDADMN |
Amministrazione griglia (prepara colonne, gestione configurazione su S-F4) |
RNEWCONF |
Lettura configurazione (x99-confi) |
Configurazioni (RNEWCONF)
| Gruppo |
Chiave |
Variabile interna |
Effetto |
ASSIST |
UM-PRESTAZIONI-A-TEMPO |
tm-cfg-um-tempo |
Unita' di misura delle prestazioni a tempo (uppercase) |
Linkage
Il programma usa la copybook utilasn05b per scambio dati col chiamante:
| Campo |
Direzione |
Uso |
asn05b-called |
Input |
Se = "ASN05B" indica chiamata in selezione |
asn05b-caller |
Input |
Programma chiamante |
asn05b-out-cod |
Output |
Codice gettone selezionato |
asn05b-out-des |
Output |
Descrizione gettone selezionato |
Tasti funzione
| Tasto |
Contesto |
Funzione |
| F1 |
Griglia |
Configurazione (x99-confi con ncnf-ope = "Modifica") |
| F3 |
Griglia in aggiornamento |
Aggiorna (a1-aggiorna) |
| F3 |
Griglia in selezione, chiamato |
Toggle selezione/aggiornamento |
| F5 |
Riga con codice |
Apre ASN05C con codice e descrizione correnti |
| F8 |
Cella |
Aiuto |
| S-F4 |
Griglia |
GRIDADMN (configurazione colonne) |
| Ctrl+A |
Aggiornamento |
Aggiunge riga (z-aggiungi-riga-tm-tab) |
| Ctrl+E |
Aggiornamento |
Elimina riga (c1-ctrl-canc + conferma) |
| Invio / doppio-click |
Selezione |
Ritorna codice in asn05b-out-cod |
Validazioni (x-controlla-tm-*)
| Campo |
Controllo |
tm-cod |
In inserimento (a-operazione = "I") verifica che agat-cod non esista gia' (rd-asngates-lk -> m-cod-gia-pres) |
tm-des |
Obbligatoria se tm-cod valorizzato |
tm-tempo |
Nessun controllo specifico |
tm-merce-cm |
Lettura COGMERCI; richiesta presenza tranne valore ' 00000'; deve avere mer-classe = 'S' |
Limiti
| Elemento |
Limite |
Costante |
| Elementi griglia |
500 |
k-max-ele-tab |
Note implementative
- Il programma usa il pattern standard "MODO A" (modalita' selezione/aggiornamento con toggle F3 quando chiamato).
- Le operazioni su ASNGATES sono fatte tramite paragrafi
rd-/wr-/rwr-/del-/st-/rdnxt-asngates generati dalla .prc (Screens).
- Il salvataggio in massa (
b-aggiorna) gestisce in un unico ciclo inserimenti, modifiche e cancellazioni confrontando tm-cod e tm-cod-prec.
- Il programma usa PERFORM THRU su paragrafi di aggiornamento (
b-aggiorna, b1-inserisci, b2-modifica, b3-cancella, c1-ctrl-canc) e GO TO interni, in conformita' con lo stile dello scheletro "MODO A" pre-esistente.
Copybook utilizzate
wgrave, wnscr, wopenf, wstato, cogazien, utilncnf, wgrid, utilgdad, utilu20, utils68, utilasn05c, utilasn05b (linkage), wcont, wcont1. Copybook .prc/.fd/.select/.wrk/.tm generate da Screens.