ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

PRGTRACE

PRGTRACEオプションは、プログラムの実行時に、プログラムの各行が現行の出力ファイルまたはデバッグ・ファイルに記録されるかどうかを制御します。PRGTRACEは、プログラムの実行をトレースすることによって問題を検出するためのデバッグ・ツールとして主に使用されます。

OLAP DML文として提供されるOLAP DMLプログラムは、EXPTRACEの設定がYESでないかぎり、トレースされません。

DBGOUTFILE文を使用してデバッグ・ファイルを指定した場合、PRGTRACEの出力は現行の出力ファイルではなくデバッグ・ファイルに送信されます。

データ型

BOOLEAN

構文

PRGTRACE = {YES|NO}

パラメータ

YES

プログラムの各行は、実行される前に記録されます。

NO

(デフォルト)プログラムの各行は記録されません。

使用上の注意

PRGTRACEの出力

PRGTRACEでは、現行プログラムの名前が各プログラム行の先頭に記録されます。コンパイル済の行を示すには、等号が挿入されます。

(PRG= SALESREP) . . .

未コンパイルの行を示すには、コロンが挿入されます。

(PRG: SALESREP) . . .

コンパイル済の行は、効率的な内部形式に変換された行であるのに対して、未コンパイルの行は変換されていません。Oracle OLAPでは、プログラム(特にループが含まれるプログラム)がより効率的に動作するように、通常はコンパイル済の形式で行を格納します。

未コンパイルのプログラム行

Oracle OLAPは、プログラムをコンパイルしてから実行します。したがって、PRGTRACEの出力で未コンパイルとマークされる行は、アンパサンド置換が記述された行などのコンパイルできない行に限定されます。

例5-91 プログラム実行のトレース

単純な予算レポートを生成するsalesrepという名前のプログラムがあるとします。

DEFINE salesrep PROGRAM
PROGRAM
PUSH month division line
TRAP ON cleanup
LIMIT month TO &ARGS
LIMIT division TO ALL
LIMIT line TO FIRST 1
REPORT DOWN division across month: dec 0 budget
 
cleanup:
POP month division line
END

このプログラムをデバッグする場合、PRGTRACEをオンにしてからプログラムを実行し、プログラムの各行の実行をトレースします。

PRGTRACE = yes
salesrep FIRST 3

PRGTRACEにより、現行の出力ファイルまたはデバッグ・ファイルに次の出力が生成されます。

(PRG= SALESREP) push month division line
(PRG= SALESREP) trap on cleanup
(PRG: SALESREP) limit month to &args
(PRG= SALESREP) limit division to all
(PRG= SALESREP) limit line to first 1
(PRG= SALESREP) report down division across month: dec0 budget
LINE: REVENUE
               -------------BUDGET-------------
               -------------MONTH--------------
DIVISION         JAN95      FEB95      MAR95
-------------- ---------- ---------- ----------
CAMPING          679,149    707,945    780,994
SPORTING         482,771    517,387    525,368
CLOTHING         983,888  1,016,528    992,331
(PRG= SALESREP) cleanup:
(PRG= SALESREP) pop month division line