Preprocesador
Publicado por Gerardo (5 intervenciones) el 27/06/2003 03:45:45
Hola a todos!!!
Tengo dudas con el manejo de los preprocesadores (&SCOPED-DEFINE, &GLOBAL-DEFINE)....la cuestion es la siguiente:
Quiero sustituír el nombre de un objeto dentro de una sentencia, por ejemplo, si tengo un FILL-IN llamado "fln-07" y quiero hacerle un APPLY al evento "SELECTION" del mismo, yo escribí lo siguiente:
Primero determino el nombre del objeto mediante un procedimiento, el cual me regresa un entero en una variable v-idObjeto y entonces...
&SCOPED-DEFINE v-NomObj "fln-" + STRING(v-idObjeto,"99")
....si muestro el valor con un message
MESSAGE "Nombre Objeto : " {&v-NomObj} VIEW-AS ALERT-BOX.
......me muestra como resultado:
"Nombre Objeto : fln-07 "
....con lo cual el nombre es correcto, pero si intento hacer esto:
APPLY "SELECTION":U TO {&v-NomObj}.
entonces la sentencia falla.
He aquí mi pregunta, como puedo hacer referencias a objetos de esta manera ? está mal la sintaxis en la sentencia ? o que estoy haciendo mal?
Saludos y muchas gracias de antemano.
Tengo dudas con el manejo de los preprocesadores (&SCOPED-DEFINE, &GLOBAL-DEFINE)....la cuestion es la siguiente:
Quiero sustituír el nombre de un objeto dentro de una sentencia, por ejemplo, si tengo un FILL-IN llamado "fln-07" y quiero hacerle un APPLY al evento "SELECTION" del mismo, yo escribí lo siguiente:
Primero determino el nombre del objeto mediante un procedimiento, el cual me regresa un entero en una variable v-idObjeto y entonces...
&SCOPED-DEFINE v-NomObj "fln-" + STRING(v-idObjeto,"99")
....si muestro el valor con un message
MESSAGE "Nombre Objeto : " {&v-NomObj} VIEW-AS ALERT-BOX.
......me muestra como resultado:
"Nombre Objeto : fln-07 "
....con lo cual el nombre es correcto, pero si intento hacer esto:
APPLY "SELECTION":U TO {&v-NomObj}.
entonces la sentencia falla.
He aquí mi pregunta, como puedo hacer referencias a objetos de esta manera ? está mal la sintaxis en la sentencia ? o que estoy haciendo mal?
Saludos y muchas gracias de antemano.
Valora esta pregunta
0