PAGEPRGオプションは、出力の各ページの先頭で実行されるプログラムの名前または文のテキストを保持します。そのプログラムまたは文を使用して、レポートの複数ページでタイトルおよび列ヘッダーを作成できます。プログラムには、各ページの先頭で実行するのに適した他の文も含めることができます。通常、PAGEPRGの値は、レポート・プログラムの初期化セクションで設定します。
PAGEPRGオプションは、PAGINGの設定がYES
の場合にのみ有効であり、REPORTやLISTNAMESなどの文からの出力に対してのみ適用されます。
パラメータ
改ページの後に毎回実行されるプログラムの名前。プログラム名をテキスト式として指定する場合、一重引用符を省略できます。
改ページの後に毎回実行される文のテキスト。文をテキスト式として指定する場合、一重引用符を省略できます。
改ページ後に自動的に実行される文またはプログラムがないことを指定します。
(デフォルト)PAGEPRGによって格納されるプログラムの名前をSTDHDRにします。PAGEPRGの設定を'DEFAULT'
にしても、PAGEPRGによって格納されるプログラムの名前をSTDHDRにできます。STDHDRを指定すると、左に日付および時刻、右にページ番号のヘッダーが作成されます。
使用上の注意
PAGPRGプログラムでのSTDHDRプログラムの使用
PAGEPRGプログラムを作成する場合、STDHDRプログラムをPAGEPRGプログラムの1行として含めることができます。通常、STDHDRを置く位置は、カスタム・ヘッダーを生成する他の文の前にします。例5-85「カスタム・ヘッダーの作成」を参照してください。
ヘッダー情報を最新状態に保持
TODAY、TODおよびPAGENUMなどのOracle OLAP機能は、PAGEPRGオプションで指定したプログラム内で使用できます。特定のレポートのタイトルなどの引数を受け入れるヘッダー・プログラムを用意することもできます。この場合、引数が設定されたレポート・ヘッダー・プログラムを起動するテキスト式にPAGEPRGオプションを設定します。例5-86「プログラム引数の使用」を参照してください。
ファイルに対するPAGEPRGの設定
ファイルに対してPAGEPRGを設定するには、最初にOUTFILE文でファイルの名前を指定して現行の出力ファイルにしてから、PAGEPRGを目的の値に設定します。新しい値は、リセットするまで、またはOUTFILE文を使用して、出力を送信する出力ファイルを別のファイルに変更するまで有効です。出力先を別の出力ファイルに変更すると、そのファイルに対してPAGEPRGは'STDHDR'
のデフォルト値に戻ります。
PAGEPRGをデフォルトの出力ファイルに対して設定すると、出力をファイルに送信するOUTFILEコマンドが介在しているかどうかにかかわらず、新しい値はリセットするまで有効です。つまり、PAGEPRGの値はデフォルトの出力ファイルに対して自動的に保存されます。
例
例5-85 カスタム・ヘッダーの作成
レポートの各ページに、標準的に表示されるページ・ヘッダーおよびタイトル「Annual Sales Report」を含めることにします。このために、report.head
という名前のプログラムを作成します。
DEFINE report.head PROGRAM PROGRAM STDHDR BLANK HEADING WIDTH LSIZE CENTER 'Annual Sales Report' BLANK IF PAGENUM GT 1 THEN HEADING WIDTH LSIZE CENTER '(Continued)' BLANK END
レポート・プログラムにPAGEPRGオプションを設定することにより、改ページの後に毎回このプログラムを実行することを指定します。PUSHコマンドとPOPコマンドを含めることにより、アクティブなPAGEPRG設定を保存できます。
PUSH PAGEPRG PAGING PAGEPRG = 'report.head' PAGING = YES ... (body of report program) POP PAGEPRG PAGING
レポート・プログラムを実行すると、各ページに次のヘッダーが挿入されます。
15JAN98 15:05:16 Page 1 Annual Sales Report
2ページ目以降には、サブヘッダー「(Continued)」も挿入されます。これはIF文にPAGENUMテストがあるためです。
例5-86 プログラム引数の使用
report.head
プログラムにレポート名を指定する別の方法として、レポート名をレポート・プログラムからreport.head
プログラムに渡すことができます。これを行うには、引数としてレポート名を指定したreport.headプログラムを起動するテキスト式にPAGEPRGオプションを設定します。レポート・プログラムには次の文が含まれているとします。
PAGEPRG = 'CALL report.head(\'Annual Sales Report\')'
この場合、report.headプログラムの最初の数行を次のように変更できます。
ARGUMENT titlevar TEXT STDHDR BLANK HEADING WIDTH LSIZE CENTER titlevar