WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Conjuntos de mensajes: importar de COBOL (MRM): características soportadas

El importador COBOL utiliza un conjunto de valores y comportamientos predeterminados al correlacionar tipos de datos COBOL con elementos de modelo de mensajes.

La tabla siguiente muestra cómo influyen las definiciones COBOL en los valores de esquema XML del modelo de mensaje.

Cláusula COBOL Tipo de datos del esquema XML Notas
PIC A xsd:string  
PIC G xsd:string Para procesar esto, establezca el nombre del entorno local de tiempo de compilación en ja_JP en Window > Preferencias > Importador > COBOL.
PIC N xsd:string Para procesar esto, establezca el nombre del entorno local de tiempo de compilación en ja_JP en Window > Preferencias > Importador > COBOL.
PIC X xsd:string  
PIC 9(n) n = 1-4 xsd:short DISPLAY, COMP o COMP-3
PIC 9(n) n = 5-9 xsd:int DISPLAY, COMP o COMP-3
PIC 9(n) n = 10-18 xsd:long DISPLAY, COMP o COMP-3
PIC 9(n) n = 19-31 xsd:integer DISPLAY, COMP o COMP-3
PIC 9(n)V9(m) xsd:decimal DISPLAY, COMP o COMP-3 cualquier valor de coma decimal virtual
COMP-1 xsd:float  
COMP-2 xsd:double  
Cualquier serie editada xsd:string  
Cualquier número editado xsd:string Por ejemplo, una cláusula COBOL PICTURE que contiene cualquiera de los caracteres siguientes:
  • 'Z'
  • '+'
  • '-'
  • '.'
  • ','
  • 'B'
  • '0'
o un símbolo de moneda.

Si desea que el tipo lógico de intermediario sea numérico, asegúrese de que la cláusula COBOL PICTURE no contiene ninguno de estos caracteres.

VALUE Todos Las cláusulas VALUE de nivel distinto al 88 se pueden importar como valores predeterminados de esquema (opción en asistente de importación).

La tabla siguiente muestra cómo influyen las definiciones COBOL en las características físicas MRM CWF de los elementos que se generan en el modelo de mensaje.

Cláusula COBOL Tipo físico CWF Características de longitud CWF Otras características CWF
PIC X(n)

PIC A(n)

Serie de longitud fija Longitud = n

Unidades de longitud = Bytes

Justificación = Justificado por la izquierda

Caracteres de relleno = SPACE

PIC G(n)

PIC N(n)

Serie de longitud fija Longitud = n

Unidades de longitud = Caracteres

Justificación = Justificado por la izquierda

Caracteres de relleno = SPACE

PIC 9(n) DISPLAY n=1-31 Decimal externo Longitud = n

Unidades de longitud = Bytes

Justificación = Justificado por la derecha

Carácter de relleno = '0'

Con signo = No marcado

Orientación del signo = Final

PIC 9(n) COMP, COMP-4, COMP-5 o BINARY Entero Longitud = 2, 4 o 8 basado en n

Unidades de longitud = Bytes

Con signo = No marcado

Orientación del signo = Espacio en blanco

PIC 9(n) COMP-3 n=1-18 Decimal empaquetado Longitud = CEILING((n+1)/2)

Unidades de longitud = Bytes

Con signo = No marcado

Orientación del signo = Espacio en blanco

PIC S9(n) DISPLAY n=1-31 Decimal externo Longitud = n

Unidades de longitud = Bytes

Con signo = Marcado

Orientación del signo = Final

*Vea la nota 1

PIC S9(n) COMP o COMP-3

n=1-18

Entero o Decimal empaquetado Longitud = consulte las definiciones de COMP y COMP-3 más arriba

Unidades de longitud = Bytes

Con signo = Marcado

Orientación del signo = Espacio en blanco

PIC 9(m)V9(n) DISPLAY n=1-31 Decimal externo Longitud = n+m

Unidades de longitud = Bytes

Con signo = No marcado

Orientación del signo = Final

Coma decimal virtual = n

PIC 9(m)V9(n) COMP o COMP-3 Entero o Decimal empaquetado Longitud = CEILING((n+m+1)/2) para COMP-3

Longitud = 2, 4 o 8 para COMP

Unidades de longitud = Bytes

Con signo = No marcado

Orientación del signo = Espacio en blanco

Coma decimal virtual = n

COMP-1 Flotante Longitud = 4

Unidades de longitud = Bytes

Con signo = Marcado

Orientación del signo = Espacio en blanco

COMP-2 Flotante Longitud = 8

Unidades de longitud = Bytes

Con signo = Marcado

Orientación del signo = Espacio en blanco

SYNC Flotante, Entero o Decimal empaquetado   Cuenta de saltos de cabecera como corresponda

Cuenta de saltos de cola como corresponda

Alineación de bytes como corresponda

