Page History
...
これは次のようにDEF_HEADコマンドを3つ並べて記述することにより実現できます。
DEF_HEAD NAME(#HEAD01)
...
FIELDS((
...
#DATE *
...
L1 *C2))
DEF_HEAD NAME(#HEAD02)
...
FIELDS((
...
#COMP *
...
L2 *C2))
DEF_HEAD NAME(#HEAD03) FIELDS((#DIV *L3 *C2))
...
あるいはこの3つをまとめて次のように記述してもかまいません。
DEF_HEAD NAME(#HEAD)
...
FIELDS((
...
#DATE *
...
L1 *C2)(
...
#COMP *
...
L2 *C2)
...
(#DIV *L3 *C2))
...
次の理由で、後者の書き方をお勧めします。
- ファンクション定義、実行文とも、短く簡潔に記述できます。
- レポート設計ツールでの取り扱いが簡便です。
...
明細行の定義は次のようになるでしょう(行および列の詳細は省略)。
DEF_
...
LINE NAME(#DET01)
...
FIELDS(#CUSNAM #CUSAD1)
IDENTIFY(*COLHDG)
DEF_
...
LINE NAME(#DET02)
...
FIELDS(#CUSAD2)
...
IDENTIFY(*NOID)
DEF_
...
LINE NAME(#DET03)
...
FIELDS(#CUSAD3)
...
IDENTIFY(*NOID)
DEF_LINE NAME(#DET04) FIELDS(#POSTCD) IDENTIFY(*LABEL)
あるいは次のように記述することも可能です。
DEF_
...
LINE NAME(#DETAIL)
...
FIELDS((
...
#CUSNAM *
...
L1 *C2 *COLHDG)
(
...
#CUSAD1 *
...
L1 *
...
C39 *COLHDG)
(
...
#CUSAD2 *
...
L2 *
...
C39 *NOID )
(
...
#CUSAD3 *
...
L3 *
...
C39 *NOID )
(
...
#POSTCD *
...
L4 *
...
C39 *
...
LABEL ))
細かく見ると、この2つの定義方法では、出力結果に若干の違いがあります。
...
一方、それぞれ分割して記述した場合、次のように、途中に改ページが入ることもありえます。
XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 郵便番号:9999 最後尾 最後尾 XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX ページ XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX ページ 1 1 先頭 先頭 顧客名 住所 ページ 顧客名 住所 ページ XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 郵便番号:9999 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 郵便番号:9999
一方、全体をひとつのコマンドで定義した場合、このようにページをまたがって出力されることはありません。4行とも同じページに納まらない場合は、全体が次のページに送られます。
...