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.k02asnintes.k02(id chiamata),k07(data intervento)asnchrac.k02(chiamata esterna)asnmatri.k02(serial number)cogrigcm.k02tran-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: scorreASNCHRACperachr-chiamata-est = tm-id-chiamata - cliente e/o periodo →
tratta-chia1(chiave standard) otratta-chia7(data intervento): scorreASNINTES, per ogni intervento controlla che la chiamata sia classeCe non fittizia (situazione ≠ Z), applica i filtri periodo/cliente, poi scorreASNCHRACper 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:
- Verifica presenza e validita' del serial number / tipo matricola (via
ASNMATRI) - Chiama
ASN510(INS-AUTO, matricola risolta dal serial number) che crea la chiamata di laboratorio - Se creata (
asn510-out-id ≠ 0): riporta sulla nuova chiamata il riferimento intervento esterno (serif-int-esterno = S), commessa/sottocommessa (+ raccordoCOGRIGCMviaaggiorno-cogrigcm-ch), brand (PCASE-1430), e aggiorna il raccordoASNCHRAC(stato = C,chiamata-lab) - Aggiorna
ASNINTE2degli interventi coinvolti
Creazione DDT di riconsegna (F8 → tratta-cogtrans-bis / lancia-u30)¶
Per ogni riga selezionata di tipo 2:
- Scrive le righe componente nel file di lavoro
tran-g43(merce e matricola dalla chiamata lab.) - Al termine,
lancia-u30chiamaCOGU30 make-doc(doc-tipX) per generare il DDT di riconsegna verso il cliente assistito - Per ogni riga riconsegnata aggiorna
ASNCHRAC(riconsegna = S, matricola, documento) e crea il legameASNINDMG(tipoU) 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, tipoCH) - 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
cogtranse' dichiarato manualmente nel sorgente (SELECT, FD, recordtrs-recinline), non gestito da Screens - La griglia paginata usa il pattern
fscrol2/dtab/utilpggrcon restart sutrs-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 nomeCOGG43.{operatore}