メインフレーム接続のクライアントの場合 - Basic Teradata Query

Basic Teradata Queryリファレンス

Product
Basic Teradata Query
Release Number
16.20
Published
2018年4月
Language
日本語
Last Update
2019-07-03
dita:mapPath
ja-JP/moy1512703123963.ditamap
dita:ditavalPath
ja-JP/moy1512703123963.ditaval
dita:id
B035-2414
Product Category
Teradata Tools and Utilities
  • BTEQでは、I/Oの異常終了が直接ユーザーに渡されず、ユーザー1000の異常終了に変換されるか、エラー処理されるため、プログラムは処理を続行することができます。
  • BTEQで異常終了がユーザー1000に変換されるときには、汎用レジスター15に、理由を示すコード(異常終了の追加情報となる)が含まれます。 異常終了に対応する理由コードは、Cのエラー番号の値です。
    次に、異常終了となるエラー番号の値を示します。
    • ENOMEM
    • EBADF
    • ENOENT
    • ENOSPC
    • EIO
    • ESPIPE
    • EMVSERR
    • EBUSY
    • EMFILE
  • BTEQでI/Oの異常終了が発生した場合には、システム エラー メッセージがz/OSのJESジョブ ログに出力されます。
  • BTEQでI/Oエラーまたは異常終了が発生した場合には、IBM/Cランタイム ライブラリによってLSCX(Cランタイム)メッセージが生成され、それにエラーの追加情報が示される場合もあります。
  • ゼロの戻りコードだけを受信するように記述されているJCLアプリケーションは、その他のエラーが発生していない場合にも、ゼロ以外のデフォルトの戻りコードが返されると終了する可能性があります。

例 – I/Oの異常終了の処理(z/OSの場合)

BTEQは、異常終了をユーザー1000に変換します。 この変換は、以下の例に示すように、ジョブ ステップの条件コード検査に基づくプロセスの自動化に効果的です。

//YNBTQ  JOB 1,'Your Name',CLASS=B,Notify=YN,
//              MSGCLASS=A,MSGLEVEL=(1,1)
//BTEQ   EXEC   PGM=BTQMAIN
.............................................
.............................................
//NOFILE DD     DSN=nofile.inthis.location,DISP=SHR
//SYSIN  DD     DATA,DLM=##
.Logon <TDPID>/<UserName>,<PassWd>;
.............................................
.Import Data File=NOFILE
.............................................
   ##
   //CCTEST IF    (ABENDCC=U1000) THEN
   //CRDAFL EXEC  PGM=CRATDTFL
   .............................................
   .............................................
   //NOABND ELSE
   //PROCED EXEC  PGM=DOSMTHNG
   .............................................
   .............................................
   //       ENDIF

この例では、結果的にI/Oエラーによるユーザーの異常終了1000になったBTEQプログラムを実行しようとした場合に、CRATDTFLプログラムが実行されます。 BTEQプログラムが正常に実行されると、DOSMTHNGが実行されます。