このドキュメントでは、Adabas がサポートしているコマンドログのフォーマット、およびコマンドログのユーティリティについて説明します。
最初のフォーマット(CLOGLAYOUT=5 で起動)は、サポート対象のすべての Adabas メインフレームでサポートされており、デフォルトのフォーマットです。
2 番目のフォーマット(CLOGLAYOUT=8 で起動)は、Adabas バージョン 8 以降でのみサポートされています。 このフォーマットには、CLOGLAYOUT=5 で起動したときの情報がすべて含まれますが、各バッファの先頭にも、対応する Adabas バッファ記述(ABD)が付加されます。 各セグメントバッファ(フォーマット、レコード、またはマルチフェッチ)は別々に書き込まれ、一意に識別されます。
この 2 つのコマンドログのフォーマットに対応する DSECT は次のとおりです。
CLOGLAYOUT=5 の場合は LOREC
CLOGLAYOUT=8 の場合は LORECX
このドキュメントでは、次のトピックについて説明します。
コマンドログレイアウト 5 は、次の 2 つのログレコードタイプで構成されます。
基本ログレコードタイプ(x'0001')は、非クラスタニュークリアスで処理されたすべてのコマンド、およびリモートニュークリアスから到着し内部コマンドキューエレメント(ICQE)の下で実行されたすべてのコマンドに対して作成されます。
非同期要求ログレコードタイプ(x'0002')は、他のニュークリアスにコマンドを送信するニュークリアスで作成されます。 このレコードタイプは Adabas ニュークリアスクラスタ環境でのみ使用されます。
CLOGLAYOUT=5 レコードのレイアウトにマッピングされる DSECT は、LOREC と呼ばれ、ADAvrs.SRCE ライブラリの中にあります。
拡張 I/O リストの I/O リスト要素には、コントロールバイト、RABN に加えて、RABN の実体が存在するボリュームの名前が格納されます。 コントロールバイトでは、X'40' ビットがオンになります。 I/O リストの最後には、6 バイトのボリューム名が付加されます。
例えば、RABNSIZE が 3 でバイト 1 が次のようになっているとします。
41 = Associator read 42 = Associator write ... 46 = Work write
この場合、バイト 2~4 には、読み込みまたは更新対象の RABN(3 バイト)が格納され、バイト 5~10 には、RABN の実体が存在するボリュームの名前が格納されます。
また、例えば、RABNSIZE が 4 でバイト 1 が次のようになっているとします。
C1 = Associator read C2 = Associator write ... C6 = Work write
この場合、バイト 2~5 には、読み込みまたは更新対象の RABN(4 バイト)が格納され、バイト 6~11 には、RABN の実体が存在するボリュームの名前が格納されます。
コマンドログレイアウト 8 は、次の 2 つのログレコードタイプで構成されます。
基本ログレコードタイプ(x'0001')は、非クラスタニュークリアスで処理されたすべてのコマンド、およびリモートニュークリアスから到着し内部コマンドキューエレメント(ICQE)の下で実行されたすべてのコマンドに対して作成されます。
非同期要求ログレコードタイプ(x'0002')は、他のニュークリアスにコマンドを送信するニュークリアスで作成されます。 このレコードタイプは Adabas ニュークリアスクラスタ環境でのみ使用されます。
CLOGLAYOUT=8 レコードのレイアウトにマッピングされる DSECT は、LORECX と呼ばれ、ADAvrs.SRCE ライブラリの中にあります。
コマンドタイプフィールド(LOREC DSECT 内の 16 進オフセット 12、LORECX DSECT 内の 16 進オフセット 23)に格納されるコマンドタイプは次のとおりです。
更新 | A1/A4、E1/E4、N1/N2 |
単純 | 検索引数が 1 つの非更新コマンド |
複合 | 検索引数が複数の非更新コマンド |
コマンドタイプフィールドには、コマンドには関係のない情報が格納されることもあります。 したがって、次のバイナリマスクを使ってフラグをテストする必要があります。
B'xxxx xusc'
u は更新を表すフラグのビット、s は単純を表すフラグのビット、c は複合を表すフラグのビットです。
リモートニュークリアスフィールド(LOREC DSECT のオフセット 4D、LORECX DSECT のオフセット 1C)には、リモートニュークリアス ID が格納されます。
コマンドが別のニュークリアスから実行される基本的なログレコードタイプ(x'0001')の場合、このフィールドには、コマンドを送信したニュークリアスの ID が格納されます。 ローカルで実行されたコマンドと非クラスタニュークリアスの場合は、ゼロのままです。
非同期要求ログレコードタイプ(x'0002')の場合は、このフィールドにはコマンド送信先のニュークリアスの ID が格納されます。 暗黙的なブロードキャスト(GLOBAL および SYSTEM)の場合はゼロ、明示的なブロードキャスト(宛先のリスト)の場合は最初の宛先の ID が格納されます。 CLOG レコードには、最初(または唯一)の宛先に関連する Adabas コントロールブロック、バッファ、(該当する場合)Adabas バッファ記述(ABD)、および要求のイニシエータのジョブ名とコミュニケーション ID が格納されます。
LOREC DSECT のオフセット 58 または LORECX DSECT のオフセット 1A にあるニュークリアス ID フィールドは、コマンドを実行しているニュークリアスの ID を表します。 クラスタ環境では、ニュークリアス ID は SMPID または PLXID のいずれかであり、非クラスタ環境では、ゼロ(0)です。
CLOGLAYOUT=8 を使用して作成された Adabas 8 コマンドログのタイムスタンプは、マシンタイム(GMT)で格納されます。一方、CLOGLAYOUT=5 タイムスタンプは常にローカルタイムで格納されます。 CLOGLAYOUT=8 を指定してコマンドログを作成した場合、LORECX レコードレイアウトには、CLOG レコードが書き込まれた時点のマシンタイムとローカルタイムの差が格納された時間差フィールドが含まれます。 このフィールドにより、コマンドログレコードのローカルタイムの計算が可能になります。
CLOGLAYOUT=5 および CLOGLAYOUT=8 コマンドログで使用されるタイムスタンプ形式の違いにより、異なる CLOGLAYOUT 設定を用いて作成されたコマンドログを混在させたり、マージしたりすることはお勧めしません(実際にクラスタ、または Parallel Services 環境の Adabas では許可されていません)。 無理に実行すると、予測できない結果が生じます。
クラスタ環境では、すべての Adabas ニュークリアスに使用するコマンドログは、同じ CLOGLAYOUT 設定を使用して作成する必要があります。 別々の設定を使用すると、予測できない結果が生じます。
Adabas の PRILOG 出力プログラムを使用すると、バージョン 5 またはバージョン 8 のコマンドログレイアウト形式の Adabas コマンドログの内容を読み込み、出力することができます。
注意:
バージョン 5 のコマンドログレイアウトの場合、拡張 I/O
リストのボリューム名が出力されることがあります。
PRILOG は、シーケンシャルな Adabas コマンドログを読み取ります。このコマンドログは、Adabas ニュークリアス(DD/LOG ファイル)によって直接生成されるか、Adabas ニュークリアスが複数のコマンドロギングを使用する場合には ADARES CLCOPY ユーティリティによって生成されます。
PRILOG の形態は、ソース形式、オブジェクト形式の両方です。
注意:
PRILOG をカスタマイズすることは可能ですが、プログラムを変更するとサポートの対象外になります。
z/OS、VSE、および BS2000 オペレーティングシステムの場合、ソースは 3 つのモジュール(PRILOG、CCSTCK、PRILOGD)で構成されます。 これらのモジュールは、旧バージョンの Adabas に組み込まれていたすべての PRILOG の代わりに使用することができます。
PRILOG モジュールのうち 2 つはシステムに依存しないコンポーネントで、1 つはオペレーティングシステムに依存するコンポーネントです。
PRILOG | コントロールステートメントを解釈し、CLOG レコードからレポート行を生成します。 |
CCSTCK | 出力を実行する前に、CLOG レコードに格納されている内部形式のタイムスタンプ情報を、ユーザーが理解できる形式に変換します。このモジュールは、2000 年問題に対応しています。 CCSTCK は独立したモジュールなので、他のプログラムから使用することも可能です。 |
PRILOGD | 入力コントロールカードのイメージと、CLOG レコードを取得し、行を出力します。 PRILOGD はシステムに依存するモジュールです。 このモジュールには、多数のパラメータが含まれており、その説明がソースの中に記述されています。 |
このセクションでは、次のトピックについて説明します。
PRILOG プログラムの入力には、CLOG レコードとコントロールステートメントが必要です。
コントロールステートメント指定の開始位置は、列 1 から列 7 までです。まず "PRILOG" というプログラム名、次に 1 つ以上のスペースを空けて、パラメータを入力します。
パラメータは、列 71 まで入力することができます。 この制限を超えて入力したり、1 つのパラメータを分割して指定したりすることはできません。 パラメータが 1 つのステートメントに入りきらない場合は、別の PRILOG ステートメントに入力します。
コメント行はアスタリスク(*)で開始します。 コメントはパラメータ文字列の右側に追加することもできます。この場合、コメントとパラメータ値の間に 1 つ以上のスペースを空けます。
PRILOG コントロールステートメントには次の 3 つのパラメータを入力することができます。
CLOGLAYOUT パラメータには、PRILOG プログラムの入力に使用する CLOG レコードの形式を指定します。 有効な値は 5 と 8 です。デフォルト値は 5 です。 構文は次のとおりです。
CLOGLAYOUT={5 | 8}
FIELDS パラメータには、出力する CLOG レコードの項目(複数可)を指定します。 構文は次のとおりです。
FIELDS= { ( item, ... ) | ( LIST) }
item は次のいずれかで置き換えます。
項目 | 説明 |
---|---|
ACBX | Adabas 拡張コントロールブロック |
FB | フォーマットバッファ |
IB | ISN バッファ |
IOL | I/O リスト |
LIST | Adabas コントロールブロックフィールドのリスト |
MB | マルチフェッチバッファ |
PB | パフォーマンスバッファ |
RB | レコードバッファ |
SB | サーチバッファ |
UXB | ユーザー出口 B バッファ |
VB | バリューバッファ |
VERB | 詳細レポート(下記参照) |
デフォルト値は "LIST" です。 複数の items を任意の順番で指定することができます。
FIELDS パラメータに指定したデータ項目が ADALOG セッションの実行中に検出されない場合、CLOG レコードには存在しないものとして扱われ、そのデータ項目を出力する要求は無視されます。
"VERB" を指定すると、詳細な出力情報が生成されます。 アディション 1、アディション 2、およびアディション 5 フィールドと、全コミュニケーションの ID も出力されます。 これらの値はすべて 16 進形式で表示されます。 さらに、DIMENSIONS パラメータを指定して出力範囲を縮小した場合には、列に出力されないフィールドが、詳細情報に出力されます。
出力形式を指定する場合には、オプションの DIMENSIONS パラメータを使用します。 列数は 80、133、または 163 にする必要がありますが、行数には任意の値を指定できます。 行数が指定されなかった場合、改ページはなくなり、列ヘッダーは 1 回だけ出力されます。 DIMENSIONS パラメータの構文は次のとおりです。
DIMENSIONS=({80[, x] | 133[, x] | 163[, x] | OLD})
CLOGLAYOUT=5 が指定されているときに、DIMENSIONS パラメータを指定しない場合は、従来どおり 118 列、58 行の出力が生成されます。 DIMENSIONS を指定した場合は、指定した内容に従って、新しい出力形式が生成されます。
CLOGLAYOUT=8 が指定されているときに、DIMENSIONS パラメータを指定しない場合は、デフォルトの出力になり、改ページなしの 163 列になります。 CLOGLAYOUT=8 ログの場合に従来どおりの 118 列、58 行の出力形式で生成するには、DIMENSIONS=OLD を指定します。
このセクションで説明するコマンド選択パラメータを使用すれば、PRILOG の出力を制限することができます。
CLASS パラメータを使用すると、指定したコマンドクラスにコマンドコードが属するログレコードを選択できます。 CLASS パラメータの構文は次のとおりです。
CLASS=(keyword[,keyword]...)
次の表は指定可能な keywords の一覧です。
キーワード | 含まれるコマンド |
---|---|
CONTROL | BT、CL、C1、C3、C5、ET、HI、OP、MC、RC、RE、または RI |
FIND | S1、S2、S4、S8、または S9 |
READ | LF、L1、L2、L3、L4、L5、L6、または L9 |
UPDATE | A1、E1、I1、N1、または N2 |
次の例では、FIND および UPDATE キーワードに含まれるコマンドが選択されます。
PRILOG CLASS=(FIND,UPDATE)
COMMAND パラメータを使用すると、指定した Adabas コマンド名とコマンドが一致するログレコードを選択できます。 COMMAND パラメータの構文は次のとおりです。
COMMAND=(cmd[,cmd]...)
cmd には任意の有効な Adabas コマンドを指定できます。 次の例では、OP、S1、L1、E1、および CL コマンドのログレコードが選択されます。
PRILOG COMMAND=(OP, S1, L1, E1, CL)
DATE パラメータを使用すると、タイムスタンプが指定した開始日時と終了日時の範囲(指定日時を含む)にあるログレコードを選択できます。 DATE パラメータの構文は次のとおりです。
DATE=(start-dd-mmm-yyyy[:start-hh:mm:ss][,end-dd-mmm-yyyy[:end-hh:mm:ss]])
すべての時刻は 24 時間形式で指定してください。
DATE パラメータに指定する最初の日時は開始日時です。その次に指定する日時は終了日時です。 開始タイムスタンプと終了タイムスタンプはコンマで区切ります。 日付がタイムスタンプ範囲(指定日時を含む)にあるログレコードが選択されます。 次の例では、2006 年 10 月 10 日の 19:16:00.000~20:20:20.999 の範囲に発生したすべてのログデータが選択されます。
PRILOG DATE=(10-OCT-2006:19:16:00,10-OCT-2006:20:20:20)
時刻を指定する場合、日付は必須です。 時刻を指定しなかった場合、または時刻の一部のみを指定した場合、指定されなかった部分の値はゼロと見なされます。 例えば、"10-OCT-2006:19:16" と指定した場合は "10-OCT-2006:19:16:00" と解釈され、"10-OCT-2006:19" と指定した場合は "10-OCT-2006:19:00:00" と解釈されます。
開始タイムスタンプを指定しなかった場合、指定した終了タイムスタンプ以前のすべてのレコードが選択されます。 次の例では、2006 年 10 月 10 日の 20:20:20:999 以前に発生したすべてのログレコードが選択されます。
PRILOG DATE=(,10-OCT-2006:20:20:20)
終了タイムスタンプを指定しなかった場合、指定した開始タイムスタンプ以降のすべてのレコードが選択されます。 次の例では、2006 年 10 月 10 日の 20:00:00:000 以降に発生したすべてのログレコードが選択されます。
PRILOG DATE=(10-OCT-2006:20:00:00,)
コンマなしで日付を 1 つだけ指定した場合、選択されるレコードは指定したタイムスタンプに一致するものになります。 次の例では、10-OCT-2006:19:16:00.000~10-OCT-2006:19:16:00.999 の範囲で発生した(指定時刻を含む)すべてのログレコードが選択されます。
PRILOG DATE=(10-OCT-2006:19:16)
FILE パラメータを使用すると、指定したファイル番号のリストまたはファイル番号の範囲を参照するログレコードを選択できます。 FILE パラメータの構文は次のとおりです。
FILE=(num[-num][,num[-num]]...)
num には任意の有効な Adabas ファイル番号を指定できます。 最大で 10 個の範囲またはファイル番号値を指定できます。
次の例では、ファイル番号 10、20、または 30~40 を参照するログレコードが選択されます。
PRILOG FILE=(10,20,30-40)
LOGIN_ID パラメータを使用すると、特定のログイン ID への参照を含むログレコードを選択できます。 LOGIN_ID パラメータの構文は次のとおりです。
LOGIN_ID=string
string に指定可能なログイン ID は 1 つだけです。 次の例では、LOGIN_ID 列に XSCPCOC を含むすべてのログレコードが選択されます。
PRILOG LOGIN_ID=XSCPCOC
RECORDS パラメータを使用すると、指定したコマンドシーケンス番号またはコマンドシーケンス番号の範囲への参照を含むログレコードを選択できます。 RECORDS パラメータの構文は次のとおりです。
RECORDS=num[-num]
num には任意の有効なコマンドシーケンス番号を指定できます。 次の例では、101~677 の範囲のコマンドシーケンス番号を含むすべてのログレコードが選択されます。
PRILOG RECORDS=101-677
RESPONSE パラメータを使用すると、指定したレスポンスコードのリストまたはレスポンスコードの範囲を参照するログレコードを選択できます。 RESPONSE パラメータの構文は次のとおりです。
RESPONSE=(num[-num][,num[-num]]...)
num には任意の有効な Adabas レスポンスコードを指定できます。 最大で 10 個の範囲またはレスポンスコード値を指定できます。
次の例では、レスポンスコード 0、17、または 15~61 を参照するログレコードが選択されます。
PRILOG RESPONSE=(0,17,15-61)
USER_ID パラメータを使用すると、特定のユーザー ID への参照を含むログレコードを選択できます。 USER_ID パラメータの構文は次のとおりです。
USER_ID=string
string に指定可能なユーザー ID は 1 つだけです。 次の例では、USER_ID 列に XSCPCOC を含むすべてのログレコードを選択できます。
PRILOG USER_ID=XSCPCOC
PRILOG メッセージについては、『Adabas メッセージおよびコードマニュアル』に、PL6nnna(非依存)と PL6ann(システム依存)メッセージとして説明されています。
VSE 対応の PRILOG 出力プログラムは次のコンポーネントで構成されます。
メンバ | 説明 |
---|---|
PRILOG.A | 独立型 PRILOG アセンブリ言語ソースモジュール |
PRILOGD.A | VSE 依存型 PRILOG アセンブリ言語ソースモジュール |
CCSTCK.A | 独立型 Adabas STCK 変換アセンブリ言語ソースモジュール |
PRILOG.OBJ | PRILOG 用オブジェクトデッキ |
PRILOGD.OBJ | PRILOGD 用オブジェクトデッキ |
CCSTCK.OBJ | CCSTCK 用オブジェクトデッキ |
PRILOG.PHASE | PRILOG 対応の実行可能フェーズ |
ASMPRILO.X | PRILOG、CCSTCK、および PRILOGD コンポーネントのアセンブルとカタログ、PRILOG.PHASE へのリンクのためのサンプル VSE JCS |
JPRILOG.X | PRILOG ユーティリティ実行のためのサンプル VSE JCS |
PRILOG.PHASE は、特に準備をしなくてもライブラリから実行できますが、 PRILOG.PHASE のアセンブルとリンクを再度実行する必要がある場合は、次の事項に注意してください。
PRILOG.A、CCSTCK.A、および PRILOGD.A モジュールは、IBM の High Level Assembler(ASMA90)を使用してアセンブルする必要があります。
付属のサンプル JCS メンバ ASMPRILO.X は、サイトの要件に適合するように変更する必要があります。 JCS メンバに指定されているボリューム、エクステント情報、ライブラリ情報、サブライブラリ情報を確認してください。
PRILOG 出力プログラムを実行するには、静的または動的なパーティションのいずれかで PRILOG.PHASE を実行します。
PRILOG プログラムは次の 3 つのファイルを使用します。
ファイル | 説明 |
---|---|
SYSIPT | PRILOG コントロールカードデータ。SYSIPT に割り当てることが可能な有効なデバイスから読み込みことができます。 |
SYSLST | PRILOG レポートファイル。SYSLST に割り当てることが可能なデバイスに書き込むことができます。 |
SYS001(DDCLOG) | シーケンシャルコマンドログ入力ファイル。このファイルは IBM がサポートしている任意のディスクデバイスに配置するか、またはテープから読み込むことができます。 |
注意:
付属の JPRILOG.X JCS メンバは、PRILOG 出力プログラムの実行する環境の要件に応じて変更することができます。 エクステント、DLBL、サブライブラリ、およびボリューム情報の修正はジョブのサブミット前に行ってください。
z/OS 対応の PRILOG 出力プログラムは次のコンポーネントで構成されます。
メンバ | ライブラリ | 説明 |
---|---|---|
PRILOG | ADAvrs.MVSSRCE | 独立型 PRILOG アセンブリ言語ソースモジュール |
PRILOGD | ADAvrs.MVSSRCE | z/OS 依存型 PRILOG アセンブリ言語ソースモジュール |
CCSTCK | ADAvrs.MVSSRCE | 独立型 Adabas STCK 変換アセンブリ言語ソースモジュール |
ASMPRILO | ADAvrs.MVSJOBS | PRILOG、CCSTCK、および PRILOGD コンポーネントのアセンブリ、PRILOG ロードモジュールへのリンクのためのサンプル JCL |
JPRILOG | ADAvrs.MVSJOBS | PRILOG ユーティリティ実行のためのサンプル JCL |
PRILOG プログラムは次の 3 つのファイルを使用します。
ファイル | 説明 |
---|---|
DDCARD | 入力パラメータデータとして使用。QSAM でサポートされている 80 バイトレコードのシーケンシャルファイルを指定することもできます。 |
DDPRINT | 出力コマンドログレポートに使用されます。SYSOUT、または FBA レコードフォーマットの任意の 121 バイトレコードのデータセットに割り当てることができます。 |
DDCLOGIN | 入力シーケンシャルコマンドログファイルに使用されます。ADARES CLCOPY ユーティリティによって作成されたシーケンシャルファイル、またはシングルコマンドロギングを使用している場合は Adabas ニュークリアスによって作成されたダイレクト DDLOG シーケンシャルファイルである必要があります。 |
Adabas の PRILOGC 出力プログラムを使用すると、バージョン 5 またはバージョン 8 のコマンドログレイアウト形式の Adabas コマンドログの内容を読み込み、出力することができます。
PRILOGC は、シーケンシャルな Adabas コマンドログを読み取ります。このコマンドログは、Adabas ニュークリアス(DD/LOG ファイル)によって直接生成されるか、Adabas ニュークリアスが複数のコマンドロギングを使用する場合には ADARES CLCOPY ユーティリティによって生成されます。
PRILOGC の形態はソース形式のみです。
注意:
PRILOGC をカスタマイズすることは可能ですが、プログラムを変更するとサポートの対象外になります。 PRILOGC
を使用するには、Software AG から入手したソースをコンパイルする必要がありますが、ソースを変更する必要はありません。
PRILOGC のソースは、z/OS、VSE、Sun Solaris、および Windows オペレーティングシステムに対応しています。 これらのモジュールは、旧バージョンの Adabas に組み込まれていたすべての PRILOGC の代わりに使用することができます。
z/OS の場合に供給されるソースは、次のとおりです。
PRILOGC | プログラムの主要ロジック(C 言語で記述)。 |
CCSTCK | STCK 値を YYMMDD 形式に変換するコード(アセンブラで記述)。 |
ADABASX/ADACLGX/ADAENV/IODESAM | PRILOGC が使用する C 言語のヘッダーファイル。 |
JCL メンバ | |
ASMPRILC | CCSTCK ADABAS STCK 変換ルーチンのアセンブル、CCSTCK モジュールのリンクエディットのためのサンプル JCL。 IBM/C コンパイラを使用して PRILOGC のコンパイル、リンクを行うときにも、このメンバを使用できます。 |
JPRILOGC | PRILOGC 実行のためのサンプル JCL |
VSE の場合に供給されるソースは、次のとおりです。
PRILOGC.C | プログラムの主要ロジックが記述されているソース。 C 言語で記述されています。 |
CCSTCK.A | STCK 値を YYMMDD 形式に変換するためのソース。 アセンブラで記述されています。 |
TIMEPRT.A | 時刻データが含まれている 8 バイトフィールドを XXX.YYY MS 形式の文字列に変換するためのソース。 VSE C では long long 型がサポートされていないため、VSE 環境の場合はこのソースが必要になります。 DURation および SELection フィールドが出力の対象になっている場合には、このソースを PRILOGC で使用します。 アセンブラで記述されています。 |
ADABASX.H ADACLGX.H ADAENV.H IODESAM.H | PRILOGC が使用する C 言語のヘッダーファイル |
ASMPRILC.X | オプションで CCSTCK と TIMEPRT のアセンブル、PRILOGC のコンパイルおよびリンクを行うためのサンプル JCS。 |
JPRILOGC.X | PRILOGC 実行のためのサンプル JCS |
PRILOGC モジュールのうち 2 つはシステムに依存しないコンポーネントで、1 つはオペレーティングシステムに依存するコンポーネントです。
このセクションでは、次のトピックについて説明します。
PRILOGC プログラムの入力には、CLOG レコードとコントロールステートメントが必要です。
コントロールステートメントは stdin から読み込まれます。コントロールステートメントのパラメータは次のとおりです。
a: print Additions fields l: large line size b: dump with verbosity t: dump with traditional format - dump records in format used by earlier prilogc with Version 5 CLOGS c: dump Control Block f: dump Format Buffer r: dump Record Buffer s: dump Search Buffer u: dump User Buffer v: dump Value Buffer n: dump ISN Buffer 6: dump in Open System V6 Format 8: dump in Mainframe V8 Format x: dump exted Buffer (User Data) i: dump IO List h: dump help information d: output dimensions (columns,rows), where colums can be 80 or 133 or 163
例:-clfrsvbtnix -d=133,200
上記のデータ項目を指定しても、そのデータ項目が ADALOG セッションの実行中に検出されない場合、CLOG レコードには存在しないものとして扱われ、そのデータ項目を出力する要求は無視されます。
-b verbosity を指定すると、詳細な出力情報が生成されます。 アディション 1、アディション 2、およびアディション 5 フィールドと、全コミュニケーションの ID も出力されます。 これらの値はすべて 16 進形式で表示されます。 さらに、-d DIMENSIONS パラメータを指定して出力範囲を縮小した場合には、列に出力されないフィールドが、詳細情報に出力されます。
出力範囲を指定する場合には、オプションの DIMENSIONS パラメータ(-d=列数,行数)を使用します。 列数は 80、133、または 163 にする必要がありますが、行数には任意の値を指定できます。 行数が指定されなかった場合、改ページはなくなり、列ヘッダーは 1 回だけ出力されます。
このセクションで説明するコマンド選択パラメータを使用すれば、PRILOGC の出力を制限することができます。
CLASS パラメータを使用すると、指定したコマンドクラスにコマンドコードが属するログレコードを選択できます。 CLASS パラメータの構文は次のとおりです。
CLASS=(keyword[,keyword]...)
次の表は指定可能な keywords の一覧です。
キーワード | 含まれるコマンド |
---|---|
CONTROL | BT、CL、C1、C3、C5、ET、HI、OP、MC、RC、RE、または RI |
FIND | S1、S2、S4、S8、または S9 |
READ | LF、L1、L2、L3、L4、L5、L6、または L9 |
UPDATE | A1、E1、I1、N1、または N2 |
次の例では、FIND および UPDATE キーワードに含まれるコマンドが選択されます。
CLASS=(FIND,UPDATE)
COMMAND パラメータを使用すると、指定した Adabas コマンド名とコマンドが一致するログレコードを選択できます。 COMMAND パラメータの構文は次のとおりです。
COMMAND=(cmd[,cmd]...)
cmd には任意の有効な Adabas コマンドを指定できます。 次の例では、OP、S1、L1、E1、および CL コマンドのログレコードが選択されます。
PRILOGC COMMAND=(OP, S1, L1, E1, CL)
DATE パラメータを使用すると、タイムスタンプが指定した開始日時と終了日時の範囲(指定日時を含む)にあるログレコードを選択できます。 DATE パラメータの構文は次のとおりです。
DATE=(start-dd-mmm-yyyy[:start-hh:mm:ss][,end-dd-mmm-yyyy[:end-hh:mm:ss]])
すべての時刻は 24 時間形式で指定してください。 上記の日付フィールドの後に、時間、分、秒を任意で指定することができます。
日付パラメータに指定する最初の日時は開始日時です。その次に指定する日時は終了日時です。 開始タイムスタンプと終了タイムスタンプはコンマで区切ります。 日付がタイムスタンプ範囲(指定日時を含む)にあるログレコードが選択されます。 次の例では、2006 年 10 月 10 日の 19:16:00.000~20:20:20.999 の範囲に発生したすべてのログデータが選択されます。
DATE=(10-OCT-2006:19:16:00,10-OCT-2006:20:20:20)
時刻を指定する場合、日付は必須です。 時刻を指定しなかった場合、または時刻の一部のみを指定した場合、指定されなかった部分の値はゼロと見なされます。 例えば、"10-OCT-2006:19:16" と指定した場合は "10-OCT-2006:19:16:00" と解釈され、"10-OCT-2006:19" と指定した場合は "10-OCT-2006:19:00:00" と解釈されます。
開始タイムスタンプを指定しなかった場合、指定した終了タイムスタンプ以前のすべてのレコードが選択されます。 次の例では、2006 年 10 月 10 日の 20:20:20:999 以前に発生したすべてのログレコードが選択されます。
DATE=(,10-OCT-2006:20:20:20)
終了タイムスタンプを指定しなかった場合、指定した開始タイムスタンプ以降のすべてのレコードが選択されます。 次の例では、2006 年 10 月 10 日の 20:00:00:000 以降に発生したすべてのログレコードが選択されます。
DATE=(10-OCT-2006:20:00:00,)
コンマなしで日付を 1 つだけ指定した場合、選択されるレコードは指定したタイムスタンプに一致するものになります。 次の例では、10-OCT-2006:19:16:00.000~10-OCT-2006:19:16:00.999 の範囲で発生した(指定時刻を含む)すべてのログレコードが選択されます。
DATE=(10-OCT-2006:19:16)
FILE パラメータを使用すると、指定したファイル番号のリストまたはファイル番号の範囲を参照するログレコードを選択できます。 FILE パラメータの構文は次のとおりです。
FILE=(num[-num][,num[-num]]...)
num には任意の有効な Adabas ファイル番号を指定できます。 最大で 10 個の範囲またはファイル番号値を指定できます。
次の例では、ファイル番号 10、20、または 30~40 を参照するログレコードが選択されます。
FILE=(10,20,30-40)
LOGIN_ID パラメータを使用すると、特定のログイン ID への参照を含むログレコードを選択できます。 LOGIN_ID パラメータの構文は次のとおりです。
LOGIN_ID=string
string に指定可能なログイン ID は 1 つだけです。 次の例では、LOGIN_ID 列に XSCPCOC を含むすべてのログレコードが選択されます。
LOGIN_ID=XSCPCOC
RECORDS パラメータを使用すると、指定したコマンドシーケンス番号またはコマンドシーケンス番号の範囲への参照を含むログレコードを選択できます。 RECORDS パラメータの構文は次のとおりです。
RECORDS=num[-num]
num には任意の有効なコマンドシーケンス番号を指定できます。 次の例では、101~677 の範囲のコマンドシーケンス番号を含むすべてのログレコードが選択されます。
RECORDS=101-677
RESPONSE パラメータを使用すると、指定したレスポンスコードのリストまたはレスポンスコードの範囲を参照するログレコードを選択できます。 RESPONSE パラメータの構文は次のとおりです。
RESPONSE=(num[-num][,num[-num]]...)
num には任意の有効な Adabas レスポンスコードを指定できます。 最大で 10 個の範囲またはレスポンスコード値を指定できます。
次の例では、レスポンスコード 0、17、または 15~61 を参照するログレコードが選択されます。
RESPONSE=(0,17,15-61)
USER_ID パラメータを使用すると、特定のユーザー ID への参照を含むログレコードを選択できます。 USER_ID パラメータの構文は次のとおりです。
USER_ID=string
string に指定可能なユーザー ID は 1 つだけです。 次の例では、USER_ID 列に XSCPCOC を含むすべてのログレコードを選択できます。
USER_ID=XSCPCOC
VSE 対応の PRILOGC 出力プログラムは次のコンポーネントで構成されます。
メンバ | 説明 |
---|---|
PRILOGC.C | 独立型 PRILOGC アセンブリ言語ソースモジュール |
CCSTCK.A | 独立型 STCK 変換アセンブリ言語ソースモジュール |
TIMEPRT.A | VSE 専用の時間変換アセンブリ言語ソースモジュール |
PRILOGC.OBJ | PRILOGC 用オブジェクトデッキ |
CCSTCK.OBJ | CCSTCK 用オブジェクトデッキ |
TIMEPRT.OBJ | TIMEPRT 用オブジェクトデッキ |
ASMPRILC.X | CCSTCK と TIMEPRT のアセンブルとカタログ、PRILOGC のコンパイルと PRILOGC.PHASE へのリンクをオプションで行うためのサンプル VSE JCS |
JPRILOGC.X | PRILOGC ユーティリティ実行のためのサンプル VSE JCS |
VSE 環境で PRILOGC を実行するには、サンプルジョブ ASMPRILC.X のリンクエディットステップにあるリンケージエディタのコントロールステートメントを使用して、PRILOGC.PHASE をビルトする必要があります。
PRILOGC コンポーネントの再アセンブルまたは PRILOGC.PHASE のリンクを行うために ASMPRILC を実行する場合、次の事項に注意してください。
CCSTCK.A、TIMEPRT.A コンポーネントは、IBM の High Level Assembler(ASMA90)を使用してアセンブルする必要があります。
付属のサンプル JCS メンバ ASMPRILC.X は、サイトの要件に適合するように変更する必要があります。 JCS メンバに指定されているボリューム、エクステント情報、ライブラリ情報、サブライブラリ情報を確認してください。
PRILOGC 出力プログラムを実行するには、静的または動的なパーティションのいずれかで PRILOGC.PHASE を実行します。
PRILOGC プログラムは次の 3 つのファイルを使用します。
ファイル | 説明 |
---|---|
PARM データ | PRILOGC コントロールカードのパラメータデータ。JCS EXEC ステートメントの PARM= キーワードから渡されます。 |
SYSLST | PRILOGC レポートファイル。SYSLST に割り当てることが可能なデバイスに書き込むことができます。 |
SYS001(PRLIN) | シーケンシャルコマンドログ入力ファイル。このファイルは IBM がサポートしている任意のディスクデバイスに配置するか、またはテープから読み込むことができます。 |
注意:
付属の JPRILOGC.X JCS メンバは、PRILOGC 出力プログラムを実行する環境の要件に応じて変更することができます。 エクステント、DLBL、サブライブラリ、およびボリューム情報の修正はジョブのサブミット前に行ってください。
z/OS 対応の PRILOGC 出力プログラムは次のコンポーネントで構成されます。
メンバ | ライブラリ | 説明 |
---|---|---|
PRILOGC | ADAvrs.MVSSRCE | C 言語で記述された独立型 PRILOGC ソースモジュール。 |
CCSTCK | ADAvrs.MVSSRCE | 独立型 Adabas STCK 変換アセンブリ言語ソースモジュール。 |
ASMPRILC | ADAvrs.MVSJOBS | CCSTCK のアセンブルとリンク、PRILOGC ロードモジュールのコンパイルとリンクのためのサンプル JCL。 |
JPRILOGC | ADAvrs.MVSJOBS | PRILOGC ユーティリティ実行のためのサンプル JCL。 |
z/OS 環境で PRILOGC を実行するには、サンプルジョブ ASMPRILC のコンパイルとリンクステップを実行して、PRILOGC ロードモジュールをビルトする必要があります。
PRILOGC プログラムは次の 3 つのファイルを使用します。
ファイル | 説明 |
---|---|
PARM データ | PRILOGC コントロールカードのパラメータデータ。JCL EXEC ステートメントの PARM= キーワードから渡されます。 |
SYSPRINT | 出力コマンドログレポートに使用されます。SYSOUT、または FBA レコードフォーマットの任意の 121 バイトレコードのデータセットに割り当てることができます。 |
PRLIN | 入力シーケンシャルコマンドログファイルに使用されます。ADARES CLCOPY ユーティリティによって作成されたシーケンシャルファイル、またはシングルコマンドロギングを使用している場合は Adabas ニュークリアスによって作成されたダイレクト DDLOG シーケンシャルファイルである必要があります。 |