Navigazione documenti - COGMA3¶
Panoramica¶
COGMA3 è il programma di navigazione che mostra la catena di documenti collegati, partendo da un documento origine e mostrando tutti i collegamenti a monte e a valle.
File: cbl/cogma3.cbl
Interfaccia di chiamata¶
Copybook: utilcogma3.cpy
01 util-cogma3.
02 cogma3-called pic x(13). *> "COGMA3-CALLED"
02 cogma3-doc-classe pic x(01). *> Classe documento (vedi README)
02 cogma3-doc-key pic x(30). *> Chiave documento
Esempio chiamata¶
move "COGMA3-CALLED" to cogma3-called
move "B" to cogma3-doc-classe *> Bolla
move tes-chia3 to cogma3-doc-key
call "COGMA3" using stringhe util-cogma3
Tipi documento supportati come origine¶
Il programma può partire da questi tipi di documento (righe 763-1100 circa):
| Classe | Gestito | Note |
|---|---|---|
| B - Bolla | ✅ | |
| F - Fattura | ✅ | |
| O - Ordine | ✅ | |
| S - Consegna | ✅ | |
| P - Preventivo | ✅ | |
| C - Contabile | ✅ | |
| A/L - Chiamata | ✅ | Determina automaticamente se esterna o laboratorio |
| I - Intervento | ✅ | |
| T - Contratto | ✅ | |
| M - Commessa | ✅ | |
| R - Processo riparazione | ✅ | |
| N - Buono prelievo | ✅ | Righe 1011-1032 |
| Z - Prenotazione | ✅ | |
| D - Dossier CRM | ✅ | |
| V - Attività CRM | ✅ | |
| E - Non conformità | ✅ | |
| J - Matricola magazzino | ✅ | |
| G - Scheda CRM | ✅ | |
| TL - Lanci taglio | ✅ | |
| TN - Nesting | ✅ |
Struttura espansione¶
Nodo radice (x-init-tree, riga 1369)¶
- Crea il nodo iniziale con la classe e chiave del documento
- Imposta
hidden-fl-gruppo = "S"per indicare che è un gruppo espandibile
Espansione rami (b21-espandi-*)¶
Ogni tipo documento ha routine specifiche per trovare i collegamenti:
Buono di prelievo (k-liv-classe-bdp)¶
b21-espandi-rami-bdp(riga 4355): espande tutti i ramib21-espandi-processi-rip-da-bdp: trova processi riparazione collegatib21-espandi-consegne-da-bdp: trova consegne collegate-
b21-espandi-bolle-da-bdp: trova bolle collegate -
Funzioni inverse (da altri documenti verso BDP):
b21-espandi-bdp-da-bollab21-espandi-bdp-da-consegnab21-espandi-bdp-da-processo-ripb21-espandi-bdp-da-mtr-magb21-espandi-bdp-da-prenotazione
Programmi che chiamano COGMA3¶
| Programma | Contesto |
|---|---|
| asn210 | Gestione assistenza |
| asn230 | Gestione assistenza |
| asn580 | Gestione assistenza |
| cogv84 | Visualizzazione |
| arr050 | Arrivi |
| asn142, asn203, asn260, asn500 | Vari moduli assistenza |
Programmi che potrebbero chiamare COGMA3 ma non lo fanno¶
| Programma | Note |
|---|---|
| cogm65 | Gestione buoni prelievo - include utilcogma3.cpy ma non chiama COGMA3 |
Note implementative¶
Tasti funzione¶
- F8: Dettaglio documento (disabilitato per BDP, consegne, e altri)
- F9: Stampa (disabilitato per BDP, consegne, e altri)
- SF2/F11: Filiera documento
- F7: Dossier (solo per ordini in alcune personalizzazioni)
- F4: Visualizza immagine
Lettura testata BDP fallita (riga 3773-3774)¶
Se la lettura di COGTESOR fallisce durante il controllo cliente padre/figlio, il controllo viene bypassato (w-bdp-ok = "S"). Questo è intenzionale per gestire BDP senza ordine collegato.
Note tecniche¶
Liste esclusione F8/F9 (righe 1414-1448)¶
Le due liste di esclusione per F8 e F9 sono intenzionalmente distinte con piccole differenze.
Messaggi "Espando X da?"¶
I messaggi nei blocchi when other (es. "Espando bdp da?") sono intenzionali: servono a identificare combinazioni di classi documento non ancora gestite da implementare.