Vai al contenuto

ASN500 - Stato chiamata (cruscotto riparazioni strumenti)

Sorgente: cbl/asn500.cbl (2.749 righe) | Tipo: Programma interattivo con griglia workflow, menu a tendina, orchestratore di sottoprogrammi per step

Menu: Assist 2.0 > Operativo > Riparazioni > Stato chiamata


Scopo

Cruscotto centrale del flusso di riparazione strumenti (procedura "Assist strumenti", classe chiamata L). Data una chiamata (identificata per id o serial number), ne mostra il workflow di lavorazione — l'elenco degli step previsti (ASNCHWKF) con stato, date e operatore — e per ciascuno step, all'INVIO, innesca il sottoprogramma dedicato che gestisce quella fase (ricezione, stima, analisi, preventivo, ordine fornitore, pickup, chiusura, stampa, DDT, ecc.).

Consente inoltre di modificare le date di prima/ultima esecuzione degli step, gestire il dossier documentale collegato, la galleria immagini, i costi/ricavi, la filiera del documento e le non conformita' (menu a tendina).

Interfaccia chiamato (linkage)

util-asn500:

Campo Tipo Uso
asn500-caller / asn500-called x(08) Identificativi chiamante/chiamato
asn500-in-modalita x(01) Modalita' di ingresso
asn500-in-id 9(13) Id chiamata in ingresso: se valorizzato, il programma la carica direttamente e va al workflow (a-avanti)
asn500-out-id 9(13) Output (predisposto)

Se asn500-called = k-program-id e caller valorizzato, si attiva w-dc-called-bis. Se invocato come called da altro programma con asn500-in-id valorizzato, salta l'accept dell'id. In ESC, il comportamento dipende da w-dc-called-bis (torna al chiamante o resta).

File acceduti

Input/lettura

File Copybook Uso
ASNCHWKF achw-rec Workflow chiamata: elenco step (achw-step), progressivo, stato (C/E), date prima/ultima, operatori, flag obbligatorio
ASNFASIC acif-rec Anagrafica fasi/step: descrizione attivita' (acif-des)
ASNCHTES acht-rec Testata chiamata: classe (L), data/ora, oggetto, cliente assistito, dossier, situazione, flag fine stima
ASNCHDET achd-rec Dettaglio chiamata: matricola (prog. 1)
ASNINTES acit-rec Interventi della chiamata (chia2): id intervento, tecnico, data assegnazione. Update pickup
ASNINTE2 acit2-rec Creato/aggiornato "a vuoto" a corredo di ogni intervento (x-aggiorna-asninte2)
ASNINDMG acim-rec Movimenti magazzino dell'intervento: aggancio documento (acim-tes-chia3) per repair/permuta
ASNMATRI amtr-rec Matricola: serial number, marca, id modello
ASNMODEL amod-rec Modello: nome, descrizione, scheda (chiave k02 su nome)
ASNCHRAC achr-rec Raccordo chiamata lab ↔ chiamata esterna (chia4): id esterna
COGTESBO tes-rec Testata documento magazzino: causale (per repair/permuta)
COGGEANA ana-rec Cliente assistito (ragione sociale)
PRNTOPER ptop-rec Profilo/descrizione operatore (validazione, profilo tecnici)
COGANATN atn-rec Raccordo operatore → tecnico (chia3): abbinamento operatore/tecnico per pickup
COGRIFER rif-rec Verifica esistenza tecnico
MASKOPER mop-rec Password operatore (file MASKOPER.ARC) per accesso tecnici

Output/aggiornamento

File Copybook Scrittura
ASNCHWKF achw-rec Update date prima/ultima step; in pickup: stato C, ore/operatori, date
ASNINTES acit-rec In pickup: acit-tecnico(1), acit-ass-data; sync data assegnazione con data ultima step pickup
ASNINTE2 acit2-rec Inserimento/aggiornamento a corredo
ASNCHTES acht-rec In pickup: acht-situazione = 'A'

Chiavi secondarie

  • asnchwkf.k02 (chiamata+step)
  • coganatn.k03 (operatore)
  • asnintes.k02 (chiamata)
  • asnmodel.k02 (nome)
  • maskoper.k01
  • asnchrac.k04 (chiamata lab)

Step del workflow e sottoprogrammi innescati (a-grid, INVIO)

Le costanti degli step sono in costanti-assist.cpy. All'INVIO su una riga, secondo tm-r-step:

