Vai al contenuto

ASN510 - Ricezione chiamata di riparazione (controllo strumenti Endonova)

Sorgente: cbl/asn510.cbl (7.616 righe) | Tipo: Programma interattivo di inserimento/modifica con griglia accessori, numerazione automatica, generazione intervento/workflow, carico da cliente e dossier; utilizzabile standalone e called

Menu: Assist 2.0 > Operativo > Riparazioni > Ricezione


Scopo

ASN510 e' la ricezione (apertura o modifica) di una chiamata di laboratorio (classe "L", controllo/riparazione strumenti tipo Endonova). Raccoglie in un'unica maschera tutti i dati della chiamata - matricola/serial number dello strumento, cliente assistito e di fatturazione, destinazione, priorita', oggetto, brand, tipo attivita', area tecnica, tipo difetto, commessa, agente, note, stato disinfezione - e la griglia degli accessori ricevuti insieme allo strumento.

Alla conferma il programma:

  1. numera la chiamata (COGS25) e scrive ASNCHTES + riga di dettaglio ASNCHDET;
  2. genera il workflow della chiamata da ASNFASIC (ASNCHWKF, con lo step di ricezione marcato completato);
  3. crea l'intervento collegato (ASNINTES, + ASNINTE2);
  4. aggiorna gli accessori (ASNACCES/ASNCHACC) e il raccordo chiamata-commessa (COGRIGCM);
  5. opzionalmente crea il dossier documentale (CRMS10) e, per gli strumenti muletto di proprieta' interna, il carico da cliente in magazzino (COGU30 via transito TRAN-G43);
  6. propone stampa registrazione/etichetta e invio muletto.

Puo' essere invocato in inserimento automatico (asn510-in-ope = "INS-AUTO") senza interazione, tipicamente da flussi che ricevono uno strumento gia' identificato da un documento di entrata.


Interfaccia chiamato (linkage)

Procedura chiamata con using stringhe util-asn510.

util-asn510 (utilasn510.cpy):

Campo Tipo Uso
asn510-caller / asn510-called x(08) Identificativi chiamante/chiamato
asn510-in-modalita x(1) "I" = inserimento diretto
asn510-in-id 9(13) Id chiamata da aprire in modifica
asn510-out-id 9(13) Id chiamata creata/selezionata (output)
asn510-in-ope x(10) Operazione: " ", "VERIFICA" (verifica s/n acquistato), "INS-AUTO" (inserimento automatico non interattivo)
asn510-in-mtr 9(12) Matricola per cui aprire la chiamata
asn510-in-crea-carico x(01) Se "S" crea il carico di magazzino della matricola (caso INS-AUTO)
asn510-in-tes-chia3 (mag/ann/tip/bol) Documento di entrata da cui nasce la chiamata (INS-AUTO)

Modalita' called / INS-AUTO: con asn510-in-ope = "INS-AUTO" la maschera non viene costruita (nessun display/accept); i dati sono precaricati da linkage e dalla matricola, i controlli sono eseguiti in batch e la chiamata e' salvata direttamente, restituendo asn510-out-id.

File acceduti

Input/lettura (anagrafiche e supporto)

