Rational Developer for System z、バージョン 7.6.1

言語環境プログラム・ユーザー出口を使用した TEST ランタイム・オプションの指定

Debug Tool には、カスタマイズされたバージョンの言語環境プログラムのユーザー出口 (CEEBXITA) が用意されています。このユーザー出口は、Language Environment® 初期化ロジックで呼び出されると、TEST ランタイム・オプションを返します。 Debug Tool は、3 つの異なる環境用にユーザー出口を提供しています。このトピックについては、システム・プログラマー専用の情報を加えて「Debug Tool カスタマイズ・ガイド」でも説明しています。

このユーザー出口は、命名パターンから構成される名前でユーザー制御データ・セットから TEST ランタイム・オプションを抽出します。命名パターンには、以下のトークンを含めることができます。

&USERID
Debug Tool は、&USERID トークンを現行ユーザーのユーザー ID に置き換えます。各ユーザーは、アプリケーションのデバッグ時に、それぞれ自分の TEST ランタイム・オプションを指定できます。 このトークンはオプションです。
&PGMNAME
Debug Tool は、&PGMNAME トークンをメインプログラム (ロード・モジュール) の名前に置き換えます。プログラムごとに独自の TEST ランタイム・オプションを指定することができます。 このトークンはオプションです。

Debug Tool には、以下の 2 つの形式でユーザー出口が用意されています。

Debug Tool には、以下のユーザー出口が用意されています。

表 14. さまざまな環境用の言語環境プログラムユーザー出口
環境 ユーザー出口名
WLM で確立されたアドレス・スペース内で実行される、タイプ MAIN の DB2® ストアード・プロシージャー1 EQADDCXT
IMS™ TM2 および BTS3 EQADICXT
バッチおよび BTS EQADBCXT
注:
  1. EQADDCXT は、DB2 バージョン 7 以降用にサポートされています。DB2 RUNOPTS を指定した場合でも、EQADDCXT は DB2 RUNOPTS より優先されます。
  2. IMS TM の場合、 IMS 端末にサインオンしていないと TSOID オプションを指定した EQASET トランザクションの 実行が必要になる場合があります。 EQASET トランザクションの実行方法の手順については、/SIGN ON を発行せずに言語環境プログラム IMS MPP をデバッグするを参照してください。
  3. BTS の場合、IO PCB のユーザー ID を使用した環境コマンド (./E) を指定する必要があります。例えば、ユーザー ID が ECSVT2 の場合、環境コマンドは ./E USERID=ECSVT2 になります。

各ユーザー出口は、以下のいずれかの方法で使用できます。

それぞれの方法の利点と欠点について詳しくは、CEEBXITA の 2 つのリンク方法の比較を参照してください。

言語環境プログラムのユーザー出口を使用するためにプログラムを準備するには、以下の作業を行います。

  1. CEEBXITA のソース・コードの編集.
  2. アプリケーション・プログラムへの CEEBXITA ユーザー出口のリンク または 言語環境プログラム・ランタイム・モジュールの専用コピーへの CEEBXITA ユーザー出口のリンク
  3. TEST ランタイム・オプション・データ・セットの作成と管理.

CEEBXITA のソース・コードの編集

hlq.SEQASAMP にあるサンプル・アセンブラー・ユーザー出口を編集すれば、 以下の作業のいずれかを行うことにより、命名パターンまたはメッセージ表示レベルをカスタマイズできます。

命名パターンの変更

TEST ランタイム・オプションが含まれたデータ・セットの命名パターンは、順次データ・セット名の形式になっています。 オプションで、&USERID トークンを指定できます。これは Debug Tool によって現行ユーザーのユーザー ID に置換されます。また、&PGMNAME トークンを追加することもでき、これは、Debug Tool によってメインプログラム (ロード・モジュール) の名前に置き換えられます。

ユーザー ID の先頭文字は名前修飾子には無効な場合があります。 &USERID トークンの前に文字を連結して、それをユーザー ID の接頭部文字にすることができます。 例えば、トークンの前に文字 "P" を付けて、P&USERID とすることができます。P は、&USERID が現行ユーザー ID で置き換えられた後に有効になる名前修飾子です。 IMS の場合、&USERID トークンは以下の値のいずれかと置換されることが あります。

デフォルトの命名パターンは &USERID.DBGTOOL.EQAUOPTS です。 これは、hlq.SEQAMOD で提供されるロード・モジュール内のパターンです。

下表に、名前パターンと、それに対応した、Debug Tool がトークンを値で置き換えた後のデータ・セット名の例を示します。

表 15. データ・セット命名パターン、トークンの値、および結果のデータ・セット名
命名パターン ユーザー ID プログラム名 ユーザー ID が置き換えられた後の名前
&USERID.DBGTOOL.EQAUOPTS JOHNDOE JOHNDOE.DBGTOOL.EQAUOPTS
P&USERID.EQAUOPTS 123456 P123456.EQAUOPTS
DT.&USERID.TSTOPT TESTID DT.TESTID.TSTOPT
DT.&USERID.&PGMNAME.TSTOPT TESTID IVP1 DT.TESTID.IVP1.TSTOPT

TEST ランタイム・オプションを持つデータ・セットの命名パターンをカスタマイズするには、サンプル・ユーザー出口にある DSNT DC ステートメントの値を変更します。例えば、次のようになります。

* Modify the value in DSNT DC field below.
*
* Note: &USERID below has one additional '&', which is an escape
*       character.
*
DSNT_LN         DC  A(DSNT_SIZE)  Length field of naming pattern
DSNT            DC  C'&&USERID.DBGTOOL.EQAUOPTS'
DSNT_SIZE       EQU *-DSNT        Size of data set naming pattern
*

メッセージ表示レベルの変更

