Per ciascuna griglia modificabile occorre aggiungere nel programma sorgente questa perform. Può anche essere lasciata vuota.
Può essere utile per:
Gestire le colonne "custom"
Ovvero quelle colonne che devono essere rese forzatamente visibili/invisibili, a seconda di alcune configurazioni o particolarità dell' utente.
Ad esempio, nel programma FORM71 di EUROFORM, le colonne con "Qualifica" sono visibili se il cliente prevede la gestione della qualifica prodotto, e attiva l'apposita configurazione.
In tal caso si dovrà creare una subroutine con le istruzioni che servono, che nel programma in questione è "Z-IMPOSTA-GDAD-CUSTOM", e aggiungere la chiamata alla subroutine:
•Nella preparazione della griglia
•Nell'entry-point a GRIDADMN
A) Routine di gestione colonne custom:
z-imposta-gdad-custom.
move "F" to gdad-forza-custom
initialize gdad-custom
if tm-cfg-qp = "SI"
move "S" to gdad-cst-vis (k-cn-qual)
move "S" to gdad-cst-vis (k-cn-qual-des)
else
move "N" to gdad-cst-vis (k-cn-qual)
move "N" to gdad-cst-vis (k-cn-qual-des)
end-if
if fl-tipo-vis = "V"
move "S" to gdad-cst-vis (k-cn-lotto)
move "S" to gdad-cst-vis (k-cn-lotto-scad)
move "S" to gdad-cst-vis (k-cn-prezzo)
move "S" to gdad-cst-vis (k-cn-sco-1)
move "S" to gdad-cst-vis (k-cn-sco-2)
move "S" to gdad-cst-vis (k-cn-provv)
else
move "N" to gdad-cst-vis (k-cn-lotto)
move "N" to gdad-cst-vis (k-cn-lotto-scad)
move "N" to gdad-cst-vis (k-cn-prezzo)
move "N" to gdad-cst-vis (k-cn-sco-1)
move "N" to gdad-cst-vis (k-cn-sco-2)
move "N" to gdad-cst-vis (k-cn-provv)
end-if
.
B) Preparazione della griglia:
*******************************************************************
* Chiamata per la formattazione e la definizione delle colonne *
* della griglia *
*******************************************************************
z-prepara-tm-grid.
set handle-grid to handle of e-tm-tab.
set handle-grid-appunti to handle of e-tm-tab.
perform x-calcola-dimensione-cella
inquire handle-maschera,
lines in w-window-lines,
size in w-window-size
perform x-ricalcola-tm-tab
perform x-ricalcola-frame
modify e-tm-tab, reset-grid = 1
*******************************************************************
* Qui si definiscono le personalizzazione alla griglia, dipendenti*
* da configurazioni e/o personalizzazioni *
*******************************************************************
initialize util-gdad
move "Prepara" to gdad-ope
move k-program-id to gdad-prg
move 1 to gdad-frm
move k-id-tm-tab to gdad-ctrl-id
perform z-imposta-gdad-custom
call "GRIDADMN" using stringhe util-gdad, null, gdad-custom
.
C) Entry-point a GRIDADMN:
**---------------------------------------------------------------**
* Definizione campi personalizzati nella chiamata a GRIDADMN *
* Gianluca: entry-point prima delle chiamate a GRIDADMN *
**---------------------------------------------------------------**
x-gridadmn-tm-tab-ep.
perform z-imposta-gdad-custom
.