Routine da eseguire al posto di una accept diretta di una griglia, permette di gestire una serie di automatismi collegati alla gestione degli eventi, colori, ecc.
Esempio della chiamata alla routine
Questa routine deve essere inserita in una programma nel punto in cui si esegue l'accept della griglia.
.....
a-grid.
modify e-frame-dettaglio, title = m-frame-dettaglio
initialize x-enabled
perform z-carica-controlli
perform x-attiva-tf-grid
modify e-tm-tab, enabled = 1
.
a-accept-grid.
perform z-99-accept-grid
if wesc go to fine.
if f-event
if event-type = msg-begin-entry
inquire e-tm-tab,
entry-reason in w-entry-reason
if w-entry-double-click or
w-entry-enter
set funzio to k-fun-invio
end-if
else
go to x-test-mouse
end-if
end-if
.....
Esempio della routine
**---------------------------------------------------------------**
** Routine per accept griglia: grid-det
**---------------------------------------------------------------**
z-99-accept-grid-det.
move "S" to fl-sono-su-grid
inquire e-grid-det, cursor-y in w-cell-y
if last-row-grid-det > 1
compute i-grid-color = last-row-grid-det - 1
if i-grid-color > gor-r-n-m and
gor-r-n-m > 0
move gor-r-n-m to i-grid-color
end-if
perform X-SET-ROW-nomegrid-COLOR
modify e-grid-det, y = last-row-grid-det,
row-color = row-grid-color
end-if
if ext-riga-sel-griglie-mod = 'S' or
fl-mod-grid-det <> 'S'
modify e-grid-det, y = w-cell-y,
row-color = ext-color-grid-row-sel
end-if
move w-cell-y to last-row-grid-det
if w-cell-y > 1
compute i = w-cell-y - 1
end-if
perform z-operazioni-acc-grid-det
if w-grid-before-time = 0
accept e-grid-det on exception continue
end-accept
else
accept e-grid-det
before time w-grid-before-time
on exception continue
end-if
move "N" to fl-sono-su-grid
inquire e-grid-det, id in control-id,
cursor-x in w-cell-x,
cursor-y in w-cell-y,
if wesc
exit paragraph
end-if
.