Vai al contenuto

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.

  • 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).

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-cat chiama a21-metti-sopra; se i > w-cur-cat chiama a22-metti-sotto. Entrambi i paragrafi usano uno shift degli elementi dell'array per riposizionare l'elemento catturato nella posizione corrente, poi azzerano w-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-chia2 usata nella start e' la chiave per ipt-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-cat e' usato solo in memoria per tracciare l'elemento selezionato; non viene scritto su disco.