Step (valore) Descrizione Programma innescato
RS (k-step-c-ricezione) Ricezione strumento ASN510
SRP (k-step-c-stima-prob) Stima - rilevazione problemi ASN520 (AC, pag S)
SPP (k-step-c-stima-prest) Stima - prestazioni previste ASN530
AN (k-step-c-analisi) Analisi ASN540
BF (k-step-c-bdp-forn) Buono di prelievo fornitore ASN544
PF (k-step-c-prev-forn) Preventivo a fornitore ASN541
OF (k-step-c-ord-forn) Ordine di riparazione a fornitore ASN543
RR (k-step-c-rientro) Rientro strumento riparato ASN542
PR (k-step-c-preventivo) Preventivazione ASN545
AU (k-step-c-autorizza) Autorizzazione ASN550
PK (k-step-c-pickup) Pick up ASN555
IG (k-step-c-assegna-int) Assegnazione intervento ASN120 (ASN120-CALLED)
IC (k-step-c-chiusura-int) Chiusura intervento c-chiusura-int → ASN230/ASN140
SM (k-step-c-materiali) Scarico materiali ASN560
RM (k-step-c-mat-resi) Materiali resi ASN560 (param E)
LE (k-step-c-lavorazioni) Lavorazioni eseguite ASN565
VF (k-step-c-verifica) Verifica finale ASN520 (AC, pag C)
VA (k-step-c-verifica-app) Verifica approfondita ASN520 (AC, pag V)
CH (k-step-c-chiusura) Chiusura ASN570
NS (k-step-c-note-stima) Note stima ASN551
CTL (k-step-c-chiu-tecnica) Chiusura tecnica lavoro ASN552
DR (k-step-c-stampa-doc) Stampa documento x-archivia-e-stampa (dossier) o x-stampaASN599
IDC (k-step-c-crea-ddt) Inserimento documento di consegna ASN575

Dopo l'esecuzione di uno step si esegue modifica-step per rileggere ASNCHWKF e aggiornare stato/date/attivita' sulla riga di griglia. L'INVIO e' bloccato (ctrl-eseguito) se esiste uno step precedente obbligatorio (fl-obb='Si') non ancora completato.

Chiusura intervento "esterno" (c-chiusura-int, 270723)

Conta gli interventi della chiamata: se piu' di uno, innesca ASN230 per scegliere quale; poi innesca ASN140 (ASN140-CALLED) per la chiusura dell'intervento selezionato.

Altri sottoprogrammi chiamati

