En esta página, se describen todos los tipos de datos que admite Mainframe Connector.
Modificadores de campo universales
Todos los campos de COBOL elementales de cualquier tamaño admiten los siguientes
modificadores de campo de transcodificador universales
(configurados con defaults, field_suffixes o field_overrides):
null_if: Decodifica o codificaNULLsegún el valor de un campo indicador.null_if_empty: Se decodifica comoNULLsi todos los bytes del campo son0x00(valores bajos); codificaNULLcomo bytes0x00.decode_as_null: Se decodifica comoNULLsi todos los bytes coinciden con un valorhex_bytesconfigurado (por ejemplo,"40"para espacios de EBCDIC,"00"para valores bajos o"FF"para valores altos) o si el valor decodificado coincide con una lista devalues.encode_null_as: CodificaNULLcomo unhex_byterepetido o unvaluepredeterminado específico.null_if_invalid: Decodifica los datos de campo no válidos comoNULLen lugar de enviar el registro rechazado al conjunto de datos de desbordamiento.bytes: Anula el campo para leer y escribirBYTESsin procesar sin decodificación de caracteres.filler: Excluye el campo del esquema de salida decodificado y lo completa conhex_byte(0x40predeterminado) durante la codificación.chain: Aplica varios modificadores de campo en secuencia.
Tabla de asignación de tipos de datos de COBOL
| Tipo de uso de COBOL | Modificadores de campo adicionales compatibles | Copybook o condición de modificador | Tipo lógico | Tipo de ORC | Tipo de datos de BigQuery |
|---|---|---|---|---|---|
COMP-1, COMP-2( COMPUTATIONAL-1, COMPUTATIONAL-2)
|
hfp |
COMP-1 (precisión simple de 4 bytes) o COMP-2 (precisión doble de 8 bytes) sin cláusula PICTURE, o cualquier campo de 4 u 8 bytes con el modificador hfp. |
Double |
double |
FLOAT64 |
BINARY, COMP, COMPUTATIONAL, COMP-4, COMP-5 (con firma) |
binaryformat_date
|
Es el valor predeterminado para los campos binarios o cuando binary.signedness se establece en SIGNED.Tamaño en bytes por precisión ( p):
binary).
|
Long |
bigint |
INT64 |
BINARY, COMP, COMPUTATIONAL, COMP-4, COMP-5 (sin firmar) |
binaryformat_date
|
El modificador binary se aplica con signedness establecido en UNSIGNED. |
Long |
bigint |
INT64 |
DISPLAY (o cualquier campo de tamaño como bytes sin procesar) |
bytes |
Cualquier campo con un tamaño de byte estático que tenga aplicado el modificador de campo bytes (a través de field_overrides, field_suffixes o defaults) |
Bytes |
binary |
BYTES |
DISPLAY (o campo Long de número entero) como Date |
format_datestring
|
Campo de cadena (DISPLAY, DISPLAY-1, NATIONAL, UTF-8) o campo de número entero (tipo lógico Long) con el modificador format_date y una entrada de formato que coincida con la longitud de caracteres del campo (para cadenas) o la precisión de dígitos (para números enteros). |
Date |
date |
DATE |
DISPLAY (cadena) como marca de tiempo |
format_timestampstring
|
Campo de cadena con el modificador format_timestamp y una entrada de formato que coincida con el tamaño en bytes del campo. |
Timestamp |
timestamp |
TIMESTAMP |
DISPLAY (*) (alfanumérica) |
string |
USAGE DISPLAY (o USAGE omitido) con un PICTURE alfanumérico, alfabético o editado alfanumérico (X, A, B, 0, /).
|
String |
string |
STRING |
DISPLAY-1 (DBCS) |
string |
USAGE DISPLAY-1 por PIC G (opcionalmente con B) o PIC N. Cada símbolo ocupa 2 bytes. |
String |
string |
STRING |
NATIONAL |
string |
USAGE NATIONAL con PIC N (o USAGE omitido con PIC N). Cada símbolo ocupa 2 bytes. |
String |
string |
STRING |
UTF-8 |
string |
USAGE UTF-8 por PIC U (u omitir USAGE con PIC U). |
String |
string |
STRING |
DISPLAY (GROUP) (cadena de longitud variable) |
varlen |
Un campo de grupo con el modificador varlen que contiene dos subcampos:
|
String |
string |
STRING |
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimalformat_date (cuando Long)
|
precision ≤ 18 y scale = 0(o packed_decimal.logical_type establecido en LONG)
|
Long |
bigint |
INT64 |
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimal |
precision ≤ 18 y scale > 0(o packed_decimal.logical_type establecido en DECIMAL64)
|
Decimal64 |
decimal(p, s) |
NUMERIC |
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimal |
19 ≤ precision ≤ 38 y scale = 0(o packed_decimal.logical_type establecido en BIG_INTEGER)
|
BigInteger |
decimal(38, 0) |
|
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimal |
19 ≤ precision ≤ 38 y scale > 0(o packed_decimal.logical_type establecido en BIG_DECIMAL)
|
BigDecimal |
decimal(p, s) |
|
ZONED( DISPLAY con PICTURE numérico)
|
zoned_decimalformat_date
|
precision ≤ 18 y scale = 0(o zoned_decimal.logical_type establecido en LONG)
|
Long |
bigint |
INT64 |
ZONED( DISPLAY con PICTURE numérico)
|
zoned_decimal |
precision ≤ 18 y scale > 0(o zoned_decimal.logical_type establecido en DECIMAL64)
|
Decimal64 |
decimal(p, s) |
NUMERIC |
ZONED( DISPLAY con PICTURE numérico)
|
zoned_decimal |
19 ≤ precision ≤ 38 y scale = 0(o zoned_decimal.logical_type establecido en BIG_INTEGER)
|
BigInteger |
decimal(38, 0) |
|
ZONED( DISPLAY con PICTURE numérico)
|
zoned_decimal |
19 ≤ precision ≤ 38 y scale > 0(o zoned_decimal.logical_type establecido en BIG_DECIMAL)
|
BigDecimal |
decimal(p, s) |
|