CEEBXITA のメッセージ表示レベルを変更できます。 WTO メッセージ表示レベルを設定する値を以下に示します。

X'00'
いかなるメッセージも表示しない。
X'01'
エラー・メッセージと警告メッセージを表示する。
X'02'
エラー・メッセージ、警告メッセージ、および診断メッセージを表示する。

デフォルト値 (hlq.SEQAMOD のロード・モジュールに入っている) は X'00' です。

メッセージ表示レベルをカスタマイズするには、サンプル・ユーザー出口にある MSGS_SW DC ステートメントの値を変更します。 例えば、次のようになります。

* The following switch is to control WTO message display level.
*
*   x'00' - no messages
*   x'01' - error and warning messages
*   x'02' - error, warning, and diagnostic messages
*
MSGS_SW         DC  X'00'         message level
*

CEEBXITA の 2 つのリンク方法の比較

以下の方法で CEEBXITA ユーザー出口をリンクできます。

このユーザー出口をアプリケーション・プログラムへリンクし、同時に、アプリケーションの実行のロード・モジュール検索パス内にある言語環境プログラム・ランタイム・ロード・モジュールの専用コピーにもリンクした場合は、アプリケーション・ロード・モジュール内のユーザー出口のコピーが使用されます。

アプリケーション・プログラムへの CEEBXITA ユーザー出口のリンク

CEEBXITA ユーザー出口をアプリケーション・プログラムにリンクすることを選択した場合は、次のサンプル JCL を使用してください。これは、ユーザー出口をプログラム TESTPGM とリンクします。ユーザー出口をカスタマイズして専用ライブラリーに配置した場合、最初の SYSLIB DD ステートメントのデータ名 (hlq.SEQAMOD) を、変更したユーザー出口ロード・モジュールが含まれるデータ・セット名で置換します。

//SAMPLELK JOB ,                                                    
// MSGCLASS=H,TIME=(,30),MSGLEVEL=(2,0),NOTIFY=&SYSUID,REGION=0M    
//*                                                                 
//LKED    EXEC PGM=HEWL,REGION=4M,                                  
//             PARM='CALL,XREF,LIST,LET,MAP,RENT'                   
//SYSLMOD  DD DISP=SHR,DSN=USERID.OUTPUT.LOAD                       
//SYSPRINT DD DISP=OLD,DSN=USERID.OUTPUT.LINKLIST(TESTPGM)          
//SYSUT1   DD  UNIT=SYSDA,SPACE=(1024,(200,20))                     
//*                                                                 
//SYSLIB   DD DISP=SHR,DSN=hlq.SEQAMOD                             
//         DD DISP=SHR,DSN=CEE.SCEELKED                             
//*                                                                 
//OBJECT   DD DISP=SHR,DSN=USERID.INPUT.OBJECT                      
//SYSLIN   DD *                                                     
     INCLUDE OBJECT(TESTPGM)                                        
     INCLUDE SYSLIB(EQADICXT)                                       
     NAME TESTPGM(R)                                               
/*   

言語環境プログラム・ランタイム・モジュールの専用コピーへの CEEBXITA ユーザー出口のリンク

言語環境プログラムのランタイム・ロード・モジュールの専用コピーをカスタマイズすることを選択した場合は、確実にそれらのロード・モジュールの専用コピーが、使用するランタイム環境内の CEE.SCEERUN のシステム・コピーより前に配置されるようにしなければなりません。

次の表に、各環境に必要な言語環境プログラム・ランタイム・ロード・モジュールとユーザー出口を示します。

表 16. さまざまな環境に必要となる言語環境プログラム・ランタイム・ロード・モジュールとユーザー出口
環境 ユーザー出口名 CEE ロード・モジュール
WLM で確立されたアドレス・スペース内で実行される、タイプ MAIN の DB2 ストアード・プロシージャー EQADDCXT CEEPIPI
IMS TM および BTS EQADICXT CEEBINIT
バッチ EQADBCXT CEEBINIT

サンプル hlq.SEQASAMP(EQAWLCEE) を編集して実行し、これらの更新された言語環境プログラム・ランタイム・ロード・モジュールを作成します。通常、これは Debug Tool をインストールするシステム・プログラマーが行います。 サンプルは以下のロード・モジュール・データ・セットを作成します。

それらのモジュール (CEEPIPI または CEEBINIT) に影響を及ぼす保守を言語環境プログラムに適用する場合、または新しいレベルの言語環境プログラムに移行する場合は、サンプルを再実行してそれらのモジュールの専用コピーを再ビルドする必要があります。

呼び出し方法 E を使用する場合、Debug Tool Utilities の ISPF パネルのオプション 8 「バッチ・デバッグ用 JCL (JCL for Batch Debugging)」では hlq.BATCH.SCEERUN が使用されます。

TEST ランタイム・オプション・データ・セットの作成と管理

TEST ランタイム・オプション・データ・セットは、言語環境プログラムのランタイム・オプションを含む MVS データ・セットです。 Debug Tool 言語環境プログラムユーザー出口 (EQADDCXT、 EQADICXT、および EQADBCXT) は、「Debug Tool カスタマイズ・ガイド」の 『命名パターンの変更 』で説明されている命名パターンに基づき、このデータ・セットの名前を構成します。

このデータ・セットを作成するには、以下の手順を実行します。

  1. Debug Tool Utilities を開始して、オプション 6 「Debug Tool ユーザー出口データ・セット」を選択します。
  2. 新規データ・セットまたは既存データ・セットの名前を指定します。名前は命名パターンと一致している必要があります。 命名パターンがわからない場合は、システム管理者にお問い合わせください。 以下の規則に従ってください。
  3. フィールドの残りに、使用する TEST ランタイム・オプションと デバッグする追加プログラム名を 8 個まで入力します。

ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)