El editor de Opciones de construcción indica que WebSphere Application Server 5.1 es un tipo de servidor soportado. Sin embargo, solo están soportadas la versión 5.1.1 de WebSphere Application Server o versiones superiores.
Descripción: Durante una ejecución de sentencia openUI de un formulario de consola los valores de retorno de las variables enlazadas no contendrán nunca un valor ?null?. En I4GL si no se especifica ningún valor en un campo de formulario, se devuelve un valor nulo.
Solución: si la aplicación comprueba específicamente una valor ?null? durante o después de una sentencia openUI en un formulario, la lógica deberá modificarse para comprobar un valor de serie vacío, en lugar de nulo.
Descripción: en I4GL, la sentencia ?for I = 0 to 1 by -1 ? implica la ejecución (0) veces del bloque de código de bucle for. En EGL, este mismo código de bucle producirá un bucle infinito y probablemente una excepción de entero fuera de límites o una excepción de desbordamiento de pila.
Solución: reescriba la sentencia for de EGL para que el bloque de código de bucle for se ejecute el número de veces deseado. También puede cambiar el bucle for por una sentencia while que ejecute el bloque de código el número deseado de veces.
Descripción: a veces, el programa de utilidad de conversión amplía los registros de pantalla a todas las columnas de la tabla incluso aunque solo se utilice un subconjunto de columnas para definir los registros de pantalla.
Solución: elimine los nombres de columna extraños de las sentencias de EGL convertidas.
Descripción: las condiciones IF en "IF ! xxx" o "IF xxx" lanzan errores de validación. Las expresiones booleanas no están soportadas en EGL y generan errores de validación.
Solución: el programa de utilidad de conversión convierte automáticamente estas funciones de IF dependiendo del contexto en el que se utilizan; esta limitación no afecta a la conversión de aplicaciones I4GL. Esto se documentada aquí para que los usuarios de I4GL puedan conocer el nivel de soporte de las condiciones IF al escribir aplicaciones nuevas en EGL.
Para expresiones booleanas, convierta el resultado booleano de una condición en un valor numérico de 0 ó 1.
Al utilizar el Editor de formularios de EGL o editar el código fuente de EGL a mano para un componente de formulario, se emitirá el mensaje de validación siguiente cuando se utilice la propiedad "validValuesMsgKey" con un campo de formulario cuyo tipo primitivo no sea numérico, por ejemplo char o db char:
IWN.VAL.5381.e 76/0 Propiedad: validValuesMsgKey. El valor de esta propiedad para el campo ... del formulario ... no es válido. La propiedad es una propiedad de elemento numérico.
Para utilizar esta propiedad con un tipo primitivo no numérico, se recomienda la solución siguiente:
- Abra el archivo que contiene el formulario con el Editor EGL. Pulse el archivo con el botón derecho del ratón y seleccione Abrir con > Editor EGL en la vista Explorador de proyectos.
- En lugar de especificar un tipo primitivo en la declaración del campo para el que se establece validValuesMsgKey, especifique un componente dataItem en la declaración del campo. El componente dataItem debe especificar el mismo tipo primitivo que el campo.
Por ejemplo, si el campo original se definió como:
ACTION char(1) {inputRequiredMsgKey = "0003", validValues = ["I","S","U","D"], ..., validValuesMsgKey = "0004"}; //Esta línea debe tener el error IWN.VAL.5381 Cambie la definición del campo por:
ACTION charOneItem {inputRequiredMsgKey = "0003", validValues = ["I","S","U","D"], ..., validValuesMsgKey = "0004"}; //Esta línea no debe tener errores
En el mismo archivo, fuera de formGroup, teclee lo siguiente:
DataItem charOneItem char(1) { validValuesMsgKey="1000" } end
Anotaciones XSD aplicadas a definiciones de elemento de datos, definiciones de registro y declaraciones de elemento de registro que reflejan las facetas de tipo de datos de esquema XML que se encuentran en un archivo WSDL de servicio Web solo tienen significado cuando se utilizan en parámetros de función de interfaz y valores de retorno derivados de un archivo WSDL.
Ejemplo:
DataItem weekend string {@xsd {enumeration=["Saturday", "Sunday"] }} end // esto refleja la restricción WSDL sobre valores para weekend
Interface calander
public function weekendPlanner (weekendDay weekend in, . . .); // solo los valores de argumento Saturday y Sunday pueden enviarse a esta función de servicio Web
end
El asistente Crear interfaces de EGL solo soporta archivos WSDL que sean RPC/Codificado, RPC/Literal y Documento/Literal (Envuelto). Los archivos WSDL que sean Documento/Literal (No envueltos) no están soportados.
El asistente Crear una biblioteca de enlaces de servicio a partir de un servicio EGL no copia archivos WSDL en un proyecto distinto. Si la Biblioteca de enlaces de servicio se crea en un proyecto distinto a aquel para el que se genera el servicio, el usuario debe colocar manualmente una copia de cualesquiera archivos WSDL a los que haga referencia la Biblioteca de enlaces de servicio en la ubicación indicada por el enlace Web.
No puede utilizar el depurador de EGL para los programas que contienen informes. El soporte para esta función se proporcionará en una próxima actualización.
Los servicios generados como Servicio Web o Bibliotecas de enlaces de servicio con Enlaces Web generarán código Java con errores de compilación si las matrices multidimensionales se utilizan como parámetros o se definen en registros utilizados como parámetros en funciones de servicio o de interfaz cuando se generen para un proyecto Web con el nivel J2EE 1.3.
Service myService
function f1(param string[][][] in) // provoca errores de compilación cuando se genera como servicio Web para un proyecto Web con J2EE 1.3
. . .
end
end
Service myService
function f1(param string[] in) // se genera bien para un proyecto Web con J2EE 1.3
. . .
end
end
Los servicios generados como Servicio Web o Bibliotecas de enlaces de servicio con Enlaces Web generarán código Java con errores de compilación si los registros fijos que contienen elementos de datos subestructurados o elementos de datos con apariciones > 1 se utilizan como parámetros o se definen en registros utilizados como parámetros en funciones de servicio o de interfaz cuando se generen para un proyecto Web con el nivel J2EE 1.3.
Ejemplo:
Record mySubstructuredRecord 10 item1 char(10); 20 item 2 char(10); end
Service myService public function f1(param mySubstructuredRecord in) // provoca errores de compilación cuando se genera como servicio Web para un proyecto Web con J2EE 1.3 . . . end end
Record myFlatRecord 10 item1 char(10); 10 item2 char(10); end
Service myService public function f1(param myFlatRecord in) // se genera bien para un proyecto Web con J2EE 1.3 . . . end end
Los servicios generados como un servicio Web o como Bibliotecas de enlaces de servicio con Enlaces Web con tipos de datos de hora o intervalo utilizados como parámetros o definidos en registros utilizados como parámetros en funciones de servicio o interfaz generadas para un proyecto Web con un nivel J2EE 1.3 lanzarán una excepción Java durante el tiempo de ejecución.
Al utilizar el asistente Crear interfaces EGL con dos o más archivos WSDL que contengan los mismos tipos de definición de esquemas XML en el mismo proyecto de EGL implicarán la creación de definiciones de datos de EGL duplicadas lo que provocará errores de validación de EGL.
Si el programa de EGL accede a una base de datos de Oracle y utiliza una sentencia OPEN para abrir un conjunto de resultados, la cláusula SELECT de la sentencia OPEN no puede utilizar nombres de variable de sistema principal. Si se especifican los nombres de variable de sistema principal, no se establecen valores en el elemento correspondiente de la cláusula de utilización de la sentencia OPEN.
EGL proporciona un constructor que compila archivos JasperReport cada vez que se guardan. Si las aplicaciones de EGL incluyen manejadores de informes, asegúrese de que Java SDK 1.3.1 (o un nivel superior) esté en el sistema de desarrollo y de que el directorio bin de SDK se liste como parte de la variable de entorno PATH del sistema (es decir, C:\jdk1.3.1_14\bin). Si no tiene el Java SDK instalado, obtendrá el tipo de error siguiente al construir un archivo .jrxml: Error al compilar el archivo fuente java de informe.
Este paquete de renovación incluye varios cambios en la sintaxis de EGL anterior. Si ha creado componentes de EGL utilizando la Versión 5.1.2 o la Versión 6.0 de este producto, probablemente vea errores de validación para estos componentes después de instalar este paquete de renovación. Se proporciona una herramienta de migración simple para actualizar la sintaxis en los archivos fuente. Consulte la documentación de ayuda de EGL para obtener más información sobre la herramienta de migración de EGL V6.0.
Volver al archivo readme principal
©Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.