コンテンツフレーム起動

数学関数 文書を SAP ライブラリストラクチャに組み込む

ABAP には、一連の組込関数が用意されており、算術式として、または算術式の一部として使用することができます。

[COMPUTE] <n> = <func>( <m> ).

括弧間の空白と引数 <m> は必須です。引数 <m> による関数 <func> の呼出結果が <n> に代入されます。

すべての数値データ型に対する関数

以下の組込関数は、3 つの数値データ型 (FIP) を引数として処理します。

すべての数値データ型に対する関数

関数

結果

ABS

引数の絶対値

SIGN

引数の符号: X > 0 の場合                      1           

                      X = 0 の場合                     SIGN( X) =  0

                       X < 0 の場合                   -1

CEIL

引数よりは小さくない最小整数値

FLOOR

引数よりは大きくない最大整数値

TRUNC

引数の整数部分

FRAC

引数の小数部分

これらの関数の引数は、数値データ型でなくても構いません。別の型を選択すると、数値型に変換されます。たたし、パフォーマンス上の理由により、可能な場合は常に数値型を使用してください。関数自体に固有のデータ型はありません。関数により、数値演算の数値精度は変更されません。

 例

DATA N TYPE P DECIMALS 2.
DATA M TYPE P DECIMALS 2 VALUE '-5.55'.

N = ABS( M ).   WRITE:   'ABS:  ', N.
N = SIGN( M ).  WRITE: / 'SIGN: ', N.
N = CEIL( M ).  WRITE: / 'CEIL: ', N.
N = FLOOR( M ).WRITE: / 'FLOOR:', N.
N = TRUNC( M ).WRITE: / 'TRUNC:', N.
N = FRAC( M ).  WRITE: / 'FRAC: ', N.

出力は以下のようになります。

ABS:              5.55

SIGN:             1.00-

CEIL:             5.00-

FLOOR:            6.00-

TRUNC:            5.00-

FRAC:             0.55-

 例

DATA: T1(10),
      T2(10) VALUE '-100'.

T1 = ABS( T2 ).

WRITE T1.

これにより、出力は以下のようになります。

       100

2 つの変換が行われます。最初に、項目 T2 ( C) の定数が型 P に変換されます。次に、その変換結果を使用して ABS 関数が処理されます。その後、型 C 項目 T1 への代入時に、関数の結果が型 C に再び変換されます。

浮動小数点機能

以下の組込関数は、浮動小数点形式の値 ( データ型 F) を引数として処理します。

浮動小数点データ型の関数

関数

意味

ACOSASINATAN; COSSINTAN

三角関数

COSHSINHTANH

双曲線関数

EXP

e の指数関数 (e=2.7182818285)

LOG

e の自然対数

LOG10

10 の対数

SQRT

平方根

すべての関数には、通常の算術制約事項が適用されます ( たとえば、平方根は正の数にしか実行できません) 。制約事項を守らないと、実行時エラーが発生します。

これらの関数の引数は、浮動小数点項目でなくても構いません。別の型を選択すると、型 F 変換されます。関数自体のデータ型は F です。この関数により、数値演算の数値精度は変更されます。

 例

DATA: RESULT TYPE F,
      PI(10) VALUE '3.141592654'.

RESULT = COS( PI ).

WRITE RESULT.

出力は -1.00000000000000E+00 になります。文字項目 PI は、計算前に自動的に型 F に変換されます。

 

 

 

 

 

コンテンツフレーム終了