Rational Developer for System z, Versión 7.6.1

Correlación de tablas COBOL con estructuras de datos XML que se repiten

Este tema describe cómo se correlacionan las tablas COBOL con estructuras de datos XML repetibles.

En este tema se describen los tipos de correlaciones que las herramientas de correlación COBOL a XML permiten realizar entre tablas COBOL y elementos de esquema XML repetibles, tanto para las correlaciones de petición (correlación de un elemento de esquema XML con una tabla COBOL) como de respuesta (correlación entre una tabla COBOL con un elemento de esquema XML repetido). En este tema también se describe cómo se gestionan estas correlaciones por medio del entorno de ejecución.
Nota: En este tema sólo se describen elementos de Esquema XML (que suelen aparecer en un archivo con la extensión .xsd), pero reglas parecidas también se aplican a elementos XML correlacionados que puedan aparecer en documentos de instancia XML (extensión .xml) y en documentos WSDL (extensión .wsdl) (consulte la sección Conceptos de correlación: XML a COBOL o PL/I).

Reglas comunes para correlaciones de petición y respuesta

Un "elemento de esquema XML que se repite" es un elemento de esquema XML que tiene el atributo maxOccurs establecido en un valor entero que es >= 1 o, si no, se establece en unbounded.

Una tabla COBOL es un elemento o grupo de elementos básicos de COBOL que incluye en su descripción de datos una cláusula OCCURS (creando una tabla de longitud fija) o una cláusula OCCURS DEPENDING ON (creando una tabla de longitud variable). En la ayuda en línea de IBM®, "ODO" es una abreviatura para OCCURS DEPENDING ON ("OCURRE SEGÚN").

Nota: El entorno de herramientas de EST valida una correlación entre un elemento de esquema XML que se repite y una tabla COBOL correspondiente, sólo cuando crea la correlación en una de las herramientas de correlación de COBOL a XML. Si crea una correlación válida en la herramienta de correlación y luego modifica el elemento de Esquema XML que se repite o la tabla COBOL correspondiente de forma que la correlación ya no sea válida, el entorno de herramientas EST no muestra un mensaje de error, y el resultado de la correlación durante la ejecución es inesperado.
Consejo: Así, si modifica un elemento de Esquema XML correlacionado o si modifica la tabla COBOL correspondiente, debería verificar que la correlación aún es válida y, si no lo fuera, volver a crear la correlación en una de las herramientas de correlación de XML a COBOL.
Las herramientas de correlación de COBOL a XML obligan a las reglas siguientes tanto para las correlaciones de petición como de respuesta:
  • Un elemento de esquema XML repetible y la aparición en la tabla COBOL correspondiente, (análoga a un elemento de matriz) deben tener estructuras isomorfas. Si no, la herramienta de correlación no permite la correlación.
    Nota: Isomorfo quiere decir que ambas estructuras contienen subelementos que tienen los mismos tipos de datos y que tienen lugar en el mismo orden (consulte la sección Correlación simple isomorfa y no isomorfa).

    Así, si la ocurrencia de la tabla COBOL es MY-USER-ENTRY y el elemento de Esquema XML correspondiente que se repite es MyUserEntry, MY-USER-ENTRY y MyUserEntry deben ser isomorfos.

  • Si la tabla COBOL es una tabla de longitud variable (esto es, si la descripción de los datos de la tabla contiene la cláusula OCCURS DEPENDING ON), las herramientas de correlación obligarán a las reglas siguientes:
    • Además de correlacionar el elemento Esquema XML de repetición con la tabla COBOL correspondiente, también debe crear una correlación XML a COBOL entre el elemento COBOL que es el objeto de la cláusula ODO y su elemento Esquema XML correspondiente (para ver una descripción del objeto de la cláusula ODO, consulte la documentación adecuada de COBOL para la cláusula OCCURS DEPENDING ON).

      Así, si el objeto de la cláusula ODO es NUM-USER-ENTRIES, debe crear una correlación entre el elemento de COBOL NUM-USER-ENTRIES y un elemento Esquema XML correspondiente (como por ejemplo, un elemento denominado NumUserEntries).

    • En el archivo .xsd, el elemento Esquema XML que corresponde al elemento COBOL que es el objeto de la cláusula ODO, debe tener lugar antes del elemento Esquema XML que se repite que corresponde a la tabla COBOL.

      Así, si la tabla COBOL se denomina USER-ENTRIES y el objeto de su cláusula ODO es el elemento NUM-USER-ENTRIES, el elemento Esquema XML que correlaciona con NUM-USER-ENTRIES debe aparecer en el archivo .xsd antes del elemento Esquema XML que correlacione con USER-ENTRIES.

    Nota: La reglas para las tablas de longitud variable son necesarias debido a algunos de los requisitos que COBOL impone para la definición de datos.
  • Para matrices multidimensionales (a las que también se denomina "tablas anidadas" en la documentación de COBOL), las herramientas de correlación XML a COBOL obligan a las reglas siguientes:
    • Un elemento Esquema XML que se repite que contenga una matriz multidimensional y la tabla anidad COBOL correspondiente que quiere correlacionar con el elemento Esquema XML de repetición deben tener la mismo número de dimensiones de matriz.
    • Cada dimensión de matriz en la estructura de datos Esquema XML debe contener el mismo número de elementos que la dimensión de matriz correspondiente en la tabla anidada de COBOL, y los elementos de las dimensiones deben ser isomorfos.
    • No está permitida una correlación entre una única dimensión de una matriz multidimensional en un elemento de Esquema XML y una dimensión única de una tabla anidada de COBOL.

