Vai al contenuto

COGG51 - Visualizzazione Parametrica Clienti Potenziali

Sorgente: cbl/cogg51.cbl | Program-ID: COGG51 | Tipo: utility di selezione / estrazione parametrica

Menu: Contabilita' > Clienti Potenziali > Visualizzazioni > Visualizzazione Parametrica


Scopo

COGG51 consente all'operatore di definire criteri di ordinamento e selezione parametrica sull'archivio clienti potenziali, combinando informazioni provenienti da COGPOTCL (tabella informazioni per cliente) e COGINFPT (definizione informazioni). Il programma permette di specificare fino a 5 chiavi di ordinamento e fino a 8 criteri di selezione con operatori di confronto (uguale, diverso, maggiore, minore, non maggiore, non minore). I clienti che soddisfano i criteri vengono scritti su un file di transito temporaneo (tran-g51), usato per il display successivo (tramite COGG52, attualmente disabilitato nel sorgente).

File e tabelle

File/Tabella Copybook Modalita' Uso
FEURTAB feurtab.fd, cogfiles.cpy input Tabella file environment
COGTABEL cogtabel.fd, cogtabel.cpy input Tabelle di decodifica
COGGEANA coggeana.fd, coggeana.cpy input Anagrafica generale
COGPOTCL cogpotcl.fd, cogpotcl.cpy input Informazioni per cliente potenziale
COGINFPT coginfpt.fd, coginfpt.cpy input Definizione informazioni (descrizione, tipo, lunghezza)
COGCLIPT cogclipt.fd, cogclipt.cpy input Anagrafica clienti potenziali
TRAN-G51 tran-g51.fd, tran-g51.cpy output/i-o File di transito temporaneo per clienti selezionati

Programmi chiamati

Programma Scopo
COGU10 Lettura divisa di conto (operazione GetDivisaConto)
COGG04 Accettazione e visualizzazione valore di un'informazione cliente (con decodifica tipo/tabella)

Copybook principali

Linkage: - wcont.cpy, utilg03.cpy (parametri in entrata, area util-g03), wcont1.cpy

Utility: - utilg04.cpy (area util-g04 per chiamata a COGG04) - utilgw04.cpy, utils60.cpy, utilu10.cpy

Gestionale standard: - wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy - stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, open1.cpy, mmmask.cpy - cogtabel.k01, coggeana.k01, cogpotcl.k01, cogpotcl.k03, coginfpt.k01, cogclipt.k01 - dtab.cpy, scree.cpy, tstfun1.cpy, sendgw04.cpy

Logica di elaborazione

Avvio: apertura file, lettura azienda; chiamata a COGU10 (GetDivisaConto) per ottenere la divisa di conto. Il nome del file di transito tran-g51 viene costruito dinamicamente come <ext-tmp-dir><os-slash>#$COGG51.<wo-oper> (percorso temporaneo per operatore).

Criteri di ordinamento (a-40/a-40-acc): accept di fino a 5 numeri di informazione (tm-ord-inf, da COGINFPT); F8 apre helper send-gw04. Ogni informazione digitata viene convalidata su COGINFPT e la descrizione viene visualizzata a fianco.

Criteri di selezione (a-50/a-50-acc): accept di fino a 8 informazioni di selezione. Per ciascuna: scelta dell'operatore (popup a1-operatori con lista EQ/NE/GT/LT/NG/NL) e del valore tramite COGG04 (z-g04). Il tipo, la lunghezza e la tabella di decodifica del valore vengono letti da COGINFPT (ipt-tip, ipt-lun, ipt-lun-dec, ipt-tab).

Validazione (a-80): verifica che nessuna informazione sia selezionata due volte; in caso di duplicato avvisa l'operatore e torna all'input.

Preparazione (c-prepara): costruisce la tabella tab-parametri (array tp-ele) con le informazioni di selezione, ordinata per numero di occorrenze stimate (EQ ha priorita' massima con occorrenze 0, altri operatori ricevono 99999999).

Ricerca (e-ricerca): apre tran-g51 in output per scrittura. Se non ci sono criteri (n-p = 0), esegue e1-cerca-tutto (scan completo di COGCLIPT). Altrimenti, e2-seleziona usa la prima condizione di selezione per posizionarsi su COGPOTCL con la chiave terziaria (cogpotcl.k03) e itera con rdnxt-cogpotcl/rdprv-cogpotcl in base all'operatore. Per ogni cliente candidato, verifica le condizioni secondarie (paragrafi e21-test-eq ... e26-test-nl). I clienti validi vengono scritti su tran-g51 (e3-aggiungi) con le chiavi di ordinamento estratte da COGPOTCL.

Tabella operatori: definita inline nel working storage (tab-operatori / tab-operatori-r, 6 elementi: EQ/NE/GT/LT/NG/NL con descrizioni in italiano).

Note

  • Il file di transito tran-g51 e' di tipo temporaneo per operatore; in caso di apertura fallita (status non '00') viene mostrato messaggio di funzione gia' in uso.
  • COGPOTCL usa la chiave terziaria (cogpotcl.k03) per la selezione parametrica: la chiave include ptc-inf-num (numero informazione) e ptc-dati (valore).
  • Il lancio di COGG52 (visualizzazione griglia risultati) e' presente nel sorgente ma commentato; il programma al momento termina dopo la fase di ricerca senza mostrare i risultati.
  • La variabile utilg03.cpy in linkage suggerisce che il programma era pensato per essere richiamato da COGG03 (scheda cliente), ma la modalita' richiamato non e' implementata nel flusso principale.

Documentazione tecnica generata -- 2026-07-15