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-g51e' 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 includeptc-inf-num(numero informazione) eptc-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.cpyin 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