Presuposiciones sobre el número de instancias

Para determinar si una correlación es válida, las herramientas de correlación XML a COBOL hace ciertas presuposiciones sobre el número máximo de instancias que pueden tener lugar para un elemento Esquema XML de repetición o para un elemento en una tabla COBOL.

Nota: Estas mismas presuposiciones las realiza el asistente de servicio único cuando define áreas de datos dentro de un programa de conversión generado (ya sea de XML a COBOL o de COBOL a XML).
Las presuposiciones son las siguientes:
  • Para un elemento Esquema XML de repetición, el número máximo de repeticiones del elemento que pueden tener lugar es el valor entero indicado en el atributo maxOccurs del elemento. No obstante, si el atributo maxOccurs se establece en unbounded, se aplican reglas especiales (consulte las secciones restantes en este tema de ayuda).
  • Para una tabla COBOL de longitud fija, el número máximo de ocurrencias de un elemento que la tabla puede tener es el valor indicado por la cláusula OCCURS. Para una tabla COBOL de longitud variable, el número máximo de ocurrencias de un elemento que la tabla puede tener es el valor máximo indicado por la cláusula OCCURS DEPENDING ON.

Política

Para determinar si una correlación entre un elemento Esquema XML de repetición y un tabla de COBOL es válida, Enterprise Service Tools implementa la política siguiente:
  • Las herramientas de correlación son flexibles a la hora de permitirle correlacionar juntos dos elementos que potencialmente podrían tener distinto número de elementos en la ejecución.

    Por ejemplo, las herramientas de correlación permiten correlacionar un elemento Esquema XML de repetición que se puede repetir hasta 30 veces con una tabla COBOL que puede contener un máximo de sólo 20 elementos. (En este ejemplo se considera que el elemento Esquema XML es isomorfo con el elemento de tabla de COBOL y que la correlación es válida en el resto de aspectos.)

  • Durante la ejecución, el programa de conversión generado comprueba la falta de igualdad entre el número real de repeticiones del elemento Esquema XML y la cantidad real del número de elementos que puede contener la tabla COBOL.

    Si el programa de conversión determina que los datos no se pueden convertir (ya sea desde un Esquema XML a COBOL o viceversa) porque los datos de origen contienen más elementos de los que hay disponibles en la estructura de datos de destino, en ese mismo momento el programa de conversión devuelve un código de error al programa de invocación.

Datos de petición de correlación

La Tabla 1 muestra los tipos de correlaciones que las herramientas de correlación COBOL a XML permiten realizar para datos de petición, y también se describe cómo el entorno de ejecución maneja estas correlaciones. En este escenario, durante la ejecución, el programa de conversión quiere convertir los datos que se encuentran en el número real de repeticiones del elemento Esquema XML de repetición en elementos de la tabla COBOL real.
Tabla 1. Datos de petición de correlación de COBOL a XML
Área de datos de origen: Área de datos de destino: Número máximo de repeticiones posibles (ver nota) La herramienta de correlación, ¿permite la correlación? Resultados de tiempo de ejecución:
Elemento de Esquema XML de repetición, con maxOccurs establecido en un valor entero. Tabla COBOL INFERIOR O IGUAL A.
  • Ejemplo: el elemento Esquema XML se puede repetir hasta 20 veces, mientras que la tabla COBOL puede contener hasta 30 elementos (20 <= 30).
