Vai al contenuto

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-id e asn03f-caller valorizzato): filtrato sul modello passato in asn03f-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 (chia2 su ampl-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 (nuovo ampl-id progressivo 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 ASNMTRPD sempre con tipo = "G" e prog = 0 (record di testata); la descrizione risiede nel campo ampd-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.k02 e' inclusa manualmente.