ASN530 - Stima prestazioni previste (riparazioni in laboratorio)¶
Sorgente: cbl/asn530.cbl (2.470 righe) | Tipo: Programma interattivo a griglia editabile (tabella prestazioni previste di una chiamata di laboratorio), invocabile anche in modalita' automatica "PREPARA-DEFAULT"
Menu: Assist 2.0 > Operativo > Riparazioni > Stima: prestazioni previste
Scopo¶
Gestisce la tabella delle prestazioni/materiali previsti (stima) di una chiamata di laboratorio (classe L), memorizzata in ASNCHPRP. Per una data chiamata (tm-cht-id) mostra in griglia le righe di stima (merce, quantita', importanza, flag validazione/contenitore/visibilita') e ne consente inserimento, modifica e cancellazione.
Al primo caricamento, se lo step "stima prestazioni" del workflow chiamata non e' ancora completato (o in modalita' PREPARA-DEFAULT), precarica automaticamente le prestazioni di default a partire dal tipo matricola e dal tipo attivita' della chiamata (ASNMTRPD).
Al salvataggio aggiorna lo stato dello step nel workflow (ASNCHWKF) e, opzionalmente, notifica all'amministrazione una richiesta di preventivo (CRMS08) e archivia/stampa il documento di stima (ASN599). Con la configurazione "modo-chiusura = E" (PCASE-3817) crea e gestisce automaticamente un intervento di stima collegato.
Interfaccia chiamato (linkage)¶
util-asn530 (utilasn530.cpy):
| Campo | Tipo | Uso |
|---|---|---|
asn530-caller |
x(08) | Programma chiamante |
asn530-called |
x(08) | Nome chiamato |
asn530-in-id |
9(13) | Id chiamata di ingresso |
asn530-ope |
x(20) | Operazione: PREPARA-DEFAULT per elaborazione automatica (senza interfaccia grafica) |
Modalita' operative:
- Interattiva standalone:
a-modalita = "A"(aggiornamento). L'utente digita/ricerca la chiamata, la griglia e' editabile, F3 aggiorna - Called in selezione:
w-dc-called = "S"→a-modalita = "S", la griglia e' di sola consultazione con F3 che alterna Selezione/Aggiornamento PREPARA-DEFAULT: nessuna interfaccia; precarica le prestazioni di default e le scrive direttamente inASNCHPRP, poi ritorna. Invocata tipicamente da ASN510 alla creazione della chiamata di laboratorio
File acceduti¶
Input/lettura¶
| File | Copybook | Uso |
|---|---|---|
| ASNCHTES | acht-rec |
Testata chiamata: deve essere classe L; cliente assistito, tipo attivita', dossier |
| ASNCHDET | achd-rec |
Dettaglio chiamata (prog 1): matricola collegata |
| ASNMATRI | amtr-rec |
Matricola: tipo, serial number, marca, modello |
| ASNMODEL | amod-rec |
Modello matricola (nome, scheda) |
| ASNMTRTP | amtp-rec |
Tipo matricola: flag validazione/esposizione default (PBUG-652) |
| ASNMTRPD | ampd-rec |
Prestazioni di default per tipo matricola (M) e tipo attivita' (A) |
| ASNPRPIM | aprm-rec |
Importanza prestazione: descrizione |
| ASNFASIC | acif-rec |
Fasi ciclo: descrizione e programma associato allo step |
| COGMERCI | mer-rec |
Merci: classe S (prestazione) / M (materiale), unita' di misura |
| COGGEANA | ana-rec |
Anagrafica cliente assistito |
| COGANATN | atn-rec |
Raccordo operatore-tecnico (chiave k03 atn-ope-cod) |
| PRNTOPER | ptop-rec |
Profilo operatore destinatario notifica preventivo |
| ASNINDET | acid-rec |
Righe intervento eseguite (per verifica prestazione gia' eseguita) |
Output/scrittura¶
| File | Copybook | Scrittura |
|---|---|---|
| ASNCHPRP | achp-rec |
Righe di stima: insert/update/delete secondo confronto tm-prog / tm-prog-prec |
| ASNCHWKF | achw-rec |
Aggiornamento stato step "stima prestazioni" a C (completato), date/ore/operatore prima/ultima (chiave k02) |
| ASNINTES | acit-rec |
(modo-chiusura E) creazione intervento di stima; chiave k02 |
| ASNINTE2 | acit2-rec |
Estensione intervento di stima |
| ASNINDET | acid-rec |
(modo E) cancellazione righe intervento a parita' merce |
Chiavi secondarie¶
asnchwkf.k02(id chiamata + step)asnintes.k02(id chiamata)coganatn.k03(operatore)
Programmi chiamati¶
| Programma | Operazione | Scopo |
|---|---|---|
| ASN210 | ASN210-CALLED |
F9: ricerca avanzata chiamata |
| ASN510 | (called, I) |
F7 (nuovo): inserimento chiamata di laboratorio |
| ASN520 | ASN520-CALLED |
F7 dalla griglia: gestione/simulazione preventivo (classe AC) |
| ASN046 | (lookup) | F8 sulla colonna importanza: lookup importanza prestazione |
| ASN140 | ASN140-CALLED |
(modo-chiusura E) gestione/chiusura intervento di stima (PCASE-3817/3950) |
| ASN599 | (stampa/archiviazione) | Stampa o archiviazione dossier documento di stima (modulo lavorazione) |
| CRMS08 | SCRIVI |
Notifica attivita' "Richiesta preventivo" all'operatore configurato (CASE 3904) |
| COPIAF | delete |
Archiviazione file di stampa lato client nel dossier |
| DIALOGS | Dialoghi (stampa/esci, intervento stima non chiuso) | |
| GRIDADMN | Prepara / S-F4 | Personalizzazione griglia |
| RNEWCONF | Lettura/modifica configurazioni |
Configurazioni RNEWCONF (x99-load-config)¶
| Idx | Gruppo | Chiave | Variabile | Effetto |
|---|---|---|---|---|
| 01 | ass-strum |
generazione-dossier |
tm-cfg-genera-dossier |
S = archivia+stampa nel dossier |
| 02 | ass-strum |
importanza-default |
tm-cfg-importanza |
Importanza proposta di default |
| 03 | ass-strum |
importanza-obbligatoria |
tm-cfg-importanza-obb |
Importanza obbligatoria |
| 04 | ass-strum |
operatore-notifica-preventivo |
tm-cfg-operatore-notifica-pr |
Operatore destinatario notifica |
| 05 | ass-strum |
stima-prestazioni-notifica-preventivo |
tm-cfg-stima-prestazioni-notifica-pr |
F/S = attiva notifica (S = chiede conferma) |
| 06 | stampe |
path-stampa-file |
tm-cfg-file-stampa |
Path file di stampa |
| 07 | ass-strum |
tipo-att-notifica-preventivo |
tm-cfg-tipo-att-notifica |
Tipo attivita' CRM per notifica |
| 08 | ass-strum |
esec-prest-aggiorna-previste |
tm-cfg-esec-prest-aggiorna-previste |
N = niente blocco modifica quantita' (pcase-1200) |
| 09 | ass-strum |
esec-prest-dettaglio |
tm-cfg-esec-prest-dettaglio |
Gestione dettaglio prestazioni |
| 10 | ass-strum |
prestazione-stima-generica |
tm-cfg-prestaz-stima-generica |
Merce prestazione di stima generica |
| 11 | ass-strum |
prestazione-stima-approfondita |
tm-cfg-prestaz-stima-approfondita |
Merce prestazione di stima approfondita |
| 12 | ass-strum |
modo-chiusura |
tm-cfg-modo-chiusura |
E = chiusura "esterna" con intervento di stima automatico (PCASE-3817) |
| 13 | assist |
tipo-numerazione-interventi |
tm-cfg-tipo-numerazione |
C = numerazione interventi legata alla chiamata |
| 14 | ass-strum |
mag-intervento |
tm-cfg-mag-intervento |
Magazzino intervento di stima |
Link di riferimento: gruppi ass-strum, stampe, assist.
Nota: se esec-prest-dettaglio = S e esec-prest-aggiorna-previste = S il programma emette errore e si chiude (configurazioni incompatibili).
Logica di elaborazione¶
Caricamento (a-avanti / a10-loop)¶
Scorre ASNCHPRP per achp-id-chiamata = tm-cht-id e carica ogni riga nella tabella di griglia tm-grid-dati-ele: merce, classe (da COGMERCI), quantita', importanza (+ descrizione da ASNPRPIM), flag validazione/contenitore/visibilita', unita' di misura, id intervento collegato (achp-id-inter). Salva il progressivo precedente (tm-prog-prec) per il diff in aggiornamento.
Precaricamento default (carica-default / prestazioni-default)¶
Eseguito se PREPARA-DEFAULT oppure se lo step non e' ancora completato (ASNCHWKF con achw-stato ≠ 'C'). Scorre ASNMTRPD due volte: per tipo matricola (ampd-tipo = "M", codice = amtr-tip) e per tipo attivita' (ampd-tipo = "A", codice = acht-tip-att), inserendo le righe di default con quantita', importanza e flag preconfigurati.
Aggiornamento (a1-aggiorna / b-aggiorna)¶
Valida tutta la tabella (x-controlla-tm-tab-tutto), poi per ogni riga decide l'operazione confrontando tm-prog e tm-prog-prec:
- merce vuota + prog-prec ≠ 0 → cancella (
b3-cancella) - prog-prec ≠ 0 → modifica (
b2-modifica) - prog-prec = 0 → inserisce (
b1-inserisci)
In inserimento/modifica scrive achp-tipo (P/M) in base alla classe merce (270723). Aggiorna quindi lo stato dello step su ASNCHWKF a C.
Gestione intervento di stima (modo-chiusura = E, PCASE-3817/3950)¶
Se modo-chiusura = "E" e la merce inserita e' una prestazione di stima (generica/approfondita configurata):
- crea un intervento di stima dedicato (
intervento-stima/cerca-numerazione-bis), racchiudendo tutte le prestazioni di stima nell'intervento #49 della chiamata (id-chiamata * 100 + 49) - collega il tecnico dell'operatore (da
COGANATN) - al termine innesca
ASN140-CALLEDper gestire/chiudere l'intervento; se non chiuso propone via DIALOGS di ritentare la chiusura (verif-inter-stima) - le righe con intervento collegato sono protette da modifica/cancellazione
Notifica preventivo (chiama-crms08)¶
Se generazione-dossier = S e stima-prestazioni-notifica-preventivo = F/S, archivia il documento (COPIAF + ASN599 A) e invia un'attivita' CRM "Richiesta preventivo" (CRMS08) all'operatore configurato, con allegato il file di stampa e allarme.
Stampa (a-dialogo / x-stampa / x-archivia-e-stampa)¶
A fine aggiornamento (uso standalone) propone via DIALOGS di stampare (F9): se genera-dossier = S archivia+stampa (ASN599 con elaborazione A e riuso progressivo), altrimenti stampa diretta (ASN599 modulo lavorazione).
Messaggi principali¶
| ID | Contesto |
|---|---|
m-asn530-2-1 |
Titolo maschera |
m-asn530-3-1/4-1/5-1/6-1 |
Abilitazioni inserimento/aggiornamento |
m-asn530-7-1 |
Conferma salvataggio prima di uscire |
m-asn530-8-1 |
Nessuna riga da cancellare |
m-asn530-9-1/9-2 |
Prog non trovato in modifica |
m-asn530-10-1/10-2 |
Dettaglio chiamata mancante |
m-asn530-11-1 ... 18-2 |
Notifica preventivo / operatore / archiviazione |
m-asn530-19-1/20-1 |
Chiamata inesistente / non di classe L |
m-asn530-21-1 ... 25-1 |
Validazioni riga (merce/qta/importanza) |
m-asn530-26-1 |
Etichetta pulsante F7 |
m-asn530-30 |
Riga con intervento collegato non cancellabile |
Storico modifiche significative (dal sorgente)¶
- 271114: importanza obbligatoria
- 220115: operatore/tipo attivita' notifica preventivo
- 210120: pcase-1200 flag
esec-prest-aggiorna-previste(blocco modifica quantita') - 070322: gestione
esec-prest-dettaglio - 270723:
achp-tipo(P/M) valorizzato in base alla classe merce - 080524: PCASE-3817 modo-chiusura
E: intervento di stima automatico + ASN140 - 110624: PCASE-3950 prestazioni di stima racchiuse nell'intervento #49; tecnico da operatore in
achp-ese-tecnico - PBUG-652: precaricamento flag validazione/visibilita' da tipo matricola
Note implementative¶
- La griglia editabile e' costruita da Screens; i tf per cella e i vincoli di editabilita' sono gestiti negli entry-point
z-tm-tab-*-be-ep - In
PREPARA-DEFAULTla maggior parte delle operazioni grafiche e' saltata (nessunload-bitmap, nessun display maschera) - Il completamento step "stima prestazioni" e' individuato da
k-step-c-stima-prest(costanti-assist.cpy)