La correlación se permite. Los datos del Esquema XML se convierten en ocurrencias en la tabla COBOL.
Elemento de Esquema XML de repetición, con maxOccurs establecido en un valor entero. Tabla COBOL MAYOR QUE.
  • Ejemplo: el elemento Esquema XML se puede repetir hasta 50 veces, mientras que la tabla COBOL sólo puede contener hasta 30 elementos (50 >= 30).
La correlación no se permite.
  • Por lo general, los datos del Esquema XML se convierten en ocurrencias en la tabla COBOL.
  • Pero si hay más repeticiones del elemento Esquema XML que ranuras disponibles en la tabla COBOL, se generará un error en tiempo de ejecución.
Elemento Esquema XML de repetición, con maxOccurs= unbounded Tabla COBOL El elemento Esquema XML se puede repetir las veces que sea, mientras que la tabla COBOL tiene un número máximo finito de ocurrencias.
  • Ejemplo: el elemento Esquema XML tiene maxOccurs= unbounded, mientras que la tabla COBOL puede tener sólo hasta 30 elementos.
La correlación se permite.
  • Por lo general, los datos del Esquema XML se convierten en ocurrencias en la tabla COBOL.
  • Pero si hay más repeticiones del elemento Esquema XML que ranuras disponibles en la tabla COBOL, se generará un error en tiempo de ejecución.
Nota: Cuando intenta realizar la correlación en la herramienta de correlación, ¿es la cantidad máxima de repeticiones del elemento Esquema XML de repetición INFERIOR O IGUAL A la cantidad máxima posible de elementos en la tabla de COBOL?

Datos de respuesta de correlación

La Tabla 2 muestra los tipos de correlaciones que las herramientas de correlación COBOL a XML permiten realizar para datos de respuesta, y también se describe cómo se gestionan estas correlaciones por medio del entorno de tiempo de ejecución. En este escenario, durante la ejecución, el programa de conversión quiere convertir los datos que se encuentran en el número real de elementos de la tabla de COBOL en las repeticiones reales del elemento Esquema XML de repetición.
Tabla 2. Datos de respuesta de correlación COBOL a XML
Área de datos de origen: Área de datos de destino: Número máximo de repeticiones posibles (ver nota) La herramienta de correlación, ¿permite la correlación? Resultados de tiempo de ejecución:
Tabla COBOL Elemento de Esquema XML de repetición, con maxOccurs establecido en un valor entero. INFERIOR O IGUAL A.
  • Ejemplo: la tabla COBOL puede contener hasta 30 elementos, mientras que el elemento Esquema XML se puede repetir hasta 50 veces (30 <= 50).
La correlación se permite. Las ocurrencias en la tabla COBOL se convierten en repeticiones del elemento Esquema XML de repetición.
Tabla COBOL Elemento de Esquema XML de repetición, con maxOccurs establecido en un valor entero. MAYOR QUE.
  • Ejemplo: la tabla COBOL puede contener hasta 30 elementos, mientras que el elemento Esquema XML sólo se puede repetir hasta 20 veces (30 >= 20).
La correlación no se permite.
  • Por lo general, las ocurrencias en la tabla COBOL se convierten en repeticiones del elemento Esquema XML de repetición.
  • Pero si hay más ocurrencias en la tabla COBOL de las repeticiones permitidas del elemento Esquema XML, se genera un error en tiempo de ejecución.
Tabla COBOL Elemento Esquema XML de repetición, con maxOccurs= unbounded La tabla COBOL tiene un número máximo finito de ocurrencias, mientas que el elemento Esquema XML se puede repetir las veces que sea.
  • Ejemplo: la tabla COBOL puede contener hasta 30 elementos, mientras que el elemento Esquema XML tiene maxOccurs= unbounded.
La correlación se permite.
  • Las ocurrencias en la tabla COBOL se convierten en repeticiones del elemento Esquema XML de repetición.
Nota: Cuando intenta realizar la correlación en la herramienta principal, ¿es el número máximo de elementos posibles en la tabla COBOL INFERIOR O IGUAL AL número máximo posible de repeticiones del elemento Esquema XML de repetición?

Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)