Gestione griglie modificabili.
Questa routine viene generata sempre per ciascuna griglia modificabile. Permette l'attivazione e/o la disattivazione dei tasti funzione sulle celle di una griglia di tipo "speciale" (ad esempio merci, anagrafiche cli/for, ecc). La chiamata a questa routine è gestita direttamente da screens.
Esempio della routine
**---------------------------------------------------------------**
** Gestione tf pilotati automaticamente da campi
** speciali su: 'tm-tab'
**---------------------------------------------------------------**
z-gestione-tf-tm-tab-auto.
if i > tm-grid-dati-pnt or
i = 0
exit paragraph
end-if
perform x-disattiva-tf-tm-tab
evaluate w-cell-x
when gcn-data
if w-presenza-f8-calendario = 1
perform x-attiva-f8-calendario
end-if
when gcn-cli-cod
initialize util-s65
MOVE 'ATTIVA-TF-COD' to s65-ope
perform z-s65-tm-cli
when gcn-cli-des
initialize util-s65
MOVE 'ATTIVA-TF-DES' to s65-ope
perform z-s65-tm-cli
when gcn-age-cod
initialize util-s65
MOVE 'ATTIVA-TF-COD' to s65-ope
perform z-s65-tm-age
when gcn-age-des
initialize util-s65
MOVE 'ATTIVA-TF-DES' to s65-ope
perform z-s65-tm-age
when gcn-mer-cm
perform z-ges-tf-tm-tab-mer-cm
when gcn-mer-dm
perform z-ges-tf-tm-tab-mer-dm
when gcn-mer-cma
perform z-ges-tf-tm-tab-mer-cma
when gcn-mer-cmf
perform z-ges-tf-tm-tab-mer-cmf
when gcn-mer-cmc
perform z-ges-tf-tm-tab-mer-cmc
when gcn-mer-ean
perform z-ges-tf-tm-tab-mer-ean
when other
if w-visible-f8-calendario = 1
perform x-disattiva-f8-calendario
end-if
perform Z-gestione-tf-tm-tab-ep
end-evaluate
.
Spiegazione delle singole parti
**---------------------------------------------------------------**
** Gestione tf pilotati automaticamente da campi
** speciali su: 'tm-tab'
**---------------------------------------------------------------**
z-gestione-tf-tm-tab-auto.
Se l'indice corrente non rientra nella dimensione della griglia esco:
if i > tm-grid-dati-pnt or
i = 0
exit paragraph
end-if
Se previsto (vedi .... ) disattivo i t.f. particolari definiti dall'utente sulla griglia:
perform x-disattiva-tf-tm-tab
evaluate w-cell-x
In caso di data:
when gcn-data
if w-presenza-f8-calendario = 1
perform x-attiva-f8-calendario
end-if
In caso di anagrafica cliente/fornitore:
when gcn-cli-cod
initialize util-s65
MOVE 'ATTIVA-TF-COD' to s65-ope
perform z-s65-tm-cli
when gcn-cli-des
initialize util-s65
MOVE 'ATTIVA-TF-DES' to s65-ope
perform z-s65-tm-cli
when gcn-age-cod
initialize util-s65
MOVE 'ATTIVA-TF-COD' to s65-ope
perform z-s65-tm-age
when gcn-age-des
initialize util-s65
MOVE 'ATTIVA-TF-DES' to s65-ope
perform z-s65-tm-age
In caso di anagrafica merce:
when gcn-mer-cm
perform z-ges-tf-tm-tab-mer-cm
when gcn-mer-dm
perform z-ges-tf-tm-tab-mer-dm
when gcn-mer-cma
perform z-ges-tf-tm-tab-mer-cma
when gcn-mer-cmf
perform z-ges-tf-tm-tab-mer-cmf
when gcn-mer-cmc
perform z-ges-tf-tm-tab-mer-cmc
when gcn-mer-ean
perform z-ges-tf-tm-tab-mer-ean
....
potrebbero essere gestiti altri tipi di campo automatico (piano conti, ecc.)
....
In tutti gli altri casi: disattivo automaticamente il t.f. per la gestione calendario, e richiamo la routine di gestione tasti funzione manuali:
when other
if w-visible-f8-calendario = 1
perform x-disattiva-f8-calendario
end-if
perform Z-gestione-tf-tm-tab-ep
end-evaluate
.