例1
この例では、エラー情報をLoadオペレータの取得フェーズ エラー テーブルから抽出します。 この例では、Loadオペレータ ジョブのサンプル スキーマを使用します。
EMP_ID VARCHAR(20), EMP_NUM VARCHAR(10)
この例では、Loadオペレータの取得フェーズ エラー テーブルの、このサンプルの内容を使用します。
ErrorCode ErrorFieldName DataParcel --------- -------------- ---------------------- 2683 EMP_NUM 0003003130300300313238
- z/OS以外のプラットフォームでコマンドを実行する際には、以下のtwbertbl構文例を使用してください。
twbertbl -h <TdpId> -u <UserName> -t <ErrorTableName> -n <NumberOfLoadedColumns> -o <OutputFileName>
- On z/OSでは、JCL内で以下の構文例を使用します。
//TWBERTBL EXEC PGM=TWBERTBL, // PARAM='-h TDP0 -u MyUser -p MyPass -n 2 -t LoadOpErrTbl1 // -o DD:DATA'
- 抽出後、出力ファイル名の内容は、区切り文字で区切られて次のように表示されます。
EMP_NUM|2683|100|128
出力ファイル名の最初のフィールドは、各エラーを引き起こしたフィールドの名前です。
2番目のフィールドは、各エラーのエラー コードです。
残りのフィールドは、各エラーのデータ レコードの列値です。
例2
この例では、エラー情報をUpdateオペレータの取得フェーズ エラー テーブルから抽出します。
この例では、Updateオペレータ ジョブの、このサンプル スキーマを使用します。
EMP_ID VARCHAR(20), EMP_NUM VARCHAR(10)
この例では、Updateオペレータの取得フェーズ エラー テーブルの、このサンプルの内容を使用します。
ImportSeq DMLSeq SMTSeq ApplySeq SourceSeq --------- ------ ------ -------- --------- 1 1 1 1 1 ErrorCode ErrorField HostData --------- ---------- ---------------------- 2683 EMP_NUM 0003003130300300313238
- z/OS以外のプラットフォームでコマンドを実行する際には、以下のtwbertbl構文例を使用してください。
twbertbl -h <TdpId> -u <UserName> -t <ErrorTableName> -n <NumberOfLoadedColumns> -o <OutputFileName>
- On z/OSでは、JCL内で以下の構文例を使用します。
//TWBERTBL EXEC PGM=TWBERTBL, // PARAM='-h TDP0 -u MyUser -p MyPass -n 2 -t UpdateOpErrTbl1 // -o DD:DATA'
- 抽出後、出力ファイル名の内容は、区切り文字で区切られて次のように表示されます。
1|1|1|1|1|EMP_NUM|2683|100|128
出力ファイル名の最初のフィールドは、各エラーを引き起こしたインポート シーケンス番号です。
2番目のフィールドは、各エラーを引き起こしたDMLシーケンス番号です。
3番目のフィールドは、各エラーを引き起こしたステートメントシーケンス番号です。
4番目のフィールドは、各エラーを引き起こした適用シーケンス番号です。
5番目のフィールドは、各エラーを引き起こした行シーケンス番号です。
6番目のフィールドは、各エラーを引き起こしたエラー コードです。
7番目のフィールドは、各エラーを引き起こしたフィールド名です。
残りのフィールドは、各エラーのデータ レコードの列値です。
例3
この例では、複数バイトの文字区切り記号を使用して、Load演算子の取得フェーズ エラー テーブルからエラー情報を抽出します。
この例では、Loadオペレータ ジョブのこのサンプル スキーマを使用します。
EMP_ID VARCHAR(20), EMP_NUM VARCHAR(10)
この例では、Loadオペレータの取得フェーズ エラー テーブルの、このサンプルの内容を使用します。
ErrorCode ErrorFieldName DataParcel --------- -------------- ---------------------- 2683 EMP_NUM 0003003130300300313238
- z/OS以外のプラットフォームでコマンドを実行する際には、以下のtwbertbl構文例を使用してください。
twbertbl -h <TdpId> -u <UserName> -t <ErrorTableName> -n <NumberOfLoadedColumns> -o <OutputFileName> -d <Multi-byte characters delimiter>
- On z/OSでは、JCL内で以下の構文例を使用します。
//TWBERTBL EXEC PGM=TWBERTBL, // PARAM='-h TDP0 -u MyUser -p MyPass -n 2 -t UpdateOpErrTbl1 // -o DD:DATA -d aaa'
- 抽出後、出力ファイル名の内容は、マルチバイトの区切り文字‘aaa’で区切られて次のように表示されます。
EMP_NUMaaa2683aaa100aaa128
出力ファイル名の最初のフィールドは、各エラーを引き起こしたフィールドの名前です。
2番目のフィールドは、各エラーのエラー コードです。
残りのフィールドは、各エラーのデータ レコードの列値です。
この例では、エラー情報をStreamオペレータのエラー テーブルから抽出します。
EMP_ID VARCHAR(20), EMP_NUM VARCHAR(10)
LOADSTARTTIME DMLSEQ SMTSEQ SOURCESEQ DATASEQ ERRORCODE -------------------------- ------ ------ --------- ------- --------- 2018-01-24 17:35:26.000000 1 1 1 1 2617 ERRORMSG -------------------------------------------------------------------------------- Overflow occurred computing an expression involving STREAM_TARGET_EMP_TABLE.COL2 ERRORFIELD HOSTDATA ---------- ---------------------------------------------------- 0 000B0020202020202020202020310A0031323820202020202020 ROWINSERTTIME -------------------------- 2018-01-24 17:35:29.360000
- z/OS以外のプラットフォームでコマンドを実行する際には、以下のtwbertbl構文例を使用してください。
twbertbl -h <TdpId> -u <UserName> -t <ErrorTableName> -n <NumberOfLoadedColumns> -o <OutputFileName>
- On z/OSでは、JCL内で以下の構文例を使用します。
//TWBERTBL EXEC PGM=TWBERTBL, // PARAM='-h TDP0 -u MyUser -p MyPass -n 2 -t StreamOpErrTbl // -o DD:DATA'
- 抽出後、出力ファイル名の内容は、区切り記号文字で区切られて次のように表示されます。
2018-01-24 17:35:26.000000|2018-01-24 17:35:29.360000|1|1|1|1|0|2617|Overflow occurred computing an expression involving STREAM_TARGET_EMP_TABLE.COL2| 1|128
出力ファイル名の最初のフィールドは、Queue Insertion TimeStamp (QITS)です。この値は、ジョブが開始された時間を示します。再始動時には、ジョブが再始動された時間を示します。
2番目のフィールドは、Streamオペレータのエラー テーブルに行が挿入された時間を示します。
3番目のフィールドは、エラーが発生したDMLグループに割り当てられた連番です。
4番目のフィールドは、エラー発生時に実行していたDMLグループ内のDML文に割り当てられた連番(上記DMLSeq列の説明と同じ)です。
5番目のフィールドは、エラーが発生した入力ソース(DataSeq番号)の行に割り当てられた連番です。
6番目のフィールドは、エラーが発生した入力ソースに割り当てられた連番です。
7番目のフィールドは、エラーを引き起こしたフィールドです。現在データベースには、データ エラーのレコードでどのフィールドがエラーを引き起こしたかをTPT Streamオペレータに知らせる手段がないため、このフィールドは必ず0に設定します。ただし、エラー メッセージでは、データ エラーを引き起こした列名を示すことができます。
8番目のフィールドは、エラー コードです。
9番目のフィールドは、エラー メッセージです。
残りのフィールドは、各エラーのデータ レコードの列値です。