ASN03F - Assegnazione modelli prestazioni/materiali¶
Sorgente: cbl/asn03f.cbl (1.431 righe) | Tipo: Programma interattivo a griglia editabile con file di transito e filtri memorizzabili
Menu: Assist 2.0 > Archivi > Strumenti > Assegnazione modelli prestazioni
Nota discrepanza etichetta/funzione. L'etichetta di menu recita "Assegnazione modelli prestazioni". Il titolo maschera e il commento del sorgente indicano piu' precisamente "Assegnazione modelli prestazioni/materiali": la regola lega un modello di prestazioni/materiali alla combinazione di condizioni e comprende anche l'attributo "tipo materiale". La documentazione descrive la funzione reale.
Scopo¶
Gestisce le regole di assegnazione automatica dei modelli prestazioni/materiali (di tipo "G" sul file ASNMTRPD) alle chiamate di assistenza. Ogni regola lega un modello a una combinazione di condizioni (tipo attivita', cliente, brand, gruppo azienda, tipo materiale) e vi associa una priorita' e i giorni di garanzia. Le regole sono memorizzate nel file di legame ASNMPDLK ed editate in griglia con inserimento, modifica e cancellazione.
Struttura e flusso ricalcano quelli di ASN03D, con l'aggiunta delle colonne tipo materiale, priorita' e giorni garanzia.
Il programma opera in due modalita':
- Standalone (da menu): mostra tutte le regole.
- Called (
asn03f-called = k-program-ideasn03f-callervalorizzato): filtrato sul modello passato inasn03f-in-modello; colonna modello bloccata in editing e ritorno al chiamante all'uscita.
Interfaccia chiamato (linkage)¶
util-asn03f (copybook utilasn03f.cpy):
| Campo | Tipo | Uso |
|---|---|---|
asn03f-caller |
x(08) | Identificativo del chiamante |
asn03f-called |
x(08) | Identificativo del chiamato (confrontato con k-program-id) |
asn03f-in-modello |
x(03) | Codice modello prestazioni/materiali su cui filtrare in modalita' called |
File acceduti¶
Scrittura (file principale)¶
| File | Copybook (rec) | Uso |
|---|---|---|
| ASNMPDLK | ampl-rec |
Legame regola di assegnazione modello prestazioni/materiali. Chiave ampl-id; chiave secondaria chia2 su ampl-modello-mpd per estrazione filtrata. Campi: ampl-modello-mpd, ampl-tip-att, ampl-brand, ampl-cli-cod, ampl-grp-az, ampl-tip-mtr, ampl-priorita, ampl-gg-garanzia |
Lettura (decodifiche descrizioni)¶
| File | Copybook (rec) | Uso |
|---|---|---|
| ASNMTRPD | ampd-rec |
Anagrafica modelli prestazioni/materiali; letta con ampd-tipo = "G", ampd-prog = 0: descrizione in ampd-note |
| ASNMTRTP | amtp-rec |
Tipi materiale: amtp-des |
| ASNPRIOR | apri-rec |
Priorita': apri-des |
| ASNTPATT | atpa-rec |
Tipi attivita': atpa-des |
| COGGEANA | ana-rec |
Anagrafica clienti (tipo "C"): ana-nome |
| COGBRAND | bra-rec |
Anagrafica brand: bra-des |
| GRPAZIEN | ao-azi-rec |
Gruppi azienda (letto solo se gestione-gruppo-aziende = "S"): ao-azi-des |
Transito¶
| File | Scopo |
|---|---|
| t-grid-det | File di transito della griglia (gestito da wgrid.cpy / utilgdad.cpy): buffer delle righe editate; ricreato a ogni rilettura e cancellato in chiusura |
Chiavi secondarie¶
asnmpdlk.k02(chia2suampl-modello-mpd) — inclusa manualmente in fondo alla procedure division
Copybook incluse (principali)¶
- Working-storage generali:
wgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpy - Griglia e amministrazione:
wgrid.cpy,utilgdad.cpy - Configurazioni:
utilncnf.cpy; filtri memorizzabili:utilimppredf.cpy,asn03f.imppredf-wrk,asn03f.imppredf - Lookup (linkage sottoprogrammi):
utilasn03e.cpy,utilasn016.cpy,utils65.cpy,utilcogmah.cpy,utilgrp002.cpy,utilasn010.cpy,utilasn041.cpy - Utility:
utilu10.cpy,utilu20.cpy,k-tipi-cogtabel.cpy - Fine procedure:
grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy,asn03f.prc
Programmi chiamati¶
| Programma | Contesto | Scopo |
|---|---|---|
| ASN03E | F8 su colonna modello | Lookup/ricerca modello prestazioni/materiali; ritorna asn03e-out-cod |
| ASN016 | F8 su colonna tipo attivita' | Lookup tipo attivita'; ritorna asn016-out-cod |
| COGMAH | F8 su colonna brand | Lookup brand; ritorna cogmah-out-cod |
| GRP002 | F8 su colonna gruppo azienda | Lookup gruppo azienda; ritorna grp002-out-cod |
| ASN010 | F8 su colonna tipo materiale | Lookup tipo materiale; ritorna asn010-out-cod |
| ASN041 | F8 su colonna priorita' | Lookup priorita'; ritorna asn041-out-cod |
| COGS65W | (implicito, colonna cliente) | Lookup cliente; annullato (cancel) in z-chiudi |
| GRIDADMN | Prepara / S-F4 / Modify-Record | Preparazione e personalizzazione griglia di dettaglio |
| RNEWCONF | x99-confi (init e F1) |
Lettura configurazione assist/gestione-gruppo-aziende |
Configurazioni RNEWCONF (x99-confi)¶
| Idx | Gruppo | Parametro | Variabile | Effetto |
|---|---|---|---|---|
| 01 | assist |
gestione-gruppo-aziende |
tm-cfg-gestione-gruppo-aziende |
Se "S" rende visibile/editabile la colonna gruppo azienda e attiva la relativa decodifica/validazione |
Logica di elaborazione¶
Avvio (apri)¶
Analogo ad ASN03D: init programma, ctr-abil, x99-confi, apertura file, rilevamento modalita' called, abilitazione tasti funzione (F1, F3 aggiorna, F8 aiuto, S-F4, S-F5, CTRL-A, CTRL-E, F9), creazione menu contestuale e pulsanti custom per i filtri, preparazione griglia, ordinamento predefinito ascendente per colonna modello, caricamento filtro di default.
Caricamento dati (a-leggi-dati / z-grid-det-crea-transito)¶
Scorre ASNMPDLK via chiave chia2; in modalita' called si posiziona sul modello di input e interrompe al cambio modello. Per ogni record decodifica modello (ASNMTRPD tipo "G"), tipo materiale, priorita', tipo attivita', cliente, brand e gruppo azienda, e riporta i giorni garanzia; quindi riempie il record di transito.
Gestione griglia (a-grid)¶
- F1: rilancia configurazioni in modifica.
- S-F4: amministrazione griglia.
- S-F5: esporta in Excel.
- F3 (Aggiorna): valida tutte le righe, conferma, quindi
b-aggiorna. - CTRL-A: aggiunge riga vuota; in modalita' called eredita modello e descrizione dalla scheda di input; riabilita F8 aiuto.
- CTRL-E: marca/smarca la riga per cancellazione (vietata con filtro attivo).
- Menu pop-up griglia (exception 151-199).
Salvataggio (b-aggiorna)¶
Scorre il transito e per ogni riga:
- flag
"C"con id valorizzato ->del-asnmpdlk; - riga modificata con id = 0 ->
b1-inser-record-det(nuovoampl-idprogressivo calcolato leggendo l'ultima chiave e incrementando); - riga modificata con id valorizzato ->
b2-aggiorna-record-det(rilettura +rwr-asnmpdlk).
L'inserimento e l'aggiornamento riportano tutti i campi della regola, inclusi tipo materiale, priorita' e giorni garanzia.
Validazioni per colonna¶
Ogni colonna ha un paragrafo x-controlla-tm-r-*: il modello e' obbligatorio (deve esistere su ASNMTRPD tipo "G"); tipo attivita', cliente, brand, gruppo azienda, tipo materiale e priorita' vengono verificati sui rispettivi file anagrafici con riporto descrizione. Il controllo generale x-controlla-grid-det-col-ep impone che, valorizzato il modello, sia presente almeno una condizione tra tipo attivita', cliente, brand, gruppo azienda o tipo materiale.
Filtri memorizzabili (imppredf)¶
Come ASN03D: salvataggio (CTRL-S) e caricamento (CTRL-F) di impostazioni di filtro predefinite tramite utilimppredf; il pulsante custom "Salva" si attiva quando i parametri correnti differiscono da quelli caricati.
Note implementative¶
- Il modello prestazioni/materiali e' identificato su
ASNMTRPDsempre contipo = "G"eprog = 0(record di testata); la descrizione risiede nel campoampd-note. - La colonna gruppo azienda dipende dalla configurazione
gestione-gruppo-aziende; se non attiva, la cella e' non editabile e la decodifica saltata. - In modalita' called la cella modello e' bloccata per vincolare tutte le regole allo stesso modello.
- La copybook chiave secondaria
asnmpdlk.k02e' inclusa manualmente.