COGSA602 - Testi variabili classe 02 (interventi assistenza)¶
Sorgente: cbl/cogsa602.cbl | Tipo: Sottoprogramma (non a menu)
Chiamante: COGSA6 (dispatcher testi variabili)
Scopo¶
Ricerca le informazioni necessarie per la sostituzione dei testi di classe "02": stampa fatture con riferimento a interventi di assistenza 2.0 esterni. Il programma riceve un riferimento documento (DDT/fattura) e restituisce una serie di tag-valore con i dati dell'intervento, della chiamata e delle matricole associate.
Linkage Section¶
Utilizza la copybook utilcogsa6.cpy — stessa struttura di tutti i sottoprogrammi COGSA6xx:
| Campo | Tipo | Dir | Descrizione |
|---|---|---|---|
cogsa6-ope |
x(20) | I | Operazione (default implicita) |
cogsa6-classe |
x(04) | I | Classe testo ("02") |
cogsa6-lng |
x(03) | I | Lingua (default "ITA") |
cogsa6-sudd |
x(30) | I | Suddivisione |
cogsa6-key |
x(50) | I | Chiave documento (tes-chia3) |
cogsa6-tab-pnt |
9(04) | O | Numero di elementi restituiti (max 100) |
cogsa6-tab-ele |
(x100) | O | Array tag/dato-n/dato-x |
cogsa6-esito |
x(01) | O | "S" = successo, "E" = errore |
cogsa6-msg |
x(160) | O | Messaggio errore |
Tag restituiti¶
| Tag | Tipo | Contenuto |
|---|---|---|
ID-INTER |
Numerico | ID intervento |
ID-CHIAM |
Numerico | ID chiamata |
DATA-INT |
Alfanum | Data intervento (DD/MM/YYYY) |
DATA-ASS |
Alfanum | Data assegnazione (DD/MM/YYYY) |
CLI-ASS-C |
Numerico | Codice cliente assistenza |
CLI-ASS-D |
Alfanum | Ragione sociale cliente |
CLI-ASS-L |
Alfanum | Localita' cliente |
MTR-ID |
Alfanum | ID matricola/e (concatenate con delimitatore) |
MTR-SN |
Alfanum | Numero/i seriale (concatenati) |
MTR-MARCA-C |
Alfanum | Codice/i marca |
MTR-MARCA-D |
Alfanum | Descrizione/i marca |
MTR-MOD-C |
Alfanum | Codice/i modello |
MTR-MOD-D |
Alfanum | Descrizione/i modello |
MTR-MODD+SN |
Alfanum | Descrizione modello + seriale (combinato) |
MTR-N-INV |
Alfanum | Numero/i inventario |
MTR-UBI |
Alfanum | Ubicazione/i |
CHIAMATA-CLI |
Alfanum | Riferimento cliente chiamata |
INT-CLI |
Alfanum | Riferimento interno cliente |
MTR-TIPO |
Alfanum | Descrizione tipo matricola |
Quando un intervento ha piu' matricole, i valori vengono concatenati usando i delimitatori configurati in RNEWCONF (gruppo testi, chiavi delim-dati e delim-elementi).
Logica di elaborazione¶
- Ricerca documento: cerca in ASNINDMG per chiave secondaria (
chia2) il movimento di magazzino collegato al documento - Validazione intervento: legge ASNINTES e ASNCHTES; la classe chiamata deve essere "C" (esterna)
- Ricerca matricole: cerca prima per dettaglio intervento (ASNINDET), in fallback per dettaglio chiamata (ASNCHDET) — fino a 1000 matricole
- Arricchimento dati: per ogni matricola legge ASNMATRI (master), ASNMTRTP (tipo), ASNMARCH (marca), ASNMODEL (modello)
- Composizione output: costruisce l'array di tag-valore con i dati formattati
- Restituzione: imposta esito "S" e numero elementi, oppure "E" con messaggio "Documento non collegato ad intervento"
File utilizzati¶
| File | Copybook | Accesso | Scopo |
|---|---|---|---|
| ASNINDMG | asnindmg.k02 | Lettura per chia2 | Indice movimenti magazzino → intervento |
| ASNINTES | asnintes.cpy | Lettura diretta | Testate intervento |
| ASNCHTES | asnchtes.cpy | Lettura diretta | Testate chiamata |
| ASNINDET | asnindet.cpy | Lettura sequenziale | Dettaglio intervento (matricole) |
| ASNCHDET | asnchdet.cpy | Lettura sequenziale | Dettaglio chiamata (matricole fallback) |
| ASNMATRI | asnmatri.cpy | Lettura diretta | Anagrafica matricole |
| ASNMTRTP | asnmtrtp.cpy | Lettura diretta | Tipi matricola |
| ASNMARCH | asnmarch.cpy | Lettura diretta | Marche |
| ASNMODEL | asnmodel.cpy | Lettura diretta | Modelli |
| COGGEANA | coggeana.cpy | Lettura diretta | Anagrafica clienti |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGU10W | Divisa default conto (operazione "GetDivisaConto") |
| RNEWCONF | Lettura configurazioni (delimitatori testi) |
Configurazioni (RNEWCONF)¶
| Gruppo | Chiave | Effetto |
|---|---|---|
testi |
delim-dati |
Delimitatore tra dati di matricole diverse |
testi |
delim-elementi |
Delimitatore tra sotto-elementi di uno stesso dato |
Note¶
- Aggiunto il 31/08/2022: campi
MTR-N-INV(numero inventario) eMTR-UBI(ubicazione) - TASK-3175 (16/03/2026): aggiunto campo
DATA-ASS(data assegnazione)