.EVAL - Evaluación inmediata de variables

48 views
Skip to first unread message

Mikel Gómez

unread,
Nov 29, 2006, 3:31:10 PM11/29/06
to i.focus
Con FOCUS o WebFOCUS ¿Cuándo se debe utilizar el operador .EVAL con
variables de Dialogue Manager?

En muchas circunstancias surgen dudas de si se debe usar o no el citado
operador. Lo que se debe valorar es el momento en el que se tiene que
evaluar la variable, éste puede ser antes o después de la
interpretación de la línea de Dialogue Manager.

Sin EVAL, las variables se sustituyen tras la interpretación de la
línea Dialogue Manager.

Con EVAL, las variables se evalúan antes de la interpretación de la
línea Dialogue Manager.

*** Ejemplos

-* Para cambiar dinámicamente el código de un procedimiento.
-SET &LINEA = '-TYPE' ;
-* Sin EVAL, se produciría un error.
-* &LINEA MENSAJE
-* Con EVAL, se sustituye la variable y se ejecuta la línea.
&LINEA.EVAL MENSAJE

-* Para la sustitución de variables dentro de literales.
-SET &PALABRA = 'lugar' ;
-* Sin EVAL
-SET &LITERAL = 'En un ' | &PALABRA | ' lugar de la Mancha';
-TYPE &LITERAL
-* Con EVAL
-SET &LITERAL = 'En un &PALABRA.EVAL lugar de la Mancha';
-TYPE &LITERAL

-* Para utilización en variables con índices.
-SET &VAR123 = 'VALOR' ;
-SET &IND1 = 1 ;
-SET &IND2 = 2 ;
-SET &IND3 = 3 ;
-* Sin EVAL
-TYPE &VAR.&IND1.&IND2.&IND3
-* Con EVAL
-TYPE &VAR&IND1.EVAL&IND2.EVAL&IND3.EVAL

-* Otras operaciones.
-* Nótese que el operador + debe interpretarse antes.
-SET &OP1 = 2 ;
-SET &OP2 = '+' ;
-SET &OP3 = 2 ;
-SET &RES = &OP1 &OP2.EVAL &OP3 ;
-TYPE &OP1 &OP2 &OP3 = &RES

*** Referencia
http://documentation.informationbuilders.com/masterindex/html/html_iway76/spr_76/05stp14.htm

*** Notas:

.EVAL junto a .TYPE y .LENGTH son los 3 operadores aplicables a
variables de Dialogue Manager.

.TYPE devuelve el formato que puede ser A (alfanumérico), N
(Numérico) o U (indefinido).

.LENGTH devuelve la longitud de la variable incluyendo los espacios en
blanco.

Reply all
Reply to author
Forward
0 new messages