TROでは、入力するデータ形式と抽出側システムのTJNLのジャーナル定義を一致させる必要があります。
抽出側システム(グローバルサーバ)
"表A.2 Symfoware/RDBのジャーナル定義の対応表"に従って指定してください。
ただし、ジャーナル定義の項目名の指定方法に一部制約があります。詳細については、"TJNL使用手引書"を参照してください。
抽出側システム | 反映側システム | |||||
---|---|---|---|---|---|---|
Symfoware/RDBの列属性 | TJNLのジャーナル定義 | INTABLE定義の入力データ属性 | データベース種別 | |||
Symfoware/RDB | Oracleデータベース | SQL Server | ||||
CHAR(n) | PIC X(n) | char(n) | CHAR(n) | 1~2000 | 1~8000 | |
1バイト | 1バイト以上 | |||||
zone(n,m) | NUMERIC(n,m) ※8 | NUMBER(n,m) ※8 | numeric(n,m) ※8 | |||
VARCHAR(n) | PIC X(n+2) | vchar(n) | VARCHAR(n) | 1~4000 | 1~8000 | |
1バイト | 1バイト以上 | |||||
NCHAR(n) | PIC X(n×2) | nchar2(n) | NCHAR(n) ※1 | 1~1000 | 1~4000 | |
1文字以上 | 1文字以上 | |||||
NCHAR VARYING(n) | PIC X(n×2+2) | vnchar2(n) | NCHAR VARYING(n) | 1~2000 | 1~4000 | |
1文字以上 | 1文字以上 | |||||
NUMERIC(n,m) | PIC X(n) | zone(n,[m]) | NUMERIC(n,m) | NUMBER(n,m) | numeric(n,m) | |
DECIMAL(n,m) | PIC X(n÷2+1) | pack(n,[m]) | DECIMAL(n,m) | |||
REAL | PIC X(4) | real | REAL | NUMBER | real | |
DOUBLE PRECISION | PIC X(8) | double | DOUBLE PRECISION | float | ||
FLOAT(n) | PIC X(4) | real | FLOAT(n) | real | ||
FLOAT(n) | PIC X(8) | double | FLOAT(n) | float | ||
SMALLINT | PIC X(2) | sint | SMALLINT | NUMBER(5,0) | smallint | |
INTEGER | PIC X(4) | int | INTEGER | NUMBER(10,0) | int | |
BINARY(n) | PIC X(n+2) | blob(n) | BLOB(nK) |
| image | |
BINARY(nK) | PIC X(n×1024+2) | blob(nK) | ||||
TIMESTAMP(0) | PIC X(19) | datetime | TIMESTAMP | DATE | smalldatetime | |
TIMESTAMP(6) | PIC X(26) | |||||
DATE | PIC X(10) | date | DATE | |||
TIME | PIC X(8) | time | TIME | |||
時間隔 | INTERVAL YEAR(n) TO MONTH | PIC X(n+4) | interval year(n) to month | INTERVAL YEAR(n) TO MONTH | 未サポート | 未サポート |
INTERVAL YEAR(n) | PIC X(n+1) | interval year(n) | INTERVAL YEAR(n) | 未サポート | 未サポート | |
INTERVAL MONTH(n) | PIC X(n+2) | interval month(n) | INTERVAL MONTH(n) | 未サポート | 未サポート | |
INTERVAL DAY(n) TO HOUR | PIC X(n+4) | interval day(n) to hour | INTERVAL DAY(n) TO HOUR | 未サポート | 未サポート | |
INTERVAL DAY(n) TO MINUTE | PIC X(n+7) | interval day(n) to minute | INTERVAL DAY(n) TO MINUTE | 未サポート | 未サポート | |
INTERVAL DAY(n) TO SECOND | PIC X(n+10) | interval day(n) to second | INTERVAL DAY(n) TO SECOND | 未サポート | 未サポート | |
INTERVAL DAY(n) | PIC X(n+1) | interval day(n) | INTERVAL DAY(n) | 未サポート | 未サポート | |
INTERVAL HOUR(n) TO MINUTE | PIC X(n+4) | interval hour(n) to minute | INTERVAL HOUR(n) TO MINUTE | 未サポート | 未サポート | |
INTERVAL HOUR(n) TO SECOND | PIC X(n+7) | interval hour(n) to second | INTERVAL HOUR(n) TO SECOND | 未サポート | 未サポート | |
INTERVAL HOUR(n) | PIC X(n+1) | interval hour(n) | INTERVAL HOUR(n) | 未サポート | 未サポート | |
INTERVAL MINUTE(n) TO SECOND | PIC X(n+4) | interval minute(n) to second | INTERVAL MINUTE(n) TO SECOND | 未サポート | 未サポート | |
INTERVAL MINUTE(n) | PIC X(n+1) | interval minute(n) | INTERVAL MINUTE(n) | 未サポート | 未サポート | |
INTERVAL SECOND(n) | PIC X(n+1) | interval second(n) | INTERVAL SECOND(n) | 未サポート | 未サポート |
※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:入力データがバイナリの0(0x00)の場合、以下の値を格納します。
- 長さ部: INTABLE定義の入力データ属性に指定した文字数を格納します。
- データ部: 空白を格納します。
※3:入力データがバイナリの0(0x00)の場合、以下の値を格納します。
- 長さ部: INTABLE定義の入力データ属性に指定した文字数を格納します。
- データ部: 空白を格納します。
※4:コード変換により、データ長が32767バイトを超えた場合、32767バイト分のデータを格納します。
※5:キャラクタ・セマンティクスの列への格納はサポートしていません。バイト・セマンティクスの列に格納してください。
※6:Oracleデータベースのキャラクタ・セットがAL32UTF8の場合、マルチバイト・キャラクタを含むデータへの格納では、上記表に示す文字数を格納できません。この場合、NCHAR型では最大2000バイト、NVARCHAR2型では最大4000バイトとなります。
※7:固定長から可変長などの組み合わせも可能です。詳細は"文字列属性の組み合わせについて"を参照してください。
※8:入力データが数字の場合のみ可能です。
"表A.3 ネットワークデータベースおよびVSAMデータセットのジャーナル定義の対応表"に従って指定してください。
抽出側システム | 反映側システム | ||||
---|---|---|---|---|---|
ネットワークデータベースおよびVSAMデータセットの列属性 | TJNLのジャーナル定義 | INTABLE定義の入力データ属性 | データベース種別 | ||
Symfoware/RDB | Oracleデータベース | SQL Server | |||
英字 | PIC A(n) | char(n) | CHAR(n) | 1~2000 | 1~8000バイト |
1バイト以上 | 1バイト以上 | ||||
英数字 | PIC X(n) | char(n) | CHAR(n) | 1~2000 | 1~8000バイト |
1バイト以上 | 1バイト以上 | ||||
zone(n,m) | NUMERIC(n,m) ※8 | NUMBER(n,m) ※8 | numeric(n,m) ※8 | ||
各国語文字 | PIC N(n) | nchar2(n) | NCHAR(n) ※1 | 1~1000 | 1~4000文字 |
1文字以上 | 1文字以上 | ||||
外部10進数 | PIC 9(n) | zone(n,[m]) | NUMERIC(n,m) ※2 | NUMBER(n,m) ※2 | numeric(n,m) |
内部10進数 | PIC 9(n)S | pack(n,[m]) | DECIMAL(n,m) ※2 | ||
外部浮動 | PIC S99ES99 | char(n) | CHAR(n) | CHAR(n) ※1 ※5 | char(n) |
内部浮動 | PIC S9(n) KS9(m) | real | REAL | NUMBER | real |
PIC S9(n) KS9(m) | double | DOUBLE PRECISION | float | ||
外部2進数 | PIC 1(n) | char(n) | CHAR(n) | CHAR(n) ※1 ※5 | char(n) |
数字編集 | PIC 99.99 | char(n) | CHAR(n) | CHAR(n) ※1 ※5 | char(n) |
※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:入力データがバイナリの0(0x00)の場合、当該項目の属性に合わせた数値0を格納します。
※3:コード変換により、データ長が32767バイトを超えた場合、32767バイト分のデータを格納します。
※4:小数点を表すピクチャ文字列に"P"を指定したデータ項目の逐次差分反映はサポートしておりません。
※5:キャラクタ・セマンティクスの列への格納はサポートしていません。バイト・セマンティクスの列に格納してください。
※6:Oracleデータベースのキャラクタ・セットがAL32UTF8の場合、マルチバイト・キャラクタを含むデータへの格納では、上記表に示す文字数を格納できません。この場合、NCHAR型では最大2000バイトとなります。
※7:固定長から可変長などの組み合わせも可能です。詳細は"文字列属性の組み合わせについて"を参照してください。
※8:入力データが数字の場合のみ可能です。
INTABLE定義のデータ属性が文字列属性の場合、以下の組み合わせも可能です。
Symfoware/RDBの場合、以下の組み合わせも可能です。
INTABLE定義のデータ属性 | データベース側の列属性 |
---|---|
char(n) | VARCHAR(n) |
NCHAR(n÷2) | |
NCHAR VARYING(n÷2) | |
vchar(n) | CHAR(n) |
NCHAR(n÷2) | |
NCHAR VARYING(n÷2) | |
nchar2(n) | CHAR(n×マルチバイト1文字の最大バイト数) |
VARCHAR(n×マルチバイト1文字の最大バイト数) | |
NCHAR VARYING(n) | |
vnchar2(n) | CHAR(n×マルチバイト1文字の最大バイト数) |
VARCHAR(n×マルチバイト1文字の最大バイト数) | |
NCHAR(n) |
Oracleデータベースの場合、以下の組み合わせも可能です。
INTABLE定義のデータ属性 | データベース側の列属性 |
---|---|
char(n) | 1~4000バイト |
1~2000バイト | |
1~4000バイト | |
vchar(n) | 1~2000バイト |
1~2000バイト | |
1~4000バイト | |
nchar2(n) | 1~1000文字 |
1~2000文字 | |
1~1000文字 | |
vnchar2(n) | 1~1000文字 |
1~2000文字 | |
1~1000文字 |
※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:入力データがバイナリの0(0x00)の場合、当該項目の属性に合わせた数値0を格納します。
※3:キャラクタ・セマンティクスの列への格納はサポートしていません。バイト・セマンティクスの列に格納してください。
※4:Oracleデータベースのキャラクタ・セットがAL32UTF8の場合、マルチバイト・キャラクタを含むデータへの格納では、上記表に示す文字数を格納できません。この場合、CHAR型/NCHAR型では最大2000バイト、VARCHAR2型/NVARCHAR2型では最大4000バイトとなります。
SQL Serverの場合、以下の組み合わせも可能です。
INTABLE定義のデータ属性 | データベース側の列属性 |
---|---|
char(n) | 1~8000バイト |
vchar(n) | 1~8000バイト |
nchar2(n) | 1~4000文字 |
1~4000文字 | |
1~4000文字 | |
1バイト以上 | |
vnchar2(n) | 1~4000文字 |
1~4000文字 | |
1~4000文字 | |
1バイト以上 |