Cláusula COBOL | Tipo de datos del esquema XML | Notas |
---|---|---|
PIC A | xsd:string - | |
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 cadena de caracteres editada | xsd:string - | |
Cualquier número editado | xsd:string - | Por ejemplo, PICZ |
VALUE | Todos | Las cláusulas VALUE de un nivel que no sea 88 se pueden importar como valores por omisión del esquema (una opción del asistente de importación). |
La tabla siguiente muestra cómo las definiciones COBOL pueden tener su influencia en las características CWF físicas de los elementos generados en el modelo de mensaje.
Palabra clave COBOL | Tipo físico CWF | Características de longitud CWF | Otras características CWF |
---|---|---|---|
PIC X(n) PIC A(n) |
Cadena de caracteres de longitud fija | Longitud = n Unidades de longitud = Bytes |
Justificación = Justificación por la izquierda Carácter de relleno = ESPACIO |
PIC 9(n) DISPLAY n=1-9 | Decimal externo | Longitud = n Unidades de longitud = Bytes |
Justificación = Justificación por la derecha Carácter de relleno = '0' Con signo = Sin marca de selección Orientación con signo = De cola |
PIC 9(n) DISPLAY n=10-31 | Decimal externo | Longitud = n Unidades de longitud = Bytes |
Justificación = Justificación por la derecha Carácter de relleno = '0' Con signo = Sin marca de selección Orientación con signo = De cola |
PIC 9(n) COMP, COMP-4, COMP-5 o BINARY | Entero | Longitud = 1, 2, 4 u 8 basados en n Unidades de longitud = Bytes |
Con signo = Sin marca de selección Orientación con signo = En blanco |
PIC 9(n) COMP-3 n=1-9 | Decimal empaquetado | Longitud = CEILING((n+1)/2) Unidades de longitud = Bytes |
Con signo = Sin marca de selección Orientación con signo = En blanco |
PIC 9(n) COMP-3 n=10-31 | Decimal empaquetado | Longitud = CEILING((n+1)/2) Unidades de longitud = Bytes |
Con signo = Sin marca de selección Orientación con signo = En blanco |
PIC S9(n) DISPLAY n=1-31 | Decimal externo | Longitud = n Unidades de longitud = Bytes |
Con signo = Sin marca de selección Orientación con signo = En blanco *Vea la Nota 1 |
PIC S9(n) COMP o COMP-3 n=1-31 |
Entero o decimal empaquetado | Longitud = Vea las definiciones COMP y COMP-3 anteriores Unidades de longitud = Bytes |
Con signo = Sin marca de selección Orientación con signo = En blanco |
PIC 9(m)V9(n) DISPLAY n=1-31 | Decimal externo | Longitud = n+m Unidades de longitud = Bytes |
Con signo = Sin marca de selección Orientación con signo = De cola 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 = 1, 2, 4 u 8 para COMP Unidades de longitud = Bytes |
Con signo = Sin marca de selección Orientación con signo = De cola |
COMP-1 | Flotante | Longitud = 4 Unidades de longitud = Bytes |
Con signo = Con marca de selección Orientación con signo = En blanco |
COMP-2 | Flotante | Longitud = 8 Unidades de longitud = Bytes |
Con signo = Con marca de selección Orientación con signo = 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 |
|
Notes:
|
El componente de formato físico personalizado CWF de WebSphere Business Integration Message Broker proporciona soporte para diseñar los datos numéricos utilizando el formato de datos Decimal externo (también conocido como Decimal con zona) En este formato, se almacena un número internamente como datos de caracteres decimales. Por ejemplo, en un sistema que utilice el código EBCDIC, el número 1234 almacenado en un campo Decimal externo de 4 bytes se almacenaría como la cadena de caracteres "1234" y su representación hexadecimal interna real será F1F2F3F4.
Con los números decimales externos con signo, el signo se puede incorporar en los datos reales modificando la primera mitad del primer o último byte (dependiendo de si está utilizando la representación de cabecera con signo o de cola con signo). Generalmente, se utiliza '0xC' para representar un número positivo, '0xD' para representar un número negativo y '0xF' para representar un número sin signo.
En las máquinas ASCII hay varios mecanismos para la representación interna de los datos decimales externos. Una representación ('ASCII con signo') que emplean las máquinas pSeries de IBM utiliza los códigos ASCII normales ("0" [hex 30] a "9" [hex 39]) para el primer/último dígito de ambos 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 (EBCDIC con signo personalizado) en otro tipo de máquinas basadas en ASCII. Esto utiliza los mismos caracteres que una máquina basada en EBCDIC, incluso si la representación hexadecimal interna real para los mismos es diferente. Con esta técnica la serie de caracteres para ambas plataformas EBCDIC y ASCII es idéntica. Puede recibir potencialmente un mensaje de una plataforma EBCDIC (creada desde un libro de copias COBOL que contenga dichas entradas como PIC XXX y PIC S999) y convertir todo el mensaje a ASCII o a la inversa. La cadena de caracteres que representa el campo decimal externo en el mensaje (después de la conversión ASCII/EBCDIC) se correlaciona con el punto de código que representa el signo correcto para el decimal. Debe tener en cuenta que existe una limitación con este método. Los caracteres de llaves son variables, por ejemplo, tienen puntos de código diferentes en páginas de códigos EBCDIC diferentes). Este mecanismo solamente funciona para dichas páginas de códigos EBCDIC en los que los caracteres de llaves '{' y '}' (que se utilizan para representar el 0 con signo) tienen exactamente los puntos de código x'C0' y x'D0'. Por ejemplo, funcionará para la página de códigos 500 y no para la página de códigos 871 en la que las llaves tienen los puntos de código X'8E' X'9C.
En un entorno ASCII (determinado por la propiedad CCSID durante la ejecución), el valor por omisión para la entrada y la salida es la representación 'ASCII con signo'. Es posible especificar la representación aplicable en la capa física CWF para los atributos locales y los elementos locales de tipo decimal, coma flotante y entero.
La tabla siguiente muestra la representación interna (tanto el carácter como el valor hexadecimal real) del primer y último dígito para los números decimales externos con un signo de cabecera o de cola (intercalado) respectivamente. (Nota: la tabla no especifica la representación de los valores sin signo que son 0x30-0x39 para ASCII y 0xF0-0xF9 para EBCDIC)
Valores con signo positivos | Valores con signo negativos | ||||||
Entorno ASCII | Entorno EBCDIC | Entorno ASCII | Entorno EBCDIC | ||||
Dígito | ASCII con signo | Signo EBCDIC personalizado | ASCII con signo | 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úmero sencillos que sería representativo de lo que se puede transmitir o recibir utilizando estos métodos.
Cabecera con signo | Cola con signo | |||||
Entorno ASCII | Entorno EBCDIC | Entorno ASCII | Entorno EBCDIC | |||
Valor decimal | ASCII con signo | Signo EBCDIC personalizado | ASCII con signo | Signo EBCDIC personalizado | ||
1234 | 31 32 33 34 |
31 32 33 34 |
F1 F2 F3 F4 |
31 32 33 34 |
31 32 33 34 |
F1 F2 F3 F4 |
+1234 | 31 32 33 34 |
41 32 33 34 |
C1 F2 F3 F4 |
31 32 33 34 |
31 32 33 44 |
F1 F2 F3 C4 |
-1234 | 71 32 33 34 |
4A 32 33 34 |
D1 F2 F3 F4 |
31 32 33 74 |
31 32 33 4D |
F1 F2 F3 D4 |
7890 | 37 38 39 30 |
37 38 39 30 |
F7 F8 F9 F0 |
37 38 39 30 |
37 38 39 30 |
F7 F8 F9 F0 |
+7890 | 37 38 39 30 |
47 38 39 30 |
C7 F8 F9 F0 |
37 38 39 30 |
37 38 39 7B |
F7 F8 F9 C0 |
-7890 | 77 38 39 30 |
50 38 39 30 |
D7 F8 F9 F0 |
37 38 39 70 |
37 38 39 7D |
F7 F8 F9 D0 |
Conceptos relacionados
Diseño de mensajes
El modelo de mensaje
Tareas relacionadas
Desarrollo de modelos de mensajes
Trabajar con un archivo de definición de mensajes
Trabajo con los objetos del modelo de mensajes
Referencia relacionada
Información de referencia del modelo de mensaje
Propiedades del objeto del modelo de mensaje
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ad06900_ |