Vai al contenuto

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

  1. Inizializzazione: apertura file, caricamento configurazione assist / priorita-urgente da RNEWCONF
  2. Modalita': se richiamato con caller valorizzato, modalita' "Selezione" (a-modalita = "S")
  3. Accept ID chiamata: lettura ASNCHTES, validazione acht-classe = 'L', caricamento dati riepilogativi (cliente, matricola, modello). Ricarica le scelte precedenti dal workflow se gia' analizzata
  4. Accept campi: data analisi, preventivo richiesto, autorizzazione richiesta, lavorazione esterna, verifica approfondita
  5. Conferma: se utente abilitato (w-abi-agg = "S"), aggiornamento testata + 9 step di workflow + interventi collegati
  6. 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 con m-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 come tm-data-analisi
  • Per gli step preventivo/autorizza/verifica, se la data analisi era valorizzata, propone achw-fl-obb come 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-app su ASNCHWKF
  • Caricamento valore precedente da achw-fl-obb in x-controlla-tm-cht-id
  • Aggiunto branch when k-id-tm-fl-verifica in x-test-mouse
  • Reset a 'N' quando tm-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-eseguito per verifica completamento step precedente e' presente nel sorgente ma disattivato (*** x adesso)
  • Le accentate nei commenti sono in ISO-8859-1