COGG32 — Contatti / Tecnici¶
Sorgente: cbl/cogg32.cbl | Tipo: Subroutine GUI di campo (accept/aiuto contatto) | Program-ID: COGG32
Menu: Contabilita' > Archivi & Tabelle > Contatti > Contatti ; Contabilita' > Archivi & Tabelle > Contatti > Tecnici ; Assist 2.0 > Archivi > Tecnici
Scopo¶
COGG32 e' una subroutine riutilizzabile per la gestione del campo "contatto" all'interno di una maschera di un programma chiamante: accetta e valida un codice contatto (tipo "C"), ne recupera il nome e, quando richiesto, l'informazione "tecnico" (merce e operatore associati). E' l'anello che collega un controllo di maschera all'anagrafica contatti e alla ricerca contatti.
Il programma non ha un ciclo di menu autonomo: e' invocato via CALL passando l'area di dialogo util-g32 (utilg32.cpy). A seconda della funzione richiesta (g32-fun) esegue lettura, visualizzazione o accept del contatto, oppure lancia l'aiuto/ricerca.
Le voci di menu "Contatti" e "Tecnici" attivano in realta' la gestione completa (menu, aiuto, remote-win) delegata alle subroutine COGG68 e COGG67; COGG32 fa da dispatcher e da gestore del campo contatto.
Per i dettagli operativi lato utente vedere la pagina utente corrispondente in docs/user.
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGRIFER | cogrifer |
Anagrafica contatti/riferimenti. Record rif-rec, chiave rif-chia1 = rif-tip ("C") + rif-cod; da qui rif-nome |
| COGANATN | coganatn |
Anagrafica tecnici. Record atn-rec, chiave atn-rif = rif-chia1; campi atn-mer (merce), atn-ope-cod (operatore) |
util-g32 (linkage) |
utilg32.cpy |
Area di dialogo con il chiamante: g32-fun, g32-key, g32-cod, g32-nome, g32-param, g32-esito, g32-merce, g32-atn-ope, handle dei controlli |
util-g67 / util-g68 |
utilg67.cpy / utilg68.cpy |
Aree di dialogo verso COGG67 (aiuto/ricerca) e COGG68 (gestione contatti) |
x-tp-link |
utilxtapi.cpy |
Verifica configurazione TAPI (integrazione telefonia) |
Le letture avvengono con i verbi generati rd-cogrifer e rd-coganatn.
Struttura ed elaborazione¶
Subroutine su framework mmsubw.cpy (z-99-init-subroutine / z-99-exit-subroutine, procedure division using stringhe, terminazione con exit program). La screen del campo e' cogg32-01.scr.
Inizializzazione (screen-0)¶
Alla prima chiamata apre i file (open-files) e verifica la configurazione TAPI chiamando XTAPI01 con operazione "check-config": se disponibile, imposta fl-tapi = "S". Il flag viene poi propagato a COGG67/COGG68.
Dispatch¶
- Se
g32-called not = "COGG32"(invocazione "diretta" da menu), delega la gestione contatti a COGG68 (util-g68, cong68-parametro,g68-fl-tapi) e termina. E' il caso delle voci di menu "Contatti" / "Tecnici". - Altrimenti valuta
g32-fun:
g32-fun |
Azione |
|---|---|
"win-aiuto" |
Aiuto/ricerca contatto via COGG67 (g67-modalita = "S"); se selezionato restituisce chiave, nome e anagrafica |
"remote-win" |
Apertura finestra remota via COGG67 (g67-modalita = "A") |
"read" |
validate-g32-contatto (sola lettura/validazione) |
"display" |
validate-g32-contatto + show-g32-contatto (aggiorna i controlli) |
"accept" |
accept-g32-contatto (accept interattivo del codice) |
| altro | box messaggio "fun non definito" |
Validazione contatto (validate-g32-contatto)¶
Legge COGRIFER per g32-key; se non trovato imposta g32-esito = "N" e nome tutto "*". Se g32-param = "T" (richiesta tecnico) legge anche COGANATN: se il contatto e' un tecnico restituisce atn-mer (merce) e atn-ope-cod (operatore) in g32-merce / g32-atn-ope, altrimenti fallisce.
Accept del campo (accept-g32-contatto / acc-contatto)¶
Accetta il codice contatto sul controllo il cui handle e' passato in g32-handle-cod. Gestisce:
- F8 = aiuto/ricerca contatto tramite COGG67 (con
g32-ana-tip = "F"), riportando il codice scelto; - la validazione tramite
x-controlla-tm-cod/x-imposta-conferma, che rilegge COGRIFER (tipo"C") e, per i tecnici (g32-param = "T"), COGANATN; colora il controllo verde/rosso in base all'esito e aggiorna il controllo descrizione (g32-handle-des) con il nome; - il flag
g32-fl-nullche ammette codice zero (campo facoltativo).
L'esito dell'accept (tasto premuto) e' restituito in g32-exception.
CALL a sottoprogrammi¶
| Sottoprogramma | Scopo |
|---|---|
| COGG68 | Gestione completa contatti/tecnici (invocazione diretta da menu) |
| COGG67 | Aiuto/ricerca contatto e finestra remota |
| XTAPI01 | Verifica configurazione TAPI (integrazione telefonia) |
Note¶
- COGG32 e' una subroutine di campo, non un programma standalone: le voci di menu "Contatti" e "Tecnici" passano attraverso di essa ma la gestione vera e propria e' in COGG68 (menu) e COGG67 (aiuto).
- Il parametro
g32-param = "T"distingue la modalita' "tecnico" (lettura anche di COGANATN per merce/operatore) dalla modalita' contatto generico. - Compare in tre posizioni di menu (Contabilita' > Contatti > Contatti, Contabilita' > Contatti > Tecnici, Assist 2.0 > Archivi > Tecnici) che puntano allo stesso sorgente; la stampa etichette e' invece a carico di COGG32S (fuori da questo programma).