*Vea la nota 2

Notas:
  1. La Orientación de signo puede tomar uno de los valores siguientes, basándose en las palabras clave SEPARATE, LEADING o TRAILING de la definición COBOL:
    • Inicial
    • Inicial separado
    • Final
    • Final separado
  2. La palabra clave SYNC hace que el campo se alinee en un límite de 1, 2, 4 u 8 bytes. Esto podría hacer que se añadan 'bytes sueltos' antes o después de un campo. La Cuenta de saltos de cabecera es el número de bytes de este tipo que se añaden antes de un campo; la Cuenta de saltos de cola es el número de estos bytes que se añade después de un campo.

    El importador calcula la Cuenta de saltos de cabecera y la Cuenta de saltos de cola para cada uno de los elementos importados, sin tener en cuenta la cláusula SYNC. Cuando la cláusula SYNC esté presente, tienen valores distintos de cero.

    Cuando hay un elemento de repetición, la Cuenta de saltos de cabecera y la Cuenta de saltos de cola se utilizan para la primera aparición del elemento de repetición; para las apariciones subsiguientes, sólo se utiliza la Cuenta de saltos de cola.

    Vea el material de consulta de COBOL para encontrar información detallada de los campos que necesitan alineación de bytes. .

  3. Todos los archivos que importa deben ser correctos sintácticamente. Los resultados son imprevisibles si el archivo que se está importando no es correcto sintácticamente.
  4. Los tipos de datos COBOL que incluyen las palabras clave POINTER, COMP-X, INDEX y PROCEDURE-POINTER no se soportan.
  5. Las cláusulas COBOL que contienen la palabra clave NATIVE generan un error y no se importan.
  6. Los elementos de datos COBOL de nivel 66 y nivel 77 no se importan.
  7. Los valores binarios hexadecimales no se pueden atribuir a literales no numéricos. No pueden residir en las secciones de enlace (LINKAGE SECTION) importadas por el importador COBOL. Pueden residir en cualquier otro lugar del archivo COBOL. De forma alternativa, puede convertir el valor hexadecimal en una serie de caracteres (character) para PIC X o en un número decimal para PIC 9.
  8. Si los nombres de elemento están en conflicto con las palabras clave de lenguaje Java™, se modifican añadiendo al nombre de elemento un carácter de subrayado individual como prefijo.
  9. No se soportan las extensiones orientadas a objetos en COBOL 85. Por ejemplo, OBJECT-REFERENCE no se soporta.
  10. Cláusula COBOL OCCURS DEPENDING ON. Las propiedades CWF Alineación de bytes, Cuenta de saltos de cabecera y Cuenta de saltos de cola de los elementos dentro de una estructura de este tipo no se configuran correctamente. Deberá corregirlos utilizando el editor de mensajes.
  11. Cuando el archivo de origen COBOL importado contiene QUOTE o QUOTES en la cláusula de valor de una serie de imagen, el comportamiento predeterminado consiste en entrar los datos con comillas dobles a menos que se establezca la opción de compilación COBOL QUOTE en SINGLE en la página Opciones de importación del asistente para el importador COBOL.

Números decimales externos con signo

El componente MRM Formato físico personalizado (CWF) y los componentes TDS de WebSphere Message Broker dan soporte al formato de datos Decimal Externo (también conocido como Decimal con zona) para datos numéricos. En este formato, los datos numéricos se almacenan internamente como datos de caracteres decimales. Por ejemplo, en un sistema que utiliza el código EBCDIC, el número 1234 almacenado en un campo decimal externo de 4 bytes se almacenará como la serie de caracteres '1234' y la representación hexadecimal interna real será '1F2F3F4'.

Con números decimales externos con signo, el signo se puede incorporar en los datos reales modificando la primera mitad del primer o del último byte (en función de si se está utilizando una representación de signo inicial o de signo final). Normalmente, se utiliza '0xC' para representar un número positivo, se utiliza '0xD' para representar un número negativo y se utiliza '0xF' para representar un número sin signo.

Nota: En general, se puede utilizar '0xA', '0xC', '0xE' o '0xF' para indicar un valor positivo y '0xB' o '0xD' para indicar un valor negativo. La representación real preferida depende de la arquitectura de hardware real.

En las máquinas ASCII, existen varios mecanismos para la representación interna de los datos decimales externos. Una representación ('signo ASCII') empleada por máquinas IBM pSeries, utiliza los códigos ASCII normales ('0' [hex 30] a '9' [hex 39]) para el primer o último dígito de los números sin signo y positivos, y los caracteres 'p' [hex 70] a 'y' [hex 79] para los números negativos.

