4-2-1 フィールドのデータ型別の計算式・編集式の設定例

基本的な計算式・編集式の設定方法と、フィールドバッファについて、文字型フィールド、数値型フィールド別に説明します。

文字型フィールドの場合

文字型フィールドの基本的な計算式・編集式の設定方法と、フィールドバッファについて次の条件を例に説明します。
データは、 " "(ダブルクォーテーション)で囲んで指定してください。

前提条件 上位アプリケーションから次のデータが入力される場合
フィールド「NAME」に「帳票太郎」が入力される。
フィールド「KBN」に「1」が入力される。
参照用のダミーフィールド(文字型フィールド)「DUM」を作成します。
入力データのみ フィールド「NAME」の入力データをそのまま印刷する場合
  • 使用例
    • 入力データ "帳票太郎"
    • 計算式
    • 編集式
    • フィールドバッファ "帳票太郎"
    • 印刷結果 "帳票太郎"
入力データ+計算式(入力フィールド) 入力データを計算式で編集して印刷する場合
  • 使用例
    • 入力データ "帳票太郎"
    • 計算式 NAME+"様"
    • 編集式 
    • フィールドバッファ "帳票太郎様"
    • 印刷結果 "帳票太郎様"
入力データ+編集式(入力フィールド) 入力データを編集式で編集して印刷する場合
参考

編集式では、フィールドバッファを置き換えないため、フィールドバッファには"帳票太郎"が格納されます。

  • 使用例
    • 入力データ "帳票太郎"
    • 計算式
    • 編集式 NAME+"様"
    • フィールドバッファ "帳票太郎"
    • 印刷結果 "帳票太郎様"
入力データ+計算式(設計関数を使用) フィールド「NAME」のデータを設計関数で編集する場合
  • 使用例
    • 入力データ "帳票太郎"
    • 計算式 IF(KBN="1",NAME+"様","")
    • 編集式
    • フィールドバッファ "帳票太郎様"
    • 印刷結果 "帳票太郎様"
入力データ+編集式(設計関数を使用) フィールド「NAME」のデータを設計関数で編集する場合
  • 使用例
    • 入力データ "帳票太郎"
    • 計算式
    • 編集式 IF(KBN="1",NAME+"様","")
    • フィールドバッファ "帳票太郎"
    • 印刷結果 "帳票太郎様"
入力データ+計算式(設計関数を使用)+編集式 フィールド「NAME」のデータを設計関数で編集する場合
  • 使用例
    • 入力データ "帳票太郎"
    • 計算式 NAME+"様"
    • 編集式 IF(KBN="1",NAME,"")
    • フィールドバッファ "帳票太郎様"
    • 印刷結果 "帳票太郎様"
出力データを固定の値として指定(計算式) フィールド「DUM」の出力データを計算式で指定する場合
  • 使用例
    • 入力データ ""
    • 計算式 "計算式"
    • 編集式
    • フィールドバッファ "計算式"
    • 印刷結果 "計算式"
出力データを固定の値として指定(編集式) フィールド「DUM」の出力データを編集式で指定する場合
  • 使用例
    • 入力データ ""
    • 計算式
    • 編集式 "編集式"
    • フィールドバッファ ""
    • 印刷結果 "編集式"
出力データを固定の値として指定(計算式+編集式) フィールド「DUM」の出力データを計算式と編集式で指定する場合
参考

フィールド「DUM」の計算式で"計算式"を指定しているため、フィールドバッファの値として"計算式"が格納されます。しかし、編集式では"編集式"を指定しているため、印刷結果は、編集式の値が出力されます。
ただし、別フィールドからフィールド「DUM」を参照した場合は、フィールドバッファの値が参照対象となるため、"計算式"が値として取得されます。

  • 使用例
    • 入力データ ""
    • 計算式 "計算式"
    • 編集式 "編集式"
    • フィールドバッファ "計算式"
    • 印刷結果 "編集式"
出力データを別フィールドから参照(計算式) フィールド「DUM」で、フィールド「NAME」のデータを参照して印刷する場合
  • 使用例
    • 入力データ ""
    • 計算式 NAME
    • 編集式
    • フィールドバッファ "帳票太郎"
    • 印刷結果 "帳票太郎"
