Siguiendo el ejemplo de cmsoft, para un caso parecido, cmsoft pone
ACTION (Venta(::nId - 100, @oBit,@mocupa,@mlibre),
creo que es lo que necesito para el caso que me ocupa, pero me da el siguiente error:
Variable does not exist: SELF
el código es similar al tuyo:
for z = 1 to len(adetalle)
REDEFINE BTNBMP btn[z] RESOURCE cResource((aDetalle[ z,2],aDetalle[ z,5],aDetalle[z,6])) ID (nIda + z) CENTER PROMPT(aDetalle[ z,1]) OF ODLG UPDATE
btn[::nid - 100]:baction := {|| CAMBIOCH(aDetalle[::nid - 100,7],oCheque,btn[::nid - 100],ODLG)}
next
Gracias