01 grid-2-row-backup.
02 grb-2-fl-riga-mod pic x(01).
02 grb-2-vf pic x(01).
02 grb-2-pag-cod pic 9(02).
.....
Contiene una copia di ciascun dato definito nella griglia. Ciascun dato ha il formato:
"GRB-prefissogrid-colid".
Come dice il nome del gruppo dati, prima di entrare in edit su una cella il contenuto della stessa viene salvato su questo campo, in modo da poter confrontare il valore prima/dopo ed eventualmente rimettere il valore originale.
NB:
Quando si deve utilizzare GRB-prefissogrid-colid per eseguire determinate operazioni a seguito della modifica del valore della cella, è bene non agire all'interno del gruppo X-CONTROLLA-TM-prefissogrid-colid, ma prima della sezione di modifiche, all'interno di Z-EVENT-nomegrid-AFTER.
Ad esempio:
In COGZD1, il codice merce di una prestazione eseguita può essere modificato se la prestazione è già eseguita. In tal caso appena dopo aver modificato il codice innesco la modifica immediata dei files interessati, se confermato. Quindi la routine viene costruita come segue:
z-event-grid-prest-after.
if event-type = msg-finish-entry
evaluate w-hid-data-col-id
when 'qta'
....
when 'merce'
if tm-p-merce-cm (i-pr) <> grb-p-merce-cm
string "Attenzione!! Prestazione gia' eseguita!"
k-newline
"Vuoi veramente modificare il codice prestazione?"
delimited size into wb-msg
perform acc-conf-custom
if f3
perform acc-conf
if f3
aggiornamenti
else
move grb-p-merce-cm to tm-p-merce-cm (i-pr)
move i-pr to k-rg
perform x-modify-riga-grid-prest
ritorno al valore precedente
end-if
else
move grb-p-merce-cm to tm-p-merce-cm (i-pr)
move i-pr to k-rg
perform x-modify-riga-grid-prest
ritorno al valore precedente
end-if
end-if
end-evaluate
end-if
In questo esempio la richiesta di conferma è doppia, ma il significato non cambia.