PAGENUMオプションは、出力の現行ページ数を保持します。PAGENUMとPAGEPRGを組み合せて使用すると、レポートの各ページにページ番号を付けることができます。PAGENUMオプションは、PAGINGの設定がYES
の場合にのみ有効であり、REPORTやLISTNAMESなどの文からの出力に対してのみ適用されます。
使用上の注意
1ページからの開始
出力をデフォルトの出力ファイルに送信する場合、レポートの生成を1ページから開始するには、必ずPAGENUMとLINENUMの両方を1に設定します。これらのオプションは、レポート・プログラムの初期化セクションで設定できます。OUTFILE文を使用して出力をファイルに送信すると、PAGENUMは自動的に1
に設定されます。
ページ途中でのPAGENUMの設定
PAGENUMの値は、出力の最後の行がページ上に生成されると自動的に増分されます。出力ページの表示がページの途中で終了する場合にPAGENUMを設定すると、次のページが生成される前にPAGENUMの値が1つ増分されます。したがって、通常、次のページに表示するページ番号より1少ない値にPAGENUMの値を設定する必要があります。
PAGENUMでのPAGINGの効果
PAGINGをNO
に設定すると、PAGENUMによるカウントは停止し、最後の値が保持されます。PAGINGをYES
に再設定すると、中断した箇所のページ番号からPAGENUMによるカウントが再開されます。
PAGENUMでのOUTFILEの効果
OUTFILE文を使用して出力をファイルに送信すると、PAGENUMはそのファイルに対して1
に設定されます。OUTFILE文とEOFキーワードを組み合せて使用して出力をデフォルトの出力ファイルにリダイレクトすると、PAGENUMに入るページ番号は、デフォルトの出力ファイルに最後に保持された番号です。
例
例5-84 2ページ目のヘッダーの変更
レポートの各ページに、標準的に表示されるページ・ヘッダーとカスタムのタイトルを設定し、2ページ目以降には「(Continued)」というヘッダーも追加することにします。PAGENUM値を使用して「(Continued)」ヘッダーを追加する条件を判別する、report.head
という名前のページ・ヘッダー・プログラムを定義できます。
DEFINE report.head PROGRAM PROGRAM STDHDR BLANK PAGING = YES HEADING WIDTH LSIZE CENTER 'Annual Sales Report' BLANK IF PAGENUM GT 1 THEN HEADING WIDTH LSIZE CENTER '(Continued)' BLANK END
レポート・プログラムで、PAGEPRGオプションを設定してreport.head
プログラムを使用します。
PAGEPRG = 'report.head'
レポート・プログラムを実行すると、2ページ目以降の各ページに次のようなヘッダーが先頭に表示されます。
15JAN95 15:05:16 Page 2 Annual Sales Report (Continued)