Vai al contenuto

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, con g68-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-null che 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).