出力データを別フィールドから参照(編集式) フィールド「DUM」でフィールド「NAME」のデータを参照して印刷する場合
  • 使用例
    • 入力データ ""
    • 計算式
    • 編集式 NAME
    • フィールドバッファ ""
    • 印刷結果 "帳票太郎"

日付の出力

出力データを設計関数により取得(計算式) フィールド「DUM」にシステム日付を文字型データとして出力する場合
  • 使用例
    • 入力データ ""
    • 計算式 DTOC(DATE())
    • 編集式
    • フィールドバッファ "2010/01/10"
    • 印刷結果 "2010/01/10"
出力データを設計関数により取得(編集式) フィールド「DUM」にシステム日付を文字型データとして出力する場合
  • 使用例
    • 入力データ ""
    • 計算式
    • 編集式 DTOC(DATE())
    • フィールドバッファ ""
    • 印刷結果 "2010/01/10"
出力データを設計関数により取得(計算式)+編集式 フィールド「DUM」に計算式でシステム日付を取得し、編集式で文字型データに変換して出力する場合
参考

計算式でDATEが指定されているため、フィールド「DUM」のフィールドバッファの値としてDATEの演算結果の"20100110"が保存されます。
そのため、編集式では、DTOC関数のパラメーターとしてフィールド「DUM」を参照することで、"2010/01/10"のようにYYYY/MM/DDの文字型データとして値の出力が可能です。

  • 使用例
    • 入力データ ""
    • 計算式 DATE()
    • 編集式 DTOC(DUM)
    • フィールドバッファ "20100110"
    • 印刷結果 "2010/01/10"

数値型フィールドの場合

数値型フィールドの基本的な計算式・編集式の設定方法と、フィールドバッファについて次の条件を例に説明します。

前提条件 上位アプリケーションから次のデータが入力される場合
数値型フィールド「UNIT_PRICE」に「1000」が入力される。
数値型フィールド「QUANTITY」に「5」が入力される。
文字型フィールド「KBN」に「"1"」が入力される。
計算用のダミーフィールド(数値型フィールド)「DUM」を作成します。
参考

編集式では、演算結果を文字型データとして指定する必要があります。そのため、値として数値データを指定する場合は、FORMAT関数で文字型データに変換して指定します。

入力データのみ フィールド「UNIT_PRICE」の入力データをそのまま印刷する場合
  • 使用例
    • 入力データ 1000
    • 計算式 
    • 編集式 
    • フィールドバッファ 1000
    • 印刷結果 "1000"
入力データ+計算式(入力フィールドを使用して計算) 入力データを計算式で編集して印刷する場合
  • 使用例
    • 入力データ 1000
    • 計算式 UNIT_PRICE*2
    • 編集式
    • フィールドバッファ 2000(1000×2)
    • 印刷結果 "2000"
入力データ+編集式(入力フィールドを使用して計算) 入力データを編集式で編集して印刷する場合
参考

編集式では、フィールドバッファを置き換えないため、フィールドバッファには入力値の1000が格納されます。

  • 使用例
    • 入力データ 1000
    • 計算式
    • 編集式 FORMAT(UNIT_PRICE*2,"Z,ZZ9")
    • フィールドバッファ 1000
    • 印刷結果 "2,000"(1000×2)
入力データ+計算式(別フィールドのデータ参照して計算) フィールド「UNIT_PRICE」でフィールド「QUANTITY」の入力データを使用し、計算結果を印刷する場合
  • 使用例
    • 入力データ 1000
    • 計算式 UNIT_PRICE*QUANTITY
    • 編集式
    • フィールドバッファ 5000(1000×5)
    • 印刷結果 "5000"
入力データ+編集式(別フィールドのデータ参照して計算) フィールド「UNIT_PRICE」でフィールド「QUANTITY」の入力データを使用し、計算結果を印刷する場合
  • 使用例
    • 入力データ 1000
    • 計算式
    • 編集式 FORMAT(UNIT_PRICE*QUANTITY,"Z,ZZ9")
    • フィールドバッファ 1000
    • 印刷結果 "5,000"(1000×5)
