• 検索結果がありません。

トレースへの文字列の出力

ドキュメント内 PowerRDBconnector説明書 Oracle編 (ページ 168-174)

第5章 エラー時の対処

5.2 トレース出力機能

5.2.3 トレース情報の内容

5.2.3.3 トレースへの文字列の出力

注意

セッションの変更サブルーチンのトレース出力について

セッションの変更サブルーチン(COB_PRDB_CHG)を実行しても、トレース出力されません。トレースに、変更したセッションIDの情報 を出力したい場合には、トレースへの文字列出力サブルーチンを使用してください。詳細は、「5.2.3.3 トレースへの文字列の出力」を 参照してください。

XMROLOGサブルーチン(シングルセッション)か、COB_PRDB_LOGサブルーチン(マルチセッション)を実行してトレースファイルに、

任意の文字列を出力します。

注意

トレースへの文字列の出力サブルーチンのサポートについて

XMROLOGサブルーチン(シングルセッション)と、COB_PRDB_LOGサブルーチン(マルチセッション)は、64ビット動作のみサポート しています。32ビット動作ではサポートしていないため、注意してください。

5.2.3.3.1 トレースへの文字列出力サブルーチンのインターフェース(シングルセッション)

トレースへの文字列出力サブルーチンのインターフェースは、以下のとおりです。

・ 機能

トレースファイルに任意文字列を出力します。

・ 呼出し形式

CALL "XMROLOG" USING 出力情報 エラー情報 RETURNING 復帰値.

・ パラメーターのデータ定義 01 出力情報.

02 文字列長 PIC S9(9) COMP-5.

02 出力文字列 PIC X(260).

01 エラー情報.

02 終了情報 PIC S9(9) COMP-5.

02 詳細情報 PIC S9(9) COMP-5.

02 FILLER PIC S9(9) VALUE 0.

01 復帰値 PIC S9(9) COMP-5 VALUE 0.

※上記は、必ずレベル番号01で記載してください。

※FILLERは、0を設定してください。

・ パラメーターの意味

- 文字列長

トレースファイルに出力する文字列長を、256バイト以内で指定します。

- 出力文字列

トレースファイルに出力する文字列を英数字で指定します。

文字列長に指定した長さよりも長い文字列を指定した場合、文字列長に指定した長さ分だけが出力されます。

- 終了情報/詳細情報

終了情報および詳細情報を、以下に示します。

表5.15 トレースへの文字列出力サブルーチン(シングルセッション)のエラーコード

error code

意味 対処

終了情報 10進数

詳細情報 10進数

0 0 ・ 正常終了 ・ なし

error code

意味 対処

終了情報 10進数

詳細情報 10進数

91 0

・ 文字列長の指定に誤 りがあります。

・ 文字列長が256バイト 以内か確認してくださ い。

・ コード変換でエラー が発生しました。

・ シフトJISにコード変換 できない文字があるか 確認してください。

・ 復帰値

復帰値は、以下のとおりです。

表5.16 XMROLOGサブルーチンの復帰値

復帰値 意味 イベントログ出力の有無

0 正常 なし

-1 エラー あり

・ 使用例

使用例を示します。

DATA DIVISION.

WORKING-STORAGE SECTION.

01 出力情報.

02 文字列長 PIC S9(9) COMP-5.

02 出力文字列 PIC X(260).

01 エラー情報.

02 終了情報 PIC S9(9) COMP-5.

02 詳細情報 PIC S9(9) COMP-5.

02 FILLER PIC S9(9) VALUE 0.

01 復帰値 PIC S9(9) COMP-5 VALUE 0.

PROCEDURE DIVISION.

OPEN I-O INFILE.

* 任意ログを出力する。

MOVE "COBOL-SESSION=USER01" TO 出力文字列.

MOVE 20 TO 文字列長

CALL "XMROLOG" USING 出力情報 エラー情報 RETURNING 復帰値.

CLOSE INFILE.

図5.2 出力結果例

5.2.3.3.2 トレースへの文字列出力サブルーチンのインターフェース(マルチセッション)

トレースへの文字列出力サブルーチンのインターフェースは、以下のとおりです。

・ 機能

トレースファイルに任意文字列を出力します。

・ 呼出し形式

CALL "COB_PRDB_LOG" USING BY REFERENCE セッションID BY REFERENCE 出力文字情報 BY REFERENCE エラー情報 RETURNING 復帰値.

・ パラメーターのデータ定義

01 セッションID PIC X(30).

01 出力文字情報.

02 文字列長 PIC S9(9) COMP-5 02 出力文字列 PIC X(260).

01 エラー情報.

02 終了情報 PIC S9(9) COMP-5.

02 詳細情報 PIC S9(9) COMP-5.

02 FILLER PIC S9(9) VALUE 0.

01 復帰値 PIC S9(9) COMP-5 VALUE 0.

※上記は、必ずレベル番号01で記載してください。

※FILLERは、0を設定してください。

・ パラメーターの意味

- セッションID(必須)

英数字項目で30バイト指定します。

セッション開設サブルーチンで指定したセッションIDを指定してください。

文字の種類の制約はありません。なお、本パラメーターは必ず指定してください。

- 文字列長

トレースファイルに出力する文字列長を、256バイト以内で指定します。

