ASN540 - Analisi chiamata¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | ASN540 |
| Titolo | Analisi chiamata (procedura strumenti) |
| Modulo | Assist 2.0 - Riparazioni |
| Posizione menu | Assist 2.0 > Operativo > Riparazioni > Analisi |
| Sorgente | cbl/asn540.cbl (~1.184 righe) |
| Tipo | Programma interattivo single-form |
Scopo e logica generale¶
ASN540 gestisce lo step di analisi del workflow strumenti delle riparazioni Endonova. Marca lo step k-step-c-analisi come completato (achw-stato = 'C') e, in funzione delle scelte dell'utente (preventivo richiesto, autorizzazione richiesta, lavorazione esterna, verifica approfondita), configura come obbligatori o facoltativi gli step successivi del workflow chiamata in ASNCHWKF.
Aggiorna inoltre acht-fl-esterna su ASNCHTES.
Puo' essere richiamato standalone o da altri programmi via util-asn540 con asn540-id-chiamata valorizzato.
Flusso principale¶
- Inizializzazione: apertura file, caricamento configurazione
assist / priorita-urgentedaRNEWCONF - Modalita': se richiamato con caller valorizzato, modalita' "Selezione" (
a-modalita = "S") - Accept ID chiamata: lettura
ASNCHTES, validazioneacht-classe = 'L', caricamento dati riepilogativi (cliente, matricola, modello). Ricarica le scelte precedenti dal workflow se gia' analizzata - Accept campi: data analisi, preventivo richiesto, autorizzazione richiesta, lavorazione esterna, verifica approfondita
- Conferma: se utente abilitato (
w-abi-agg = "S"), aggiornamento testata + 9 step di workflow + interventi collegati - Ritorno: se chiamato come subroutine, esce; altrimenti torna ad accept ID
File e tabelle acceduti¶
| File | Record | Modalita' | Uso |
|---|---|---|---|
| ASNCHTES | acht-rec | I-O | Testata chiamata: validazione classe L, scrittura acht-fl-esterna |
| ASNCHWKF | achw-rec | I-O | Workflow chiamata: aggiornamento massivo degli step (analisi, preventivo, autorizza, materiali, lavorazioni, prev-forn, ord-forn, rientro, verifica-app) |
| ASNCHDET | achd-rec | Input | Dettaglio chiamata: lettura matricola (prog 1) per riepilogo |
| ASNINTES | acit-rec | Input | Interventi chiamata: loop su chia2 per propagazione aggiornamento ad ASNINTE2 |
| ASNINTE2 | acit2-rec | I-O | Estensione interventi: rwr (create se non esiste) |
| ASNFASIC | acif-rec | Input | Fasi/step del workflow: usato in carica-tab (paragrafo presente ma non attivo) |
| ASNMATRI | amtr-rec | Input | Matricole: dati riepilogo |
| ASNMODEL | amod-rec | Input | Modelli: nome modello |
| COGGEANA | ana-rec | Input | Anagrafica: descrizione cliente assistito |
Chiavi secondarie utilizzate¶
| Copybook | Tabella | Scopo |
|---|---|---|
asnchwkf.k02 |
ASNCHWKF | Ricerca workflow per id-chiamata + step |
asnintes.k02 |
ASNINTES | Ricerca interventi per chiamata |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| ASN210 | Ricerca avanzata chiamata (F9 su ID chiamata) |
| RNEWCONF | Caricamento configurazione (paragrafo x99-confi) |
Parametri di interfaccia (util-asn540)¶
| Campo | Direzione | Uso |
|---|---|---|
asn540-called |
Input | Se valorizzato a k-program-id attiva modalita' richiamata |
asn540-caller |
Input | Codice programma chiamante |
asn540-id-chiamata |
Input | ID chiamata pre-caricato (salta accept ID) |
Parametri di configurazione (RNEWCONF)¶
| Gruppo | Parametro | Variabile interna | Tipo | Effetto |
|---|---|---|---|---|
ass-strum |
priorita-urgente |
tm-cfg-priorita |
x(03) | Priorita' di riferimento per il modulo strumenti (caricato ma non utilizzato direttamente in questa versione del programma — c'erano logiche legate, ora commentate) |
Tasti funzione¶
| Tasto | Contesto | Funzione |
|---|---|---|
| F1 | ID chiamata | Modifica configurazioni assist (riapre x99-confi con ncnf-ope = "Modifica") |
| F3 | Vari | Conferma analisi |
| F8 | Data | Calendario |
| F9 | ID chiamata | Ricerca avanzata via ASN210 |
| F2 | Vari | Torna al campo precedente |
| ESC | Vari | Esce (se chiamato esce; se standalone torna a a4) |
Logica di business¶
Validazioni¶
- Classe chiamata: solo
acht-classe = 'L'(Lavorazione/Riparazione). Altri tipi respinti conm-asn540-6-1 - Data analisi: obbligatoria (
tm-data-analisi not = 0) per confermare - Preventivo / Autorizzazione / Lavorazione esterna / Verifica: nessuna validazione di valore (combo S/N)
Caricamento valori precedenti¶
In x-controlla-tm-cht-id, dopo aver validato la chiamata, il programma rilegge il workflow per gli step analisi, preventivo, autorizza, verifica-app:
- Se trova lo step e
achw-data-ultima not = 0, propone la data cometm-data-analisi - Per gli step preventivo/autorizza/verifica, se la data analisi era valorizzata, propone
achw-fl-obbcome valore del flag corrispondente in maschera
Se la data analisi precedente era 0 (mai analizzata), forza i 3 flag a 'N'.
Aggiornamento workflow (in conferma)¶
Per ognuno dei seguenti step viene letto il record ASNCHWKF (chiave secondaria chia2) e aggiornato:
| Step (k-step-c-*) | Campo aggiornato | Valore |
|---|---|---|
analisi |
achw-stato, achw-data/ora/ope-prima (se 0), achw-data/ora/ope-ultima |
Completato + timestamp |
preventivo |
achw-fl-obb |
tm-preventivo-richiesto |
autorizza |
achw-fl-obb |
tm-autorizzazione-rich |
materiali |
achw-fl-obb |
'N' se lav. esterna, 'S' se interna |
lavorazioni |
achw-fl-obb |
'N' se lav. esterna, 'S' se interna |
prev-forn |
achw-fl-obb |
Sempre 'N' (logica originale: 'S' se esterna, ma override con | modifica temporanea) |
ord-forn |
achw-fl-obb |
Sempre 'N' (idem) |
rientro |
achw-fl-obb |
Sempre 'N' (idem) |
verifica-app |
achw-fl-obb |
tm-fl-verifica |
Override su step fornitore
Per prev-forn, ord-forn, rientro il codice contiene move 'S'... | move 'N' | modifica temporanea — il valore finale e' sempre 'N'. Comportamento previsto come "modifica temporanea" dal sorgente.
Aggiornamento testata¶
acht-fl-esterna <- tm-lavorazione-esterna
Aggiornamento ASNINTE2¶
Identico a ASN550: per ogni intervento collegato, rwr di ASNINTE2 (con write se non esiste) tramite x-aggiorna-asninte2.
Pattern architetturali¶
- Single-form a 6 accept sequenziali con flusso GOTO classico
- Pre-popolamento maschera dalle scelte precedenti: ricostruzione stato corrente dal workflow chiamata
- Configurazione massiva degli step di workflow in conferma: la singola analisi imposta lo stato di flusso di tutta la chiamata
- Doppia modalita' standalone/subroutine controllata dai parametri
util-asn540
Storico modifiche rilevate nel sorgente¶
2024-05-09 (090524): Aggiunto flag "Verifica approfondita"¶
Aggiunto il campo tm-fl-verifica PIC X(01) in tab-maschera e relativa gestione:
- Nuovo accept
a-tm-fl-verifica(dopo lavorazione esterna) - Nuovo paragrafo
x-controlla-tm-fl-verifica - Nuovo blocco di aggiornamento dello step
k-step-c-verifica-appsuASNCHWKF - Caricamento valore precedente da
achw-fl-obbinx-controlla-tm-cht-id - Aggiunto branch
when k-id-tm-fl-verificainx-test-mouse - Reset a
'N'quandotm-data-analisi = 0
I marker 090524 nel sorgente identificano queste righe.
Note tecniche¶
- Il programma usa lo schema standard "scheletro MODO A" del framework Eurocoge: accept sequenziali, navigazione F2/F3, exception form, x-test-mouse
- Il paragrafo
carica-tab/ctrl-eseguitoper verifica completamento step precedente e' presente nel sorgente ma disattivato (*** x adesso) - Le accentate nei commenti sono in ISO-8859-1