Comunicación entre objetos
CALL - Permite invocar a un objeto GeneXus o a un programa externo,
tanto sin pasarle
parámetros, como pasándole.
parámetros, como pasándole.
UDP (User Defined Procedure) - Permite invocar a un objeto
GeneXus o programa externo tanto sin pasarle parámetros como pasándole,
y con la particularidad de que el programa llamado
retornará necesariamente al menos
un valor al programa
que lo invocó. En ambientes Web, un objeto con interfaz una vez invocado no devuelve el control
al llamdor, por lo que UDP se utiliza únicamente
para
invocar
a
Procedimientos
y
Data Providers (debido a que estos cumplen
la condición de
ejecutar y devolver el control al llamador).
Una invocación (ya sea con CALL o UDP) podrá escribirse en distintas
partes del objeto llamador, dependiendo
de si el mismo es una
transacción, web
panel, procedimiento, etc.
A su vez UDP puede utilizarse también
en la definición de un atributo fórmula. Es decir, se define que
cierto atributo es una
fórmula y que
la definición de la misma consiste en
la invocación
a un procedimiento utilizando UDP.
Cuando en la sintaxis de la invocación
se escribe
el nombre del objeto invocado y ningún método de invocación, se asume
que se está
invocando con udp, por lo
que puede omitirse y escribirse
directamente:
att|&var = PgmName(
par1, ..., parN)
PARM – Cuando un objeto
es invocado desde
otro con parámetros, debe tener declarada la lista de parámetros que recibe. Esta declaración se realiza mediante la regla:
PARM.
A continuación daremos
más detalles acerca del uso de CALL, UDP y PARM
No hay comentarios:
Publicar un comentario