- 出力文字列

トレースファイルに出力する文字列を英数字で指定します。

文字列長に指定した長さよりも長い文字列を指定した場合、文字列長に指定した長さ分だけが出力されます。

- 終了情報/詳細情報

終了情報および詳細情報を、以下に示します。

表5.17 トレースへの文字列出力サブルーチン(マルチセッション)のエラーコード

error code

意味 対処

終了情報 10進数

詳細情報 10進数

0 0 ・ 正常終了 ・ なし

91 0

・ 文字列長の指定に誤 りがあります。

・ 文字列長が256バイト 以内か確認してくださ い。

・ コード変換でエラー が発生しました。

・ シフトJISにコード変換 できない文字があるか 確認してください。

・ 復帰値

復帰値は、以下のとおりです。

表5.18 COB_PRDB_LOGサブルーチンの復帰値

復帰値 意味 イベントログ出力の有無

0 正常 なし

-1 エラー あり

-201 セッションIDの指定が正しくあ

りません。 なし

・ 使用例

マルチセッションを使用した場合、トレースファイルよりCOBOLアプリケーションのセッションIDとプログラムのスレッドIDを関連 付けすることができます。

DATA DIVISION.

WORKING-STORAGE SECTION.

01 SESSION-ID PIC X(30).

01 RET-VALUE PIC S9(9) COMP-5.

01 セッション情報.

02 文字列長 PIC 9(9) COMP-5.

02 出力文字列 PIC X(260).

01 エラー情報.

02 終了情報 PIC S9(9) COMP-5.

02 詳細情報 PIC S9(9) COMP-5.

02 FILLER PIC S9(9) VALUE 0.

01 復帰値 PIC S9(9) COMP-5 VALUE 0.

*

PROCEDURE DIVISION.

* セッション開始

MOVE "SESSION-01" TO SESSION-ID.

CALL "COB_PRDB_START" USING BY REFERENCE SESSION-ID RETURNING RET-VALUE.

OPEN I-O INFILE.

* セッションIDを出力する。

MOVE "COBOL-SESSION=SESSION-01" TO 出力文字列.

MOVE 24 TO 文字列長.

CALL "COB_PRDB_LOG" USING BY REFERENCE SESSION-ID BY REFERENCE セッション情報

BY REFERENCE エラー情報 RETURNING 復帰値.

CLOSE INFILE.

* セッション終了

CALL "COB_PRDB_END" USING BY REFERENCE SESSION-ID RETURNING RET-VALUE.

* セッション開始

MOVE "SESSION-02" TO SESSION-ID.

CALL "COB_PRDB_START" USING BY REFERENCE SESSION-ID RETURNING RET-VALUE.

OPEN I-O INFILE.

* セッションIDを出力する。

MOVE "COBOL-SESSION=SESSION-02" TO 出力文字列.

MOVE 24 TO 文字列長.

CALL "COB_PRDB_LOG" USING BY REFERENCE SESSION-ID BY REFERENCE セッション情報

BY REFERENCE エラー情報 RETURNING 復帰値.

CLOSE INFILE.

* セッション終了

CALL "COB_PRDB_END" USING BY REFERENCE SESSION-ID RETURNING RET-VALUE.

図5.3 出力結果例

5.2.3.3.3 トレースへの文字列出力サブルーチンの注意事項

トレースへの文字列出力サブルーチンの注意事項を、以下に示します。

・ 本サブルーチンは、PowerRDBconnector動作環境ファイルのTraceLevelプロパティの値によらず、TraceModeプロパティがONのと きだけ、動作します。

TraceModeプロパティがOFFの場合、本サブルーチンは正常終了しますが、動作しません。

・ トレースファイルのコード系は、シフトJISです。このため、COBOLアプリケーションが、unicodeで動作していた場合でも、本サブルー チンで出力される文字列はシフトJISに変換されて出力されます。シフトJISにない文字を出力しようとした場合、本サブルーチンは エラーとならず、?のように文字化けして出力します。

・ 本サブルーチンによりトレースファイルに文字列を出力時、トレースファイルの書込みでエラーが発生しても、本サブルーチンはエ ラー終了されず、トレース情報の採取のみ停止します。

・ 本サブルーチンは、以下の区間でのみ動作します。

5.19

トレースへの文字列出力サブルーチンの有効区間について

プログラミングスタイル サブルーチン名 有効区間

シングルセッション XMROLOG プロセス初回OPEN後~プロセス終了 マルチセッション COB_PRDB_LOG スレッド初回OPEN後~セッション閉設 上記区間外では、本サブルーチンは正常終了しますが、動作しません。

・ 本サブルーチンで大量の文字列を出力すると、トレースファイルの負荷が増加するため、性能劣化します。調査に必要なときの み、本サブルーチンを実行するようにしてください。

付録 A 他製品のファイル資源

本章では、他製品(ファイルシステム、データベース系)のファイル資源および代替方法について説明します。

業務システムの機能・構成設計時に、CSP/FXやASPのデータベース資産としてよく使用される、論理ファイルの使用について、開発 者が確認する場合にお読みください。

ドキュメント内 PowerRDBconnector説明書 Oracle編 (ページ 168-174)

関連したドキュメント