COGG05 - Sequenza Informazioni Clienti Potenziali¶
Funzione¶
Gestione dell'ordine di visualizzazione delle informazioni personalizzate dei clienti potenziali. Carica tutte le informazioni da COGINFPT (archivio informazioni clienti potenziali), le mostra in una griglia testuale e consente all'utente di ridefinire l'ordine tramite selezione e spostamento. Al salvataggio (F3) aggiorna il campo ipt-seq di ogni record COGINFPT con la nuova posizione.
Menu¶
- Contabilita' > Clienti Potenziali > Sequenza Informazioni
Tabelle e file principali¶
| Tabella | Descrizione | Accesso |
|---|---|---|
| COGINFPT | Informazioni clienti potenziali | I-O (lettura sequenziale, rewrite con nuovo numero sequenza) |
| FEURTAB | Tabella generica Eurosystem | Input |
Struttura record COGINFPT¶
| Campo | Descrizione |
|---|---|
ipt-num |
Codice informazione (chiave) |
ipt-des |
Descrizione |
ipt-tip |
Tipo: A=Descrizione, N=Numerica, D=Data, V=Valori fissi, altro=Tabella |
ipt-lun |
Lunghezza |
ipt-lun-dec |
Decimali |
ipt-seq |
Numero sequenza (campo aggiornato dal programma) |
ipt-fl-agg |
Flag aggiornamento (impostato a "R" al salvataggio) |
Logica principale¶
Caricamento (a4-load-info)¶
Scansione COGINFPT con start coginfpt key is > ipt-chia2 (indice secondario ipt-seq) + loop read coginfpt next. Carica fino a 200 informazioni nella tabella dinamica tab-info (array ti-ele occurs 0 to 200 depending on n-i). Lo stato iniziale non ha nessun elemento selezionato (ti-cat = spaces).
Visualizzazione¶
La maschera e' gestita come schermo testuale con box ASCII (mm-1, ridefinito come array mm1-ele (21) da 64 byte ciascuno). Le colonne visualizzate sono: codice, descrizione, tipo e lunghezza (formattato in str-reverse tramite il paragrafo a1-fill-sr).
La riga corrente e' visualizzata con control ctr-reverse (inverso), la riga selezionata (catturata) con control ctr-str blink (lampeggiante).
Navigazione (tst-fun via tstfun2.cpy)¶
Tasti freccia su/giu', PgUp/PgDn, Home/End navigano l'array. Le variabili i/j indicano l'indice corrente e la posizione video corrente, si/sj la posizione precedente (per refresh parziale).
Selezione e spostamento¶
- Invio: imposta
ti-cat (i) = "S"(selezionato); deseleziona il precedente se presente (w-cur-cat). - F1: se
i < w-cur-catchiamaa21-metti-sopra; sei > w-cur-catchiamaa22-metti-sotto. Entrambi i paragrafi usano uno shift degli elementi dell'array per riposizionare l'elemento catturato nella posizione corrente, poi azzeranow-cur-cat.
Salvataggio (b-aggiorna)¶
Loop b-agg-riga eseguito t-size volte (numero totale informazioni). Per ogni posizione k: legge il record da COGINFPT con rd-ipt-lk (read no lock con gestione retry su stato 99), imposta ipt-seq = k e ipt-fl-agg = "R", poi rewrite ipt-rec.
Apertura file¶
Usa il meccanismo search-file / open1.cpy per aprire COGINFPT in i-o.
Copybook principali¶
| Copybook | Contenuto |
|---|---|
feurtab.fd / coginfpt.fd |
SELECT file |
cogfiles.cpy / coginfpt.cpy |
FD file |
wstato.cpy / wgrave.cpy / wopenf.cpy / wnscr.cpy |
WS comuni |
cogazien.cpy |
Dati azienda |
wcont.cpy / wcont1.cpy |
Linkage section |
stato.cpy / winmsg.cpy / grave.cpy |
Gestione errori |
open1.cpy |
Apertura file generica |
mmmask.cpy |
Init/exit programma standalone |
dtab.cpy |
Gestione tabella dinamica |
tstfun2.cpy |
Gestione tasti navigazione (frecce, PgUp/PgDn, Home/End) |
Note tecniche¶
- Il programma e' un programma standalone (usa
mmmask.cpy). - La maschera e' gestita in modo testuale tramite
main-mask(non Screen Designer): dimensioni 21 righe x 64 colonne, posizione 3/7. - Il limite di informazioni gestibili e' 200 (
occurs 0 to 200 depending on n-i). - La chiave secondaria
ipt-chia2usata nella start e' la chiave peript-seq(ordine corrente). - Lo stato 99 di COGINFPT viene ignorato nel loop di lettura (record eliminati):
if statusfi = '99' go to a4-10-loop. - Il campo
ti-cate' usato solo in memoria per tracciare l'elemento selezionato; non viene scritto su disco.