CCDB (CICS COBOL-IT デバッグ構成トランザクション (Linux CICS のみ))

COBOL-IT Developer Studio を使用して COBOL-IT アプリケーション・プログラムをデバッグできるように CICS を構成します。

構文

CCDB [Key]

Key は CCDB と共に指定するオプション・パラメーターで、固有の 8 文字のストリングです。このストリングには、英数字と下線を含めることができます。Key は、同じ CICS ユーザーでの異なるデバッグ構成を区別するために使用できます。

説明

CCDB は CICS 提供トランザクションであり、COBOL-IT Developer Studio を使用して COBOL-IT アプリケーション・プログラムをデバッグできるように CICS を構成するために使用されます。 CCDB は、次の名前付きリソースに基づいてデバッグを構成します。
  • 端末 (termid で識別されます)
  • システム (sysid で識別されます)
  • トランザクション (transid で識別されます)
  • プログラム (プログラム名で識別されます)

デバッグ構成は、上記の名前付きリソースと DebugId で構成されます。DebugId は、COBOL-IT でリバース・アタッチを実行するために必要です。 CCDB の実行時に Developer Studio のデバッガーは起動されないことに注意してください。 CCDB は完全に独立したトランザクションであり、名前付きリソースに基づくデバッグ専用に構成されます。CCDB は、次の COBOL-IT トランザクションが実行されたときにのみ COBOL-IT デバッガーに接続されます。ただし、CCDB によって設定されたすべての基準をトランザクションが満たしていることが条件です。

異なる構成を区別するために、CCDB はデータをユーザー・プリンシパルごとに保管します。CCDB にアクセスする前に、ご使用のユーザー ID でサインオンする必要があります。 この操作を行うことによって、構成の競合を防ぐことができます。例えば、ユーザー A はユーザー B の構成を変更できないようにすることが推奨されます。複数のユーザーを定義できない場合、固有の Key を使用して、同じユーザーの異なる構成を区別できます。例えば、組織で CICSUSER のみを使用する場合、ユーザーは Key (CCDB のパラメーターとして入力します) を使用して競合を回避できます。CCDB データを変更する場合、ユーザーは各自が所有する Key を使用して CCDB に入る必要があります。このようなキーはすべて、サインオンしたユーザー ID に固有のキーになります。例えば、CICSUSER が一群の人たちがサインオンするために使用するユーザーである場合、そのグループのキーは CICSUSER の ID ごとに保管されます。

複数のユーザーがいて、デバッグ用に CICSUSER というユーザー ID を全員で使用する場合には、例えば CCDB USR1 (USR1 は固有キー) のようにキーを使用して、各デバッグ・セッションを一意的に識別する必要があります。このキーは CCDB 画面の KEY フィールドに表示されます。代わりの方法として、固有の cics user id を使って CICS にログインすることもできます。

すべての CCDB 構成データは、領域メモリー内に保管されるため、領域の特定の実行に固有のデータになります。領域を停止し、再始動した場合、デバッグを実行する前に CCDB を再実行する必要があります。

オプション

Debug Id
10 桁の整数で、有効な範囲は 1 から 2147483647 までです。 CCDB が設定した基準を満たしている状態で、トランザクションが実行されると、CICS はこの Debug Id を使用して、プログラムでデバッグを使用できるようにします。Debug Id は、CCDB の必須フィールドです。構成が既に存在する場合、Debug Id フィールドにはその構成の現行値が格納されます。
ON
名前付きリソース用のデバッグ構成を作成することを指定します。CCDB を呼び出すと、デフォルトで ON が設定されます。
オフ
デバッグを OFF に切り替えると、名前付きリソース用のデバッグ構成が除去されます。リソースが指定されていない場合、このユーザー ID (またはキー) のすべてのリソース用の構成が除去されます。PF2 キーを押すと、デバッグのオンとオフが切り替わります。
キー
パラメーターを指定せずに CCDB を呼び出した場合 (デフォルト) に、現在サインオンしているユーザー ID を示す、編集不可能なフィールドです。それ以外の場合、このフィールドは、CCDB の呼び出し時にパラメーターとして入力された Key を示します。
TERMID=termId
テストするトランザクションを実行する端末の ID を 4 文字で指定します。これは CADB を呼び出す端末の場合もあれば、そうでない場合もあります。他のリソースが指定されていない場合、termId のデフォルトは現在の端末の ID になります。この端末は、端末自動インストールで生成された場合を除き、端末定義 (WD) で定義する必要があります。

自動インストールされた端末の ID を検索するには、CEMT INQ TERMINAL トランザクションを実行します。このトランザクションは、CICS 領域にログオンしているすべての端末をリストします。あるいは、/var/cics_regions/region_name/data/CSMT.out のファイル内にある CSMT ログの自動インストール・メッセージを調べる方法もあります。

SYSID=sysId
診断するトランザクションが開始されるリモート・システム (CICS 領域または CICS クライアント) の ID を 4 文字で指定する必要があります。SYSID は自動インストールできますが、リモート領域の場合は、通信定義 (CD) で定義されている領域を指定する必要があります。
TRANSID=transId
診断するトランザクションの ID を指定します。
PROGRAM=programName
診断するプログラムの名前を指定します。

CCDB 画面の使用

CCDB の初回呼び出し時には、次のような画面が表示されます。

CCDB      CICS COBOL-IT Debug Configuration Transaction


Debug Id:

                                 DEBUG             :ON
