Auf dieser Seite werden alle Datentypen beschrieben, die von Mainframe Connector unterstützt werden.
Universelle Feldmodifikatoren
Alle elementaren COBOL-Felder mit Größenangabe unterstützen die folgenden universellen Transcoder-Feldmodifikatoren (konfiguriert mit defaults, field_suffixes oder field_overrides):
null_if: Decodiert oder codiertNULLbasierend auf dem Wert eines Indikatorfelds.null_if_empty: Wird alsNULLdecodiert, wenn alle Byte im Feld0x00(niedrige Werte) sind. CodiertNULLals0x00-Byte.decode_as_null: Wird alsNULLdecodiert, wenn alle Byte mit einem konfiguriertenhex_bytes-Wert übereinstimmen (z. B."40"für EBCDIC-Leerzeichen,"00"für niedrige Werte oder"FF"für hohe Werte) oder wenn der decodierte Wert mit einer Liste vonvaluesübereinstimmt.encode_null_as: CodiertNULLals wiederholteshex_byteoder als spezifischen Standardwertvalue.null_if_invalid: Decodiert ungültige Felddaten alsNULL, anstatt den abgelehnten Datensatz an das Überlauf-Dataset zu senden.bytes: Überschreibt das Feld, um Roh-BYTESohne Zeichendecodierung zu lesen und zu schreiben.filler: Schließt das Feld aus dem decodierten Ausgabeschema aus und füllt es während der Codierung mithex_byte(Standard:0x40).chain: Wendet mehrere Feldmodifikatoren nacheinander an.
COBOL-Datentypzuordnungstabelle
| COBOL-Nutzungstyp | Zusätzliche unterstützte Feldmodifikatoren | Copybook- oder Modifikatorbedingung | Logischer Typ | ORC-Typ | BigQuery-Datentyp |
|---|---|---|---|---|---|
COMP-1, COMP-2( COMPUTATIONAL-1, COMPUTATIONAL-2)
|
hfp |
COMP-1 (4-Byte-Gleitkommazahl mit einfacher Genauigkeit) oder COMP-2 (8-Byte-Gleitkommazahl mit doppelter Genauigkeit) ohne PICTURE-Klausel oder ein beliebiges 4- oder 8-Byte-Feld mit dem hfp-Modifikator. |
Double |
double |
FLOAT64 |
BINARY, COMP, COMPUTATIONAL, COMP-4, COMP-5 (signiert) |
binaryformat_date
|
Standard für Binärfelder oder wenn binary.signedness auf SIGNED gesetzt ist.Bytegröße nach Genauigkeit ( p):
binary.)
|
Long |
bigint |
INT64 |
BINARY, COMP, COMPUTATIONAL, COMP-4, COMP-5 (ohne Vorzeichen) |
binaryformat_date
|
Der Modifikator binary wird angewendet, wobei signedness auf UNSIGNED festgelegt ist. |
Long |
bigint |
INT64 |
DISPLAY (oder ein beliebig großes Feld als Rohbyte) |
bytes |
Jedes Feld mit einer statischen Bytegröße, auf das der Feldmodifikator bytes angewendet wurde (über field_overrides, field_suffixes oder defaults). |
Bytes |
binary |
BYTES |
DISPLAY (oder Ganzzahlfeld Long) als Datum |
format_datestring
|
Stringfeld (DISPLAY, DISPLAY-1, NATIONAL, UTF-8) oder Ganzzahlfeld (logischer Typ Long) mit dem Modifikator format_date und einem Formateintrag, der der Zeichenlänge des Felds (für Strings) oder der Zifferngenauigkeit (für Ganzzahlen) entspricht. |
Date |
date |
DATE |
DISPLAY (String) als Zeitstempel |
format_timestampstring
|
Stringfeld mit dem Modifikator format_timestamp und einem Formateintrag, der der Byte-Größe des Felds entspricht. |
Timestamp |
timestamp |
TIMESTAMP |
DISPLAY (*) (alphanumerisch) |
string |
USAGE DISPLAY (oder ausgelassenes USAGE) mit einem alphanumerischen, alphabetischen oder alphanumerisch bearbeiteten PICTURE (X, A, B, 0, /).
|
String |
string |
STRING |
DISPLAY-1 (DBCS) |
string |
USAGE DISPLAY-1 durch PIC G (optional mit B) oder PIC N. Jedes Symbol belegt 2 Byte. |
String |
string |
STRING |
NATIONAL |
string |
USAGE NATIONAL mit PIC N (oder weggelassenes USAGE mit PIC N). Jedes Symbol belegt 2 Byte. |
String |
string |
STRING |
UTF-8 |
string |
USAGE UTF-8 durch PIC U (oder weggelassenes USAGE durch PIC U). |
String |
string |
STRING |
DISPLAY (GROUP) (String mit variabler Länge) |
varlen |
Ein Gruppenfeld mit dem Modifikator varlen, das zwei untergeordnete Felder enthält:
|
String |
string |
STRING |
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimalformat_date (wenn Long)
|
precision ≤ 18 und scale = 0(oder packed_decimal.logical_type auf LONG festgelegt)
|
Long |
bigint |
INT64 |
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimal |
precision ≤ 18 und scale > 0(oder packed_decimal.logical_type auf DECIMAL64 festgelegt)
|
Decimal64 |
decimal(p, s) |
NUMERIC |
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimal |
19 ≤ precision ≤ 38 und scale = 0(oder packed_decimal.logical_type auf BIG_INTEGER festgelegt)
|
BigInteger |
decimal(38, 0) |
|
PACKED-DECIMAL( COMP-3, COMPUTATIONAL-3)
|
packed_decimal |
19 ≤ precision ≤ 38 und scale > 0(oder packed_decimal.logical_type auf BIG_DECIMAL festgelegt)
|
BigDecimal |
decimal(p, s) |
|
ZONED( DISPLAY mit numerischem PICTURE)
|
zoned_decimalformat_date
|
precision ≤ 18 und scale = 0(oder zoned_decimal.logical_type auf LONG festgelegt)
|
Long |
bigint |
INT64 |
ZONED( DISPLAY mit numerischem PICTURE)
|
zoned_decimal |
precision ≤ 18 und scale > 0(oder zoned_decimal.logical_type auf DECIMAL64 festgelegt)
|
Decimal64 |
decimal(p, s) |
NUMERIC |
ZONED( DISPLAY mit numerischem PICTURE)
|
zoned_decimal |
19 ≤ precision ≤ 38 und scale = 0(oder zoned_decimal.logical_type auf BIG_INTEGER festgelegt)
|
BigInteger |
decimal(38, 0) |
|
ZONED( DISPLAY mit numerischem PICTURE)
|
zoned_decimal |
19 ≤ precision ≤ 38 und scale > 0(oder zoned_decimal.logical_type auf BIG_DECIMAL festgelegt)
|
BigDecimal |
decimal(p, s) |
|