Programma Contesto Scopo
ASN210 (ASN210-CALLED) F9 / id alfanumerico Ricerca chiamata per serial number
ASN510 F7 su id / step ricezione Creazione/gestione ricezione (con creazione carico se Endonova)
COGT20 F8 su operatore Lookup operatore
ASN073 F1 galleria Galleria immagini chiamata (se az-arc-ott=S)
CRMK10 F7 dossier Gestione dossier collegato (se genera-dossier S/D)
ASNDCR F11 Consultazione dettaglio costi/ricavi (ESAMINA)
COGMA3 (COGMA3-CALLED) S-F2 Filiera del documento (classe A)
COGNA0 (COGNA0-CALLED) Menu Inserimento nuova non conformita' (CREAZIONE, tipo doc chiamata)
COGNA1 (COGNA1-CALLED) Menu Consultazione non conformita' esistenti
ASN599 Stampa Stampa/archiviazione rapporto (modulo D)
ENCRYPT Password Cifratura password operatore per confronto
GRIDADMN Griglia Prepara/personalizzazione, S-F4
W$MENU Menu Costruzione menu a tendina (File / Non conformita' / ?)
RNEWCONF x99-confi Lettura/modifica configurazioni

Configurazioni RNEWCONF (x99-confi)

Idx Gruppo Chiave Variabile Effetto
01 ASS-STRUM GENERAZIONE-DOSSIER tm-cfg-genera-dossier S/D = gestione dossier documentale; in step stampa S → archivia + stampa
02 ASS-STRUM ricerca-sn-su-chiamata tm-cfg-ricerca-sn-su-chiamata S = consente ricerca per serial number sul campo id
03 ASS-STRUM stato-chiamata-accept-ope tm-cfg-stato-chiamata-accept-ope S = richiede operatore/password (accesso tecnici)
04 ASS-STRUM profilo-tecnici tm-cfg-profilo-tecnici Profilo operatore che identifica i tecnici (skip password)
05 entrate cau-rip-permuta-fat tm-cfg-cau-rip-permuta-fat Causale documento repair/permuta fatturato
06 entrate cau-rip-permuta-nofat tm-cfg-cau-rip-permuta-nofat Causale documento repair/permuta non fatturato

Vedi ass-strum, entrate.

Logica di caricamento (a-richiesta-confermaa30)

  1. Validazione id chiamata (x-controlla-tm-id): l'id puo' essere numerico o alfanumerico (serial number, se configurato → ASN210). La chiamata deve esistere ed essere di classe L. Carica oggetto, cliente, serial number, modello, id esterna (da ASNCHRAC), repair/permuta (da ASNINDMG+COGTESBO).
  2. Se richiesto (stato-chiamata-accept-ope=S e operatore non gia' del profilo tecnici), accept di operatore e password: la password e' cifrata (ENCRYPT) e confrontata con MASKOPER. Alla conferma password, se lo step pickup non e' eseguito e l'operatore e' un tecnico, il pickup viene completato automaticamente (aggiorna ASNCHWKF, ASNINTES, ASNCHTES).
  3. Caricamento griglia workflow (a30): scorre ASNCHWKF per la chiamata, per ogni step legge la descrizione fase (ASNFASIC), stato, date, operatori, flag obbligatorio. Applica personalizzazioni cliente-specifiche (Endonova/EI: mascheramento attivita' non consentite per certi operatori; note stima "completata" se acht-fl-fine-stima=S).

Salvataggio (a1-aggiornab-aggiorna)

F3 in modalita' aggiornamento. Scorre le righe della griglia e aggiorna su ASNCHWKF le date di prima/ultima esecuzione degli step (con controllo anti-azzeramento accidentale, per un problema riscontrato su Endonova). Per lo step pickup sincronizza acit-ass-data. A seguire aggiorna ASNINTE2 per tutti gli interventi della chiamata. Le date degli step sono validate per coerenza cronologica tra step (controlla-r-data-prima/-ultima).

Costruito con W$MENU:

  • File: Esci
  • Non conformita': Inserimento nuova NC (→ COGNA0) / Consultazione NC esistenti (→ COGNA1). Abilitate solo se id chiamata valorizzato.
  • ?: Aiuto

Messaggi principali

ID Contesto
m-titolo Titolo maschera
m-asn500-2-1 Nessuno step nel workflow
m-asn500-3-1/4-1 Inserimento/aggiornamento non abilitato
m-asn500-7-1 Operatore senza tecnico abbinato
m-asn500-8-1..8-3 Errore apertura MASKOPER.ARC
m-asn500-9-1 Step precedente obbligatorio non eseguito
m-asn500-10-1 Data step azzerata (protezione Endonova)
m-asn500-11-1..16-1 Validazione id chiamata (vuoto, alfanumerico, non trovata, classe non L)
m-asn500-17-1..20-1 Validazione date prima/ultima esecuzione
m-asn500-21-1/22-1 Operatore non valido / obbligatorio
m-asn500-23-1/24-1 Password errata / operatore senza password
m-asn500-25-1..30-1 Incoerenze cronologiche date tra step
m-asn500-31-1..36-1 Etichette pulsanti custom
m-completato/m-eseguito Etichette stato step

Storico modifiche significative (dal sorgente)

  • 091018: PCASE-158, disabilitato pulsante elenco documenti (F5)
  • 280222: menu a tendina (File / Non conformita' / ?) con COGNA0/COGNA1; costanti tipi documento
  • 151123: aggancio documento repair/permuta (ASNINDMG + COGTESBO) e id esterna; causali cau-rip-permuta-fat/nofat
  • 211123: chiusura intervento con scelta ASN230 se multipli
  • 270723: step "Assegnazione intervento" (ASN120) e "Chiusura intervento" (ASN140/ASN230)
  • 120624: step "Note stima" (ASN551) e "Chiusura tecnica" (ASN552)
  • 090524: step "Verifica approfondita" (ASN520 pag V); reset stato step se N/spaces
  • 031024: nota "(completata)" sulla note-stima da acht-fl-fine-stima (era da RNEWCONF info-analisi-ps-completata, poi disattivata)
  • 220219: dossier attivo anche con valore D

Note implementative

  • ASN500 e' essenzialmente un orchestratore: la logica operativa di ogni fase e' delegata al relativo sottoprogramma ASN5xx; ASN500 mantiene lo stato di avanzamento sul workflow ASNCHWKF e coordina la sequenza.
  • Gli step obbligatori (fl-obb) impongono un ordine: non si puo' avviare uno step se un precedente obbligatorio non e' completato (ctrl-eseguito).
  • Il pickup ha una gestione speciale: puo' essere "auto-completato" alla convalida della password quando l'operatore e' un tecnico abbinato, impostando anche il tecnico e la data assegnazione sull'intervento.
  • MASKOPER e' un file esterno (MASKOPER.ARC nella dir operatori) con le password cifrate degli operatori; la password digitata viene cifrata con ENCRYPT prima del confronto.
  • La classe chiamata gestita e' esclusivamente L (laboratorio/strumenti); chiamate di altra classe vengono rifiutate.