The configuration key is         KEY              :CICSUSER
To configure for a terminal      TERMID           :(      )
To configure for a system        SYSID            :(      )
To configure for a transaction   TRANSID          :(      )
To configure for a program       PROGRAM          :(      )





ENTER:    COMMIT SELECTION
PF1 : HELP                 PF2 : DEBUG ON/OFF          PF3 : EXIT
PF4 : MESSAGES             PF5 : UNDEFINED             PF6 : UNDEFINED
PF7 : UNDEFINED            PF8 : UNDEFINED             PF9 : UNDEFINED
PF10: UNDEFINED            PF11: UNDEFINED             PF12: UNDEFINED 

データ入力フィールドは括弧で示されています。データ入力フィールドには、パラメー ター用のデータを入力できます。

必要なフィールドに入力したら、主画面で ENTER を押します。

PF キー

各 PF キーの機能は次のとおりです。

PF1
オンライン・ヘルプを表示します。
PF2
デバッグ状態のオンとオフを切り替えます。
PF3
CCDB を終了します。 端末には、正常に終了したことを示すメッセージが表示されます。
重要: CCDB は会話型トランザクションです。CICS® Application Server プロセスが解放されるのは、PF3 を使用して CCDB を終了した場合のみです。
PF4
前のメッセージを表示します。

CCDB の使用

CCDB を呼び出す前に、RD.stanza の AllowDebugging フラグを「yes」に設定します。CCDB は常に端末から呼び出す必要があります。ただし、これはローカルの端末でもリモートの端末でも (例えばリモート領域からの cicslterm) 構いません。 CCDB は次の方法で呼び出すことができます。
  • パラメーターを指定しないデフォルトの方法。この方法では、ユーザーごとに構成を行います。
  • 固有の Key として識別されるパラメーターを指定する方法。ただし、CCDB に一度に指定できるパラメーターは 1 つのみです。この方法では、(特定のユーザーの) Key ごとに構成を行います。
注: cicslterm 画面を消去してから CCDB トランザクションを呼び出すことをお勧めします。理由は、CCDB が、画面に表示されているすべての文字を入力データとして読み取り、それらの妥当性検査を試みようとするためです。検証に失敗した場合、無効なキーが原因で異常終了する可能性があります。

CCDB 画面で、Debug ID とその他の名前付きリソースを明示的に入力します。Enter を押すと、CCDB はデータの妥当性検査を行い、そのデータを領域メモリーに保管します。構成が成功または失敗したことを示すメッセージは、同じ画面に表示されます。このメッセージは、どの Debug ID に対して、どのリソースの構成がどの Key で成功したかを示します。CCDB では、少なくとも Debug ID を入力する必要があります。他のリソースが言及されていない場合、CCDB のデフォルトは、自動インストールされた現在の TermID になります。

デフォルトでは常に、デバッグは開始時にオンになります。デバッグ構成をオンまたはオフにするには、PF2 を使用します。ユーザーは、デバッグ構成を除去する場合、デバッグをオフに設定します。デバッグ構成の除去に関するさまざまな条件を次に示します。
  • 除去できるのは、CCDB 画面で指定されたリソースのデバッグ構成のみです。
  • リソースが指定されず、Debug ID のみが指定されている場合、そのユーザー (またはキー)、およびそのユーザー ID (またはキー) のすべてのリソースのデバッグが完全にオフになります。

必要な情報を CCDB 画面に入力したら、Enter を押して構成解除を完了します。PF2 を押すと、デバッグ状態のオンとオフが切り替わるのみで、構成は除去されません。

注: TermID と SysID のデバッグ構成が、PF2 を使用して除去されていない場合、それらの構成は、CICS が、自動インストールされた TermID と SysID をアンインストールしたときに削除されます。

リソースとキーまたはユーザーに対するデバッグ状態の変更は、すべてコンソール内にログ記録されるため、ユーザーは構成を追跡できます。

CICS COBOL-IT アプリケーション・プログラムが実行されるたびに、CICS は次の項目を検査して、そのプログラムをデバッグできるようにする必要があるかどうかを判断します。
  1. AllowDebugging が設定されているかどうかを検査します。設定されていない場合、それ以上検査は行われず、プログラムは完了まで COBOL-IT デバッガーに接続されることなく実行されます。実稼働環境では AllowDebugging を設定しないようにしてください。
  2. この領域で CCDB が実行されているかどうかを検査します。AllowDebugging が設定されている場合でも、プログラムのデバッグを行う前に CCDB を実行する必要があります。
  3. 現在のユーザー (サインオンしている CICS ユーザー) の場合、CCDB の構成を検査して、いずれかのトリガー・リソースでデバッグが構成されているかどうかを判別します。リソースは次の順序に従って検査されます。
    1. TermID: トランザクションがこの端末から実行されているか。
    2. SysID: トランザクションがこのシステムからの要求に応じて実行されているか。
    3. TransID: このトランザクションは、構成するトランザクションと同一であるか。
    4. プログラム: 実行されているプログラムは構成済みであるか。

リソースは上記の順序で検査されるため、TermID が、CCDB で構成された TermID と一致した場合、その TermID で実行されるすべてのトランザクションをデバッグできます。TermID が一致しない場合は、その他のリソースが所定の順序に従って検査されます。いずれかのリソースが、CCDB で構成されたリソースと一致した場合、現在のプログラムが COBOL-IT デバッガーに接続されます。プログラムの完了後、デバッグは停止し、プログラム自体がデバッガーから切り離されます。COBOL-IT デバッガーのセットアップ方法と、その動作については、アプリケーションの検査とデバッグを参照してください。