入力データ+計算式(設計関数を使用して計算) フィールド「UNIT_PRICE」の入力データを、設計関数を使用して編集する場合
  • 使用例
    • 入力データ 1000
    • 計算式 IF(KBN="1",UNIT_PRICE*QUANTITY,0)
    • 編集式
    • フィールドバッファ 5000(1000×5)
    • 印刷結果 "5000"
入力データ+編集式(設計関数を使用して計算) フィールド「UNIT_PRICE」の入力データを設計関数で編集する場合
参考

編集式では、演算結果を文字型データとして指定する必要があります。そのため、値として数値データを指定する場合は、FORMAT関数で文字型データに変換して、指定します。

  • 使用例
    • 入力データ 1000
    • 計算式
    • 編集式 IF(KBN="1",FORMAT(UNIT_PRICE*QUANTITY,"Z,ZZ9"),FORMAT(0,"Z,ZZ9"))
    • フィールドバッファ 1000
    • 印刷結果 "5,000"(1000×5)
入力データ+計算式(設計関数を使用)+編集式(自分自身のバッファの値を使用) フィールド「UNIT_PRICE」の入力データを、設計関数を使用して編集する場合
  • 使用例
    • 入力データ 1000
    • 計算式 IF(KBN="1",UNIT_PRICE*QUANTITY,0)
    • 編集式 FORMAT(UNIT_PRICE,"Z,ZZ9")
    • フィールドバッファ 5000(1000×5)
    • 印刷結果 "5,000"
出力データを固定の値として指定(計算式で参照) フィールド「DUM」の出力データを計算式で指定する場合
  • 使用例
    • 入力データ
    • 計算式 ROUND((UNIT_PRICE*1.05),0)
    • 編集式
    • フィールドバッファ 1050
    • 印刷結果 "1050"(1000×1.05)の小数点以下第一位を四捨五入した値
出力データを固定の値として指定(編集式で参照) フィールド「DUM」の出力データを編集式で指定する場合
参考

編集式では、フィールドバッファを置き換えないため、計算式では無指定の状態で、初期値「0」が格納されます。

  • 使用例
    • 入力データ
    • 計算式
    • 編集式 FORMAT(ROUND((UNIT_PRICE*1.05),0),"Z,ZZ9")
    • フィールドバッファ 0
    • 印刷結果 "1,050"(1000×1.05)の小数点以下第一位を四捨五入した値
出力データを固定の値として指定(計算式+編集式) フィールド「DUM」の出力データを計算式と編集式で指定する場合
参考

フィールド「DUM」の計算式で「QUANTITY」×「UNIT_PRICE」を指定しているため、フィールドバッファの値として5000(QUANTITY×UNIT_PRICE)が格納されます。ただし、編集式で「UNIT_PRICE」×1.05を指定しているため、印刷結果としては、編集式で指定した演算結果が出力されます。
別フィールドで「DUM」を参照した場合は、フィールドバッファの値が参照対象となるため、5000(QUANTITY×UNIT_PRICE)が値として取得されます。

  • 使用例
    • 入力データ
    • 計算式 QUANTITY*UNIT_PRICE
    • 編集式 FORMAT(ROUND((UNIT_PRICE*1.05),0),"Z,ZZ9")
    • フィールドバッファ 5000(1000×5)
    • 印刷結果 "1,050"(1000×1.05)の小数点以下第一位を四捨五入した値
出力データを固定の値として指定(計算式+編集式) フィールド「DUM」の出力データを計算式と編集式で指定する場合
参考

編集式で自分自身のフィールド名を指定した場合は、自分自身のフィールドのフィールドバッファ値を元に演算します。
フィールド「DUM」では、計算式で「QUANTITY」×「UNIT_PRICE」を指定しているため、フィールドバッファの値として5000(QUANTITY×UNIT_PRICE)が格納されます。
編集式では、自分自身のフィールド名を指定しているため、計算式で指定した演算結果(フィールドバッファの値)を元に計算し、結果として"5,250"を印刷します。

  • 使用例
    • 入力データ
    • 計算式 QUANTITY*UNIT_PRICE
    • 編集式 FORMAT(ROUND((DUM*1.05),0),"Z,ZZ9")
    • フィールドバッファ 5000(1000×5)
    • 印刷結果 "5,250"(5000×1.05)の小数点以下第一位を四捨五入した値