Rational Developer for System z バージョン 7.6

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

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

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

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

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

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

表 13. さまざまな環境用の言語環境プログラムユーザー出口
環境 ユーザー出口名
WLM で確立されたアドレス・スペース内で実行される、タイプ MAIN の DB2® ストアード・プロシージャー1 EQADDCXT
IMS™ TM および BTS2 EQADICXT
バッチおよび BTS EQADBCXT
注:
  1. EQADDCXT は、DB2 バージョン 7 以降用にサポートされています。DB2 RUNOPTS を指定した場合でも、EQADDCXT は DB2 RUNOPTS より優先されます。
  2. 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 の先頭文字は名前修飾子には無効な場合があります。 ユーザー ID の接頭部文字として機能する文字を &USERID トークンの前に連結できます。例えば、トークンの前に文字 "P" を付けて、P&USERID とすることができます。P は、&USERID が現行ユーザー ID で置き換えられた後に有効になる名前修飾子です。

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

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

表 14. データ・セット命名パターン、トークンの値、および結果のデータ・セット名
命名パターン ユーザー 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 のシステム・コピーより前に配置されるようにしなければなりません。

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

表 15. さまざまな環境に必要となる 言語環境プログラム ランタイム・ロード・モジュールとユーザー出口
環境 ユーザー出口名 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 ランタイム・オプション・データ・セットには、プログラム名リストの値、TEST ランタイム・オプション・ストリング、 およびその他の 言語環境プログラム ランタイム・オプション・ストリングが含まれています。 このデータ・セットを作成および管理するには、Debug Tool Utilities の ISPF パネルのオプション 6「Debug Tool User Exit Data Set」を使用します。 呼び出し方法の E または A を使用する場合は、オプション 8 「バッチ・デバッグ用 JCL (JCL for Batch Debugging)」でもこのデータ・セットが使用されます。

このデータ・セットには以下の要件があります。


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

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