Se utiliza un método alternativo (Signo EBCDIC personalizado) en algunas otras máquinas basadas en ASCII. Este método utiliza los mismos caracteres que una máquina basada en EBCDIC, aunque la representación hexadecimal interna real para ellos es diferente. Si se utiliza esta técnica, la serie de caracteres para las plataformas EBCDIC y ASCII es idéntica. Potencialmente puede recibir un mensaje de una plataforma EBCDIC (creado desde un libro de copias COBOL que contenga entradas tales como PIC XXX y PIC S999) y convertir el mensaje entero a ASCII o a la inversa. La serie de caracteres que representa el campo decimal externo en el mensaje, (después de la conversión ASCII EBCDIC o EBCDIC a ASCII), se correlaciona con el punto de código que representa el signo correcto para el decimal.

Este método tiene una limitación: los caracteres de llave son variables (es decir, tienen diferentes puntos de código en páginas de códigos EBCDIC diferentes). Este mecanismo sólo funciona para las páginas de códigos EBCDIC donde los caracteres de llave '{' y '}' (que se utilizan para representar 0 con signo) tienen exactamente los puntos de código X'C0' y X'D0'. Por ejemplo, funciona para la página de códigos 500, pero no para la página de códigos 871 donde las llaves tienen los puntos de código X'8E' y X'9C.

En un entorno ASCII (determinado por la propiedad CCSID en la ejecución), el valor predeterminado para la entrada y la salida es la representación 'Signo ASCII'. Puede especificar la representación aplicable en la capa física CWF para los atributos locales y los elementos locales de los tipos decimal, flotante y entero.

Nota: Esta opción sólo es apropiada para los elementos o atributos que tienen una representación física decimal externa y que tienen un signo de ('Inicial' o 'Final') incorporado (determinado por la propiedad Orientación del signo).

La tabla siguiente muestra la representación interna (carácter y valor hexadecimal real) del primer y del último dígito para los números decimales externos con un signo inicial o final incluido (incorporado) respectivamente. (La tabla no especifica la representación para valores sin signo que sean 0x30-0x39 para ASCII y 0xF0-0xF9 para EBCDIC).

  Entorno ASCII Entorno EBCDIC   Entorno ASCII Entorno EBCDIC
  Valores con signo positivo   Valores con signo negativo
Dígito Signo ASCII Signo EBCDIC personalizado     Signo ASCII Signo EBCDIC personalizado  
0 0(30) {(7B) {(C0)   p(70) }(7D) }(D0)
1 1(31) A(41) A(C1) q(71) J(4A) J(D1)
2 2(32) B(42) B(C2) r(72) K(4B) K(D2)
3 3(33) C(43) C(C3) s(73) L(4C) L(D3)
4 4(34) D(44) D(C4) t(74) M(4D) M(D4)
5 5(35) E(45) E(C5) u(75) N(4E) N(D5)
6 6(36) F(46) F(C6) v(76) O(4F) O(D6)
7 7(37) G(47) G(C7) w(77) P(50) P(D7)
8 8(38) H(48) H(C8) x(78) Q(51) Q(D8)
9 9(39) I(49) I(C9) y(79) R(52) R(D9)

La tabla siguiente proporciona algunos ejemplos para un rango de números simples que serán representativos de lo que se puede transmitir o recibir utilizando estos métodos.

  Signo inicial Signo final
  Entorno ASCII Entorno EBCDIC Entorno ASCII Entorno EBCDIC
Valor decimal Signo ASCII Signo EBCDIC personalizado   Signo ASCII Signo EBCDIC personalizado  
1234

31 32 33 34
"1234"

31 32 33 34
"1234"

F1 F2 F3 F4
"1234"

31 32 33 34
"1234"

31 32 33 34
"1234"

F1 F2 F3 F4
"1234"

+1234

31 32 33 34
"1234"

41 32 33 34
"A234"

C1 F2 F3 F4
"A234"

31 32 33 34
"1234"

31 32 33 44
"123D"

F1 F2 F3 C4
"123D"

-1234

71 32 33 34
"q234"

4A 32 33 34
"J234"

D1 F2 F3 F4
"J234"

31 32 33 74
"123t"

31 32 33 4D
"123M"

F1 F2 F3 D4
"123M"

7890

37 38 39 30
"7890"

37 38 39 30
"7890"

F7 F8 F9 F0
"7890"

37 38 39 30
"7890"

37 38 39 30
"7890"

F7 F8 F9 F0
"7890"

+7890

37 38 39 30
"7890"

47 38 39 30
"G890"

C7 F8 F9 F0
"G890"

37 38 39 30
"7890"

37 38 39 7B
"789{"

F7 F8 F9 C0
"789{"

-7890

77 38 39 30
"w890"

50 38 39 30
"P890"

D7 F8 F9 F0
"P890"

37 38 39 70
"789p"

37 38 39 7D
"789}"

F7 F8 F9 D0
"789}"

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:59:11


Tema de referenciaTema de referencia | Versión 8.0.0.5 | ad06900_