Vai al contenuto

ASN145 - Preparazione chiamate di laboratorio

Sorgente: cbl/asn145.cbl (2.215 righe) | Tipo: Programma interattivo a griglia paginata su file di transito, con selezione multipla e generazione automatica di chiamate di laboratorio / DDT di riconsegna

Menu: Assist 2.0 > Operativo > Gestione Interventi a Richiesta > Preparazione chiamate di laboratorio


Scopo

Elenca in griglia i componenti da inviare in laboratorio (righe di raccordo ASNCHRAC collegate agli interventi delle chiamate standard di classe C), permettendo di selezionarli e, con un'unica operazione, di:

  • F9 (creazione chiamata lab.): per ogni riga selezionata non ancora lavorata (stato = A), crea la chiamata di laboratorio tramite ASN510 (INS-AUTO), riportando commessa/sottocommessa, brand e riferimento intervento esterno dalla chiamata di origine
  • F8 (creazione DDT di riconsegna): per le righe gia' lavorate (stato = C) genera un DDT di riconsegna del componente riparato tramite COGU30, aggiornando il raccordo con matricola e documento di riconsegna

La griglia consente inoltre di aprire lo stato/gestione della chiamata di laboratorio collegata (F5, via ASN500).

L'estrazione e' filtrabile per id chiamata, cliente assistito e periodo chiamata.


Interfaccia chiamato (linkage)

util-asn145 (utilasn145.cpy):

Campo Tipo Uso
asn145-caller x(08) Programma chiamante
asn145-called x(08) Nome chiamato
asn145-id-chiam 9(12) Id chiamata di ingresso (predefinito filtro)
asn145-id-inter 9(12) Id intervento di ingresso

In modalita' called (w-dc-called = "S", quando asn145-called = k-program-id e caller valorizzato) il filtro id chiamata e' precaricato con asn145-id-chiam e l'elaborazione parte subito (a-inizio-elab).

File acceduti

Input/lettura

File Copybook Uso
ASNCHRAC achr-rec Raccordo componenti in laboratorio: chiamata esterna, intervento, prog, stato, chiamata lab, riconsegna (chiave k02 achr-chiamata-est)
ASNINTES acit-rec Testata intervento (scansione per data k07, per chiamata k02)
ASNINTE2 acit2-rec Estensione intervento (aggiornata su nuovo intervento lab.)
ASNCHTES acht-rec Testata chiamata: classe (C), situazione, cliente assistito, commessa, brand, dossier
ASNCHDET achd-rec Dettaglio chiamata: matricola / matricola sostitutiva
ASNINDET acid-rec Riga intervento: merce e serial number del componente
ASNMATRI amtr-rec Matricola: serial number, tipo, merce, materiale (chiave k02 amtr-sn)
ASNCHWKF achw-rec Workflow chiamata lab.: step attuale / in corso
ASNFASIC acif-rec Fasi ciclo: descrizione step
COGGEANA ana-rec Anagrafica cliente assistito

Output/scrittura

File Copybook Scrittura
ASNCHTES acht-rec Aggiornamento chiamata lab.: doc-cli-cod/doc-cli-data (rif. intervento esterno), commessa/sottocommessa, brand
ASNCHRAC achr-rec Aggiornamento: stato = C, chiamata-lab, riconsegna, matricola/documento di riconsegna
ASNINDMG acim-rec Legame intervento lab.-DDT di riconsegna (tipo U)
COGRIGCM rgc-rec Raccordo chiamata-commessa (tipo CH, chiave k02)

Transito

File Copybook Scopo
cogtrans (trsasn145.{oper}) trs-rec (inline) Buffer righe estratte per la griglia paginata: chiave (chiamata est + intervento + prog), merce, serial number, stato, chiamata lab, selezione (trs-sel/trs-sel-tipo), riconsegna. Chiave 2 trs-chia2 per ordinamento
tran-g43 (COGG43.{oper}) tran-g43.cpy / trs-g43-rec File di lavoro per COGU30: righe documento di riconsegna (merce, qta, matricola). Chiave k01

Chiavi secondarie

  • cogtrans.k01, cogtrans.k02
  • asnintes.k02 (id chiamata), k07 (data intervento)
  • asnchrac.k02 (chiamata esterna)
  • asnmatri.k02 (serial number)
  • cogrigcm.k02
  • tran-g43.k01

Spaginamento griglia gestito da fscrol2.cpy / dtab.cpy / utilpggr.cpy.

Programmi chiamati

Programma Operazione Scopo
ASN210 ASN210-CALLED F9: ricerca avanzata chiamata
ASN500 (called) F5: stato/gestione chiamata di laboratorio collegata
ASN510 (called, INS-AUTO) F9: creazione automatica chiamata di laboratorio per riga selezionata
COGU30 make-doc (doc-tip X) F8: generazione DDT di riconsegna dei componenti riparati
COGS65W Lookup cliente assistito
GRIDADMN Prepara / Add / Modify / S-F4 Gestione griglia
RNEWCONF Lettura/modifica configurazioni
W$MENU Menu contestuale griglia

