Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

これは次のように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行とも同じページに納まらない場合は、全体が次のページに送られます。

...