計算式・編集式の処理の違い
計算式・編集式では、他のフィールド名を指定することで、指定したフィールドに保存されているフィールドバッファの値を参照できます。
計算式で指定した場合
式の結果によりフィールドバッファの値を置き換えます。
編集式で指定した場合
式の結果によってフィールドバッファの値を置き換えません。
注意
編集式で指定した式の演算結果は、他のフィールドからは参照できません。
次の編集関数を使用する場合は、必ず編集式で指定します。
ページ関数 :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 | 大阪 |
データをフィールドバッファに格納
データを各々のフィールドのフィールドバッファに格納します。
A:東京
B:大阪
C:""
初期値として""(空文字列)を格納
D:""
初期値として""(空文字列)を格納
計算式の結果をフィールドバッファに格納
計算式を実行し、取得した結果をフィールドバッファに格納します。
A:名古屋
「東京」から「名古屋」へフィールドバッファの値を置き換え
B:大阪
C:名古屋
「""(空文字列)」から「名古屋」へフィールドバッファの値を置き換え
D:""
初期値として""(空文字列)を格納
フィールドバッファの値を元に編集式を実行
計算式によって更新されたフィールドバッファの値を元に、編集式を実行します。
編集式によって取得した結果を印刷データとして出力します。
A:名古屋
B:九州
編集式で九州が指定されているため、値を「九州」に変更して出力
C:名古屋
D:大阪
編集式でBに格納されているフィールドバッファの値 「大阪」を参照
数値型フィールドの場合
次のようなフィールドが作成されている場合を例に説明します。
フィールド名 | データ | 計算式 | 編集式 | フィールドへの出力結果 |
---|---|---|---|---|
A | 10 | 100 | 100 | |
B | 20 | FORMAT(200,"ZZZZZ9") | 200 | |
C | 0 | A | 100 | |
D | 0 | FORMAT(B,"ZZZZZ9") | 20 |
データをフィールドバッファに格納
データを各々のフィールドのフィールドバッファに格納します。
A:10
B:20
C:0
初期値として0(ゼロ)を格納
D:0
初期値として0(ゼロ)を格納
計算式の結果をフィールドバッファに格納
計算式を実行し、取得した結果をフィールドバッファに格納します。
A:100
「10」から「100」にフィールドバッファの値を置き換え
B:20
C:100
置き換え後のAのフィールドバッファの値 「100」を参照
D:0
フィールドバッファの値を元に編集式を実行
計算式によって更新されたフィールドバッファの値を元に、編集式を実行します。
編集式によって取得した結果を印刷データとして出力します。
A:100
B:200
編集式で200が指定されているため、値を「200」に変更して出力
C:100
D:20
編集式でBに格納されているフィールドバッファの値 「20」を参照