Questa pagina descrive tutti i tipi di dati supportati da Mainframe Connector.
Modificatori di campo universali
Tutti i campi COBOL elementari di qualsiasi dimensione supportano i seguenti modificatori di campo del transcodificatore universali (configurati utilizzando defaults, field_suffixes o field_overrides):
null_if: decodifica o codificaNULLin base al valore di un campo indicatore.null_if_empty: decodifica comeNULLse tutti i byte nel campo sono0x00(valori bassi); codificaNULLcome byte0x00.decode_as_null: decodifica comeNULLse tutti i byte corrispondono a un valorehex_bytesconfigurato (ad esempio,"40"per gli spazi EBCDIC,"00"per i valori bassi o"FF"per i valori alti) o se il valore decodificato corrisponde a un elenco divalues.encode_null_as: codificaNULLcomehex_byteripetuto ovaluepredefinito specifico.null_if_invalid: decodifica i dati dei campi non validi comeNULLanziché inviare il record rifiutato al set di dati di spillover.bytes: esegue l'override del campo per leggere e scrivereBYTESnon elaborati senza decodifica dei caratteri.filler: esclude il campo dallo schema di output decodificato e lo compila conhex_byte(valore predefinito0x40) durante la codifica.chain: applica più modificatori di campo in sequenza.
Tabella di mappatura dei tipi di dati COBOL
| Tipo di utilizzo COBOL | Modificatori di campo aggiuntivi supportati | Condizione copybook o modificatore | Tipo logico | Tipo di ORC | Tipo di dati BigQuery |
|---|---|---|---|---|---|
COMP-1, COMP-2( COMPUTATIONAL-1, COMPUTATIONAL-2)
|
hfp |
COMP-1 (precisione singola a 4 byte) o COMP-2 (precisione doppia a 8 byte) senza clausola PICTURE o qualsiasi campo a 4 o 8 byte con il modificatore hfp. |
Double |
double |
FLOAT64 |
BINARY, COMP, COMPUTATIONAL, COMP-4, COMP-5 (firmato) |
binaryformat_date
|
Valore predefinito per i campi binari o quando binary.signedness è impostato su SIGNED.Dimensioni in byte per precisione ( p):
binary.)
|
Long |
bigint |
INT64 |
BINARY, COMP, COMPUTATIONAL, COMP-4, COMP-5 (non firmato) |
binaryformat_date
|
Il modificatore binary viene applicato con signedness impostato su UNSIGNED. |
Long |
bigint |
INT64 |
DISPLAY (o qualsiasi campo di dimensioni come byte non elaborati) |
bytes |
Qualsiasi campo con una dimensione in byte statica a cui è applicato il modificatore di campo bytes (tramite field_overrides, field_suffixes o defaults). |
Bytes |
binary |
BYTES |
DISPLAY (o campo intero Long) come data |
format_datestring
|
Campo stringa (DISPLAY, DISPLAY-1, NATIONAL, UTF-8) o campo intero (tipo logico Long) con il modificatore format_date e una voce di formato corrispondente alla lunghezza dei caratteri del campo (per le stringhe) o alla precisione delle cifre (per gli interi). |
Date |
date |
DATE |
DISPLAY (String) come Timestamp |
format_timestampstring
|
Campo stringa con il modificatore format_timestamp e una voce di formato corrispondente alla dimensione in byte del campo. |
Timestamp |
timestamp |
TIMESTAMP |
DISPLAY (*) (alfanumerico) |
string |
USAGE DISPLAY (o USAGE omesso) con un PICTURE alfanumerico, alfabetico o alfanumerico modificato (X, A, B, 0, /).
|
String |
string |
STRING |
DISPLAY-1 (DBCS) |
string |
USAGE DISPLAY-1 con PIC G (facoltativamente con B) o PIC N. Ogni simbolo occupa 2 byte. |
String |
string |
STRING |
NATIONAL |
string |
USAGE NATIONAL con PIC N (o USAGE omesso con PIC N). Ogni simbolo occupa 2 byte. |
String |
string |
STRING |
UTF-8 |
string |
USAGE UTF-8 con PIC U (o USAGE omesso con PIC U). |
String |
string |
STRING |
DISPLAY (GROUP) (stringa di lunghezza variabile) |
varlen |
Un campo di gruppo con il modificatore varlen contenente due campi secondari:
|
String |
string |
STRING |
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimalformat_date (quando Long)
|
precision ≤ 18 e scale = 0(o packed_decimal.logical_type impostato su LONG)
|
Long |
bigint |
INT64 |
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimal |
precision ≤ 18 e scale > 0(o packed_decimal.logical_type impostato su DECIMAL64)
|
Decimal64 |
decimal(p, s) |
NUMERIC |
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimal |
19 ≤ precision ≤ 38 e scale = 0(o packed_decimal.logical_type impostato su BIG_INTEGER)
|
BigInteger |
decimal(38, 0) |
|
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimal |
19 ≤ precision ≤ 38 e scale > 0(o packed_decimal.logical_type impostato su BIG_DECIMAL)
|
BigDecimal |
decimal(p, s) |
|
ZONED( DISPLAY con PICTURE numerico)
|
zoned_decimalformat_date
|
precision ≤ 18 e scale = 0(o zoned_decimal.logical_type impostato su LONG)
|
Long |
bigint |
INT64 |
ZONED( DISPLAY con PICTURE numerico)
|
zoned_decimal |
precision ≤ 18 e scale > 0(o zoned_decimal.logical_type impostato su DECIMAL64)
|
Decimal64 |
decimal(p, s) |
NUMERIC |
ZONED( DISPLAY con PICTURE numerico)
|
zoned_decimal |
19 ≤ precision ≤ 38 e scale = 0(o zoned_decimal.logical_type impostato su BIG_INTEGER)
|
BigInteger |
decimal(38, 0) |
|
ZONED( DISPLAY con PICTURE numerico)
|
zoned_decimal |
19 ≤ precision ≤ 38 e scale > 0(o zoned_decimal.logical_type impostato su BIG_DECIMAL)
|
BigDecimal |
decimal(p, s) |
|