File Copybook Uso
ASNMATRI amtr-rec Matricola strumento: s/n, tipo, marca, modello, cliente, merce, matricola magazzino (amtr-mat), ubicazione, dst
ASNMTRTP amtp-rec Tipo matricola (descrizione)
ASNMODEL amod-rec Modello matricola (nome, usato come chiave accessori)
ASNACCES aacc-rec Accessori previsti per modello (chiave k02 aacc-mod-nome)
ASNTPATT atpa-rec Tipo attivita' (validazione, cliente collegato)
ASNTPAT2 atp2-rec Estensione tipo attivita'
ASNTPDIF atpd-rec Tipo difetto (validazione, tipo matricola)
ASNPRIOR apri-rec Priorita' (descrizione)
ASNAREAT arte-rec Area tecnica (sede/magazzino, tipo fatturazione associato)
ASNCNTES acnt-rec Testata contratto (ricerca contratto del cliente, chiave k02)
ASNCNCND acnd-rec Condizioni contratto (priorita' da contratto)
ASNCNTE2 acn2-rec Estensione contratto (data scadenza disdetta, TASK-2499)
ASNCNMTR acnc-rec Matricole gestite dal contratto
ASNCNMT2 acnb-rec Estensione matricole contratto (PCASE-4281)
ASNFASIC acif-rec Anagrafica fasi/step (chiave k03) per generare il workflow
ASNINTES acit-rec Interventi collegati (chiave k02)
COGTABEL euta-rec Tipo fatturazione (descrizione)
COGGEANA ana-rec Clienti (assistito/fatturazione)/agenti; ana-padre per cliente di fatturazione
COGTESBO tes-rec Documento di entrata (agenti, dst) - modalita' INS-AUTO
COGTESCM tsc-rec Commessa (validazione, cliente)
COGSOTCM sot-rec Sottocommessa (validazione)
COGMATRI mtr-rec Matricola magazzino (chiave k03 mtr-ent)
COGDESTI dst-rec Destinazioni diverse del cliente
COGANAPP aap-rec Estensione anagrafica (ente pubblico - logica commesse, oggi commentata)
COGANCAP anc-rec Brand del cliente (anc-brand)
COGBRAND bra-rec Anagrafica brand (descrizione)
PRNTOPER ptop-rec Operatore (descrizione)

Output/scrittura

File Copybook Scrittura
ASNCHTES acht-rec wr/rwr: testata chiamata (classe "L", cliente, contratto, priorita', tipo att., area tecnica, tipo fat., brand, commessa, note, agenti, scadenza da ASNS01, dossier). In cancellazione del
ASNCHDET achd-rec wr/rwr: riga chiamata (matricola, difetto segnalato)
ASNCHWKF achw-rec wr/rwr: workflow generato da ASNFASIC; step di ricezione a stato "C"
ASNINTES acit-rec wr: intervento collegato (data, stato "A", magazzino se chiusura esterna)
ASNINTE2 acit2-rec wr/rwr: estensione intervento
ASNACCES aacc-rec wr/rwr/del: accessori del modello (griglia)
ASNCHACC acha-rec wr/rwr/del: accessori ricevuti sulla chiamata (tip "T"/"M")
ASNCHSTO achs-rec del in cancellazione chiamata
ASNCHPRP achp-rec del in cancellazione chiamata
ASNCHRAC achr-rec rwr: aggiorna riferimento chiamata esterna collegata (in cancellazione)
ASNCNMTR / ASNCNMT2 acnc-rec / acnb-rec wr: aggancio matricola a contratto
ASNINDMG acim-rec wr/del: legame intervento → documento di carico muletto
COGRIGCM rgc-rec wr/del: raccordo chiamata → commessa (tip "CH", chiave k02)
COGMATRI mtr-rec (lettura per carico; scrittura via COGU30)
COGIMAGE img-rec del: immagini collegate alla chiamata (in cancellazione, chiave k02)
ASNMATRI amtr-rec rwr: aggiornamento ubicazione matricola

Transito

File Copybook Scopo
TRAN-G43 trs-g43-rec Righe per la creazione del carico da cliente via COGU30 (merce, matricola, classe movimento). Nominato #$COGG43.<oper> in ext-tmp-dir

Chiavi secondarie

  • asncntes.k02, asnchdet.k02, asnacces.k02, asnchwkf.k02, asncnmtr.k02, asnfasic.k03, asnintes.k02, asnchrac.k04, cogimage.k02, cogmatri.k03, cogrigcm.k02, tran-g43.k01

Programmi chiamati

Programma Operazione Scopo
COGS25 (numeratore) Numerazione automatica chiamata (s25-i-cod = 59, PBUG-667) e intervento
ASN200 ASN200-CALLED F9 su serial number: ricerca matricola (ritorna asn200-id)
ASN210 ASN210-CALLED F9 su Id chiamata: ricerca chiamata
ASN220 ASN220-CALLED F6: visualizzazione/selezione contratti del cliente (x-f6-contratti)
ASN030 Inserimento/manutenzione matricola (nuovo s/n o matricola provvisoria)
ASNS01 Calcolo data/ora di scadenza chiamata da data/ora/priorita'
ASNS02 Ricerca matricola da serial number (ritorna asns02-out-id)
ASN016 / ASN018 / ASN035 / ASN041 Lookup: tipo attivita' / tipo difetto / area tecnica / priorita'
COGT20 Lookup operatore (F8)
COGY68 Lookup tipo fatturazione (F8)
COGMAH Lookup brand (F8)
COGS65W Lookup cliente assistito/fatturazione/agente
COGW92 (send-w92) R/S Gestione/lookup destinazione diversa
COGU35W (call-u35) Gestione campi commessa/sottocommessa in maschera
COGU30 make-doc Creazione documento di carico da cliente (muletto) da TRAN-G43
CRMS10 SCRIVI / CREA-GRUPPO-DOC Creazione dossier documentale della chiamata e nodi (Allegati/Preventivi/DDT)
ASN120 ASN120-CALLED Cancellazione interventi e archivi CRM collegati (in cancellazione chiamata)
ASN515 F5 dopo salvataggio: invio muletto sostitutivo
ASN530 PREPARA-DEFAULT INS-AUTO: preparazione default sulla chiamata
ASN599 Stampa/archiviazione modulo di registrazione chiamata
ASNP01 Stampa etichetta chiamata
DIALOGS Dialogo finale post-salvataggio (Esci / Invio muletto / Stampa / Etichetta)
GRIDADMN Prepara Personalizzazione griglia accessori
RNEWCONF Lettura/modifica configurazioni

Configurazioni RNEWCONF (x99-load-config, 31 chiavi)

Idx Gruppo Chiave Variabile Effetto
01 ass-strum priorita-default tm-cfg-priorita Priorita' proposta
02 ass-strum stato-disinf-default tm-cfg-stato-disinf Stato disinfezione proposto
03 ass-strum oggetto-default tm-cfg-oggetto Oggetto proposto
04 ass-strum tipo-att-default tm-cfg-tipo-att-def Tipo attivita' di default
05 assist codice-stato-chiamata tm-cfg-codice-stato-chiamata Stato iniziale chiamata
06 ass-strum presenza-disinfezione tm-cfg-gest-disinfez Abilita gestione disinfezione
07 ass-strum modalita-ricerca-matricola tm-cfg-modo-rice-matr "B": ricerca matricola prima del cliente
08 ASSIST gestione-cliente-fatturazione tm-cfg-ges-cli-fatt Gestione cliente di fatturazione
09 ASSIST cancella-chiamata-chiusa tm-cfg-canc-chia-chiu Regole cancellazione chiamata chiusa
10 ass-strum stampa-etichetta-chiamata tm-cfg-stampa-etich Abilita stampa etichetta (ASNP01)
11 ASSIST ins-manuale-num-chiamata tm-cfg-ins-manuale-num-c Numero chiamata inserito manualmente
12 ASS-STRUM GENERAZIONE-DOSSIER tm-cfg-genera-dossier "S"/"D": crea dossier CRMS10
13 ASS-STRUM TIPO-DOSSIER-CHIAMATA tm-cfg-dsr-tip Tipo dossier
14 ASS-STRUM PREFISSO-ID-DOSSIER tm-cfg-dsr-prefisso-id Prefisso id dossier
15 ASSIST arc-ott-autom tm-cfg-arc-ott Archiviazione ottica automatica (giro COGU06 oggi disattivato)
16 ASSIST gestione-dest-diversa tm-cfg-gestione-dest-diversa Gestione destinazione diversa
17 assist matr-destinazione-obbligatoria tm-cfg-obb-dest Destinazione obbligatoria per matricola
18 ASS-STRUM TIPO-MATRICOLA-GENERICO tm-cfg-tipo-matricola-generico Tipo matricola "generico" (salta controlli cliente/contratto)
19 ASSIST tipo-numerazione-interventi tm-cfg-tipo-numerazione "C": intervento numerato con chiave chiamata*100+prog
20 ASS-STRUM CLASSE-MOV-ENTRATA-MULETTO tm-cfg-classe-mov-entrata-mul Classe movimento per carico muletto (PBUG-691: se vuota, no COGU30)
21 commesse tracciatura-flussi-finanziari tm-cfg-tracciatura-flussi-finanz Tracciatura flussi finanziari commessa
22 contabil tipi-doc-per-causale tm-cfg-doc-per-causale Documenti per causale
23 ass-chiam tipo-fat-assistenza tm-cfg-tipo-fat-assist Tipo fatturazione assistenza di default
24 azienda gestione-brand-marchio tm-cfg-gestione-brand Abilita gestione brand
25 ENTRATE CAU-RIPARAZIONE-ASSIST tm-cfg-cau-rip Causale carico "in riparazione"
26 ass-strum modo-chiusura tm-cfg-modo-chiusura "E" = chiusura esterna (usa mag-intervento)
27 ass-strum mag-intervento tm-cfg-mag-intervento Magazzino intervento (chiusura esterna)
28 entrate cau-rip-permuta-fat tm-cfg-cau-rip-permuta-fat Causale riparazione permuta fatturata
29 entrate cau-rip-permuta-nofat tm-cfg-cau-rip-permuta-nofat Causale riparazione permuta non fatturata
30 ass-chiam gestione-tipo-attivita tm-cfg-gestione-tipo-attivita A (forzato default), B (facoltativo), C (obbligatorio)
31 ass-chiam tipo-fat-da-areatec-brand tm-cfg-tipo-fat-da-areatec-brand "A": tipo fatturazione derivato da area tecnica/brand (180326)

Logica di elaborazione

Ingresso (apri / a4)

Carica azienda e le 31 configurazioni. Se INS-AUTO salta tutta la costruzione GUI e precarica i dati dalla matricola (asn510-in-mtr) e dal documento (asn510-in-tes-chia3), quindi va a a-fine-dati. Nelle modalita' interattive costruisce la maschera (pulsanti custom F7 Nuova chiamata, F6 Contratti) e la griglia accessori.

Accept dei campi (interattivo)

Sequenza di paragrafi a-tm-* (data, ora, cliente assistito, s/n, operatore, doc. consegna, tipo fatturazione, rif. chiamata cliente, oggetto, priorita', da-contratto, brand, tipo attivita', cliente fatturazione, destinazione, stato disinfezione, commessa, agente, ubicazione, note, tipo difetto, area tecnica) con relativi x-controlla-tm-*. Ogni campo gestisce F2 (indietro), F3 (conferma → ctrl-modificaa-fine-dati), F6 (contratti), F8 (lookup), F9 (ricerca avanzata).

Logiche di controllo notevoli: - Serial number (x-controlla-tm-sn): via ASNS02/ASN030 identifica o crea la matricola; verifica appartenenza al cliente, provvisorieta', destinazione obbligatoria, e la presenza di chiamate gia' aperte per la stessa matricola. - Cliente assistito (x-controlla-tm-cli-ass): deriva il cliente di fatturazione da ana-padre, propone il brand, cerca il contratto (cerca-contratto-cli-ass). - Contratto (cerca-contratto-cli-ass/tratta-asncntes): scorre ASNCNTES per cliente di fatturazione; gestisce contratti scaduti/disdetti (TASK-2499, acnt-fl-chiuso = "D" + acn2-data-scadenza) e priorita' da condizione contratto. - Area tecnica / tipo fatturazione (180326): con doc-per-causale = "S" e tipo-fat-da-areatec-brand = "A", il tipo fatturazione e' derivato dall'area tecnica (arte-tipo-fat).

Griglia accessori (a-grid / a-accept-grid)

Elenca gli accessori previsti dal modello (ASNACCES) piu' quelli aggiunti (ASNCHACC tip "M"), con flag di selezione. b-aggiorna riconcilia la griglia con i file (inserisce/modifica/cancella ASNACCES/ASNCHACC).

Conferma e salvataggio (a-fine-datia-fine-dati-ok)

  1. x-controlla-dati: rilancia tutti i controlli di campo; blocco su errore.
  2. Conferma operatore (salvo INS-AUTO).
  3. Verifica matricola obbligatoria.
  4. Numerazione chiamata via COGS25 (s25-i-cod = 59).
  5. Scrive ASNCHTES (classe "L", scadenza da ASNS01) e ASNCHDET; aggiorna raccordo commessa (COGRIGCM).
  6. In inserimento genera il workflow da ASNFASIC su ASNCHWKF (step obbligatori/facoltativi da acif-fl-ese; primo step marcato "C").
  7. b-aggiorna accessori.
  8. Se configurato, crea il dossier (CRMS10: SCRIVI + 3 nodi CREA-GRUPPO-DOC).
  9. Scrive l'intervento (scrivi-intervento: numerazione da tipo-numerazione o da ultimo id; magazzino intervento se chiusura esterna) e ASNINTE2.
  10. Per strumenti muletto interni con matricola magazzino: carico-da-cliente (INS) o carico-da-cliente-bis (variazione, con conferma) → COGU30 su TRAN-G43, legame ASNINDMG tip "M".
  11. INS-AUTO: ASN530 PREPARA-DEFAULT, poi ritorna asn510-out-id.
  12. Interattivo: dialogo finale DIALOGS (Esci / F5 Invio muletto ASN515 / F9 Stampa ASN599 / F7 Etichetta ASNP01).

Cancellazione (cancella, F4)

Verifica abilitazione e stato (fasi di stima non eseguite, o chiamata senza documenti se canc-chia-chiu = "S"), avverte se collegata a carico muletto, poi ASN120 (interventi + CRM), e cancella ASNCHSTO, ASNCHTES, COGRIGCM, ASNCHDET, ASNCHWKF, ASNCHPRP, COGIMAGE, aggiorna ASNCHRAC.

Messaggi principali

Testo Contesto
"Chiamata errata !!" / "Attenzione: Chiamata NON di laboratorio" Validazione id chiamata
"Cliente obbligatorio " / "Cliente assistito errato " Validazione cliente
"Serial number obbligatorio !!" / "Serial number non esistente; ..." Validazione s/n (con creazione via ASN030)
"Serial Number Non selezionabile: Non del cliente!!" S/n non appartenente al cliente
"Serial number senza destinazione diversa !!" Destinazione obbligatoria mancante
"Serial number / matricola con gia' una chiamata aperta " Matricola con chiamata "L" aperta
"Chiamata senza matricola : Inserire la matricola !!" Controllo pre-salvataggio
"Confermi inserimento/modifica chiamata ?" Conferma salvataggio
"Confermi il carico muletto da cliente ?" Prima del carico COGU30
"Manca la classe per la creazione entrata da cliente ..." CLASSE-MOV-ENTRATA-MULETTO vuota (PBUG-691)
"Contratto selezionato non valido ..." F6 contratti: contratto chiuso/rinnovato/disdetto o di altro cliente

Note implementative

  • La chiamata creata e' sempre di classe "L" (acht-classe = "L"), coerente con la funzione di ricezione strumenti di laboratorio.
  • La numerazione chiamata usa COGS25 (cod 59, PBUG-667/280520), sostituendo la vecchia lettura del massimo id; anche l'intervento e' numerato da COGS25 o con schema id-chiamata*100+prog se tipo-numerazione = "C".
  • La modalita' INS-AUTO e' pervasiva: quasi ogni display/accept e' condizionato a asn510-in-ope not = 'INS-AUTO', cosi' il flusso batch riusa la stessa logica di validazione e salvataggio senza GUI.
  • Il carico muletto da cliente e' disattivato se CLASSE-MOV-ENTRATA-MULETTO e' vuota (PBUG-691, 260520); il giro di archiviazione ottica COGU06 e' commentato dal 2022.
  • La logica commesse per ente pubblico (ok-com-a) e' interamente commentata dal PCASE-1463 (240620): commessa/sottocommessa sono sempre disponibili se il modulo commesse e' attivo.
  • Il sorgente e' storicamente stratificato e usa massicciamente GO TO tra paragrafi di accept e PERFORM ... THRU: strutture legacy, da non replicare in nuovo codice.