Nota storica (16/09/16): la chiamata a ASN530 PREPARA-DEFAULT per il precaricamento delle prestazioni previste e' commentata, in quanto ora eseguita direttamente da ASN510.

Configurazioni RNEWCONF (x99-confi)

Idx Gruppo Chiave Variabile Effetto
01 ass-strum classe-riconsegna-da-mr tm-cfg-classe Classe usata per il DDT di riconsegna (trs-g43-clm)
02 ass-strum rif-int-esterno tm-cfg-rif-int-esterno S = riporta sulla chiamata lab. il riferimento all'intervento esterno di origine (doc-cli-cod/data)

Link di riferimento: gruppo ass-strum.

Logica di elaborazione

Estrazione (carica-file)

Il criterio dipende dai filtri valorizzati:

  • id chiamata → tratta-chiamata: scorre ASNCHRAC per achr-chiamata-est = tm-id-chiamata
  • cliente e/o periodo → tratta-chia1 (chiave standard) o tratta-chia7 (data intervento): scorre ASNINTES, per ogni intervento controlla che la chiamata sia classe C e non fittizia (situazione ≠ Z), applica i filtri periodo/cliente, poi scorre ASNCHRAC per intervento

Per ogni raccordo, scrivi-cogtrans compone il record di transito: legge ASNINDET per merce e serial number del componente, ASNMATRI per il serial number della riconsegna, e formatta l'eventuale documento di riconsegna gia' presente.

Selezione (INVIO)

Alterna il flag SELEZIONATO sulla riga corrente, salvandolo su cogtrans con trs-sel-tipo = 1 (stato A, per creazione chiamata) o 2 (stato C + non ancora riconsegnato, per DDT riconsegna). I controlli ctr-cogtrans-1/ctr-cogtrans-2 impediscono di mischiare i due tipi di selezione.

Creazione chiamate di laboratorio (F9 → tratta-cogtrans / ok-tratta-cogtrans)

Per ogni riga selezionata di tipo 1:

  1. Verifica presenza e validita' del serial number / tipo matricola (via ASNMATRI)
  2. Chiama ASN510 (INS-AUTO, matricola risolta dal serial number) che crea la chiamata di laboratorio
  3. Se creata (asn510-out-id ≠ 0): riporta sulla nuova chiamata il riferimento intervento esterno (se rif-int-esterno = S), commessa/sottocommessa (+ raccordo COGRIGCM via aggiorno-cogrigcm-ch), brand (PCASE-1430), e aggiorna il raccordo ASNCHRAC (stato = C, chiamata-lab)
  4. Aggiorna ASNINTE2 degli interventi coinvolti

Creazione DDT di riconsegna (F8 → tratta-cogtrans-bis / lancia-u30)

Per ogni riga selezionata di tipo 2:

  1. Scrive le righe componente nel file di lavoro tran-g43 (merce e matricola dalla chiamata lab.)
  2. Al termine, lancia-u30 chiama COGU30 make-doc (doc-tip X) per generare il DDT di riconsegna verso il cliente assistito
  3. Per ogni riga riconsegnata aggiorna ASNCHRAC (riconsegna = S, matricola, documento) e crea il legame ASNINDMG (tipo U) tra intervento lab. e DDT

Nota (CASE 3870): il pulsante F8 e' attualmente nascosto (w-presenza-f8-consegne = 0).

Ripartenza

Dopo ogni operazione l'elaborazione riparte da a-inizio-elab: ricrea il file cogtrans (open output con nome trsasn145.{operatore}; errore 93 = funzione gia' in uso dallo stesso operatore) e ricarica la griglia.

Messaggi principali

I messaggi sono in gran parte stringhe letterali inline (italiano):

Contesto Testo
Chiamata non valida "Chiamata inesistente / non abilitata / Fittizia"
Nessun record "Nessun record estratto!"
Selezione non valida "Chiamata laboratorio gia' creata e consegnata", "Impossibile selezionare"
Serial/matricola "Manca serial number", "Tipo matricola non valido su serial num."
Conferme "Confermi creazione chiamata lab. ?", "Confermi creazione ddt riconsegna ?"
Concorrenza "Funzione gia' in uso con lo stesso operatore"

Storico modifiche significative (dal sorgente)

  • 311018: config rif-int-esterno; riporto riferimento intervento esterno sulla chiamata lab.
  • 300518: aggiornamento raccordo chiamata-commessa (COGRIGCM, tipo CH)
  • 250620: PCASE-1430 riporto codice brand sulla chiamata lab.
  • 200214: gestione periodo chiamata
  • CASE 3870: pulsante F8 riconsegna nascosto (funzione mantenuta ma disattivata)

Note implementative

  • Il file di transito cogtrans e' dichiarato manualmente nel sorgente (SELECT, FD, record trs-rec inline), non gestito da Screens
  • La griglia paginata usa il pattern fscrol2/dtab/utilpggr con restart su trs-chia2
  • Le due modalita' di selezione (creazione chiamata vs riconsegna) sono mutuamente esclusive per singola elaborazione
  • Il DDT di riconsegna passa da tran-g43 (file di lavoro per COGU30), aperto con nome COGG43.{operatore}