Skip to main content

計算式・編集式の処理の違い

計算式・編集式では、他のフィールド名を指定することで、指定したフィールドに保存されているフィールドバッファの値を参照できます。

  • 計算式で指定した場合

    式の結果によりフィールドバッファの値を置き換えます。

  • 編集式で指定した場合

    式の結果によってフィールドバッファの値を置き換えません。

注意

  • 編集式で指定した式の演算結果は、他のフィールドからは参照できません。

  • 次の編集関数を使用する場合は、必ず編集式で指定します。

    • ページ関数 :PAGE

    • システム変数 :_PAGE_CNT、_PREV_P、_NEXT_P、_PAGE_GROUP_COUNT、_TOTAL_PAGE_COUNT、_SERIAL_PAGE_COUNT、_TOTAL_PAGE_CNT

    • 印刷書式関数 :FORMAT、FORMAT2

    • P系統計関数 :PSUM、PAVG、PMIN、PMAX、PCOUNT

  • 編集式は、フィールドのデータ型に関係なく、演算結果を文字データとして指定する必要があります。

ここでは、フィールドのデータ型ごとに、計算式と編集式の実行結果の違いについて説明します。

文字型フィールドの場合

次のようなフィールドが作成されている場合を例に説明します。

フィールド名

データ

計算式

編集式

フィールドへの出力結果

A

東京

名古屋

名古屋

B

大阪

九州

九州

C

A

名古屋

D

B

大阪

  1. データをフィールドバッファに格納

    データを各々のフィールドのフィールドバッファに格納します。

    • A:東京

    • B:大阪

    • C:""

      初期値として""(空文字列)を格納

    • D:""

      初期値として""(空文字列)を格納

    sd10Common_3-1-2_001.png
  2. 計算式の結果をフィールドバッファに格納

    計算式を実行し、取得した結果をフィールドバッファに格納します。

    • A:名古屋

      「東京」から「名古屋」へフィールドバッファの値を置き換え

    • B:大阪

    • C:名古屋

      「""(空文字列)」から「名古屋」へフィールドバッファの値を置き換え

    • D:""

      初期値として""(空文字列)を格納

    sd10Common_3-1-2_002.png
  3. フィールドバッファの値を元に編集式を実行

    計算式によって更新されたフィールドバッファの値を元に、編集式を実行します。

    編集式によって取得した結果を印刷データとして出力します。

    • A:名古屋

    • B:九州

      編集式で九州が指定されているため、値を「九州」に変更して出力

    • C:名古屋

    • D:大阪

      編集式でBに格納されているフィールドバッファの値 「大阪」を参照

    sd10Common_3-1-2_003.png

数値型フィールドの場合

次のようなフィールドが作成されている場合を例に説明します。

フィールド名

データ

計算式

編集式

フィールドへの出力結果

A

10

100

100

B

20

FORMAT(200,"ZZZZZ9")

200

C

0

A

100

D

0

FORMAT(B,"ZZZZZ9")

20

  1. データをフィールドバッファに格納

    データを各々のフィールドのフィールドバッファに格納します。

    • A:10

    • B:20

    • C:0

      初期値として0(ゼロ)を格納

    • D:0

      初期値として0(ゼロ)を格納

    sd10Common_3-1-2_004.png
  2. 計算式の結果をフィールドバッファに格納

    計算式を実行し、取得した結果をフィールドバッファに格納します。

    • A:100

      「10」から「100」にフィールドバッファの値を置き換え

    • B:20

    • C:100

      置き換え後のAのフィールドバッファの値 「100」を参照

    • D:0

    sd10Common_3-1-2_005.png
  3. フィールドバッファの値を元に編集式を実行

    計算式によって更新されたフィールドバッファの値を元に、編集式を実行します。

    編集式によって取得した結果を印刷データとして出力します。

    • A:100

    • B:200

      編集式で200が指定されているため、値を「200」に変更して出力

    • C:100

    • D:20

      編集式でBに格納されているフィールドバッファの値 「20」を参照

    sd10Common_3-1-2_006.png