コンテンツフレーム起動

事前定義された ABAP データ型 文書を SAP ライブラリストラクチャに組み込む

これらのデータ型は R/3 システムカーネルに事前定義されて おり、すべての ABAP プログラムで表示可能です。事前定義されたデータ型を使用して、ローカルデータ型とオブジェクトを定義したり、インタフェースパラメータとフィールドシンボルのタイプを指定したりすることができます。 

事前定義された基本 ABAP データ型 ( 固定長)

これらの事前定義された基本データ型は、実行時に項目長が常に固定されている各項目のデータ型を指定する際に使われます。以下の表に、さまざまな固定長データ型を示します。すべての項目長はバイトで指定されます。

データ型

 

初期

項目長

有効

項目長

初期値

 

意味

 

数値タイプ

I

4

4

0

整数 ( 自然数)

F

8

8

0

浮動小数点数形式の値

P

8

1 - 16

0

パック数値

文字タイプ

C

1

1 - 65535

'    '

 

テキスト項目

( 英数字)

D

8

8

'00000000'

日付項目

( 書式: YYYYMMDD)

N

1

1 - 65535

'0 … 0'

 

数値テキスト項目

( 数字)

T

6

6

'000000'

時刻項目

( 書式: HHMMSS)

16 進タイプ

X

1

1 - 65535

X'0 … 0'

16 進項目

データ型 DFI および T は、データオブジェクトの技術属性を完全に記述します。データ型 CNP および X はジェネリックです。ジェネリックタイプを使用してプログラムまたはデータオブジェクト内のローカルデータ型を定義する場合は、項目長を指定し、データ型 P の場合は小数点以下桁数を指定する必要があります。ジェネリックタイプを使用してフィールドシンボルのインタフェースパラメータタイプを指定する際には、技術属性を指定する必要がありません。 

初期 ( ジェネリックタイプの場合は初期項目長) とは、TYPES 命令と DATA 命令の短縮形で暗黙に使われる値です。

固定長の事前定義タイプは以下のように分類されます。

数値タイプ

ABAP では 5 つの非数値タイプ ( テキスト項目 (C) 、数値テキスト項目 (N) 、日付項目 (D) 、時刻項目 (T)16 進項目 (X)) だけでなく、3 つの数値タイプを使用して数字の表示と計算を行います。データ型 N は数値タイプではありません。データ型 N オブジェクトには数字 (0...9) のみが含まれますが、内部では数字として表されません。データ型 N 項目の典型は、勘定コードと郵便番号です。

        整数 - タイプ I

タイプ I 数字の値範囲は -2**31 2**31-1 であり、整数のみが含まれます。算術演算の結果が整数以外 ( たとえば、分数) であれば、その結果は切捨てではなく、丸められます。

タイプ I はカウンタ、明細数、索引、時間枠などに使用できます。

        パック数字 - タイプ P

タイプ P のデータは小数点以下に桁数を設定することができます。小数点以下桁数はジェネリックであり、プログラムに設定されます。タイプ P のデータの値範囲は、そのサイズと小数点以下桁数によって異なります。有効サイズは 1 16 バイトの任意の値です。2 つの 10 進数は 1 バイトにパックされ、最後のバイトには 1 つの数字と符号が挿入されます。小数点以下には最大 14 桁を設定することができます。初期値はゼロです。タイプ P のデータを使用する場合は、プログラム属性固定小数点算術を設定してください。これを設定しない場合、タイプ P の数字は整数として扱われます。

タイプ P のデータは距離、重量、金額などの値に使用できます。

        浮動小数点数形式の値 - タイプ F

タイプ F の数字の正数と負数に関する値範囲は 1x10**-307 1x10*308 であり、ゼロが含まれます。精度範囲は約 15 桁数であり、ハードウェアプラットフォームの浮動小数点演算によって異なります。タイプ F のデータは内部で 2 進数に変換されるため、丸めエラーが発生する可能性があります。ABAP プロセッサはこの影響を最小限に抑えようとしますが、高い精度を必要とする場合はタイプ F のデータを使用しないようにしてください。代わりに、タイプ P のデータを使用してください。

タイプ F の項目は、値範囲が非常に大きく、丸めエラーが重要視されない場合に使用します。

計算に I および F の項目を使用すると、P 項目を使用した場合よりも高速に処理されます。I および F の項目を使用した算術演算は実際のマシンコード演算とほとんど同じですが、P 項目を使用するとソフトウェアのサポートの必要性が高くなります。しかし、精度または値範囲の要件を満たすにはタイプ P のデータを使用する必要があります。

文字タイプ

5 つの非数値タイプのうち、4 つのタイプ CDN および T 文字タイプです。これらのタイプの項目を文字項目といいます。これらの項目の各 ポジションは、1 文字のコードを表すのに十分なスペースを使用します。現在、ABAP では ASCII EBCDI などの 1 バイトコードのみを使用しています。ただし、ユニコードとの適合については準備中です。ユニコードでは、各文字は 2 バイトまたは 4 バイトを使用します。 

16 進タイプ

その他の非数値タイプ - X は、メモリ内にある各バイトを常に解釈します。1 バイトは 2 16 進数表示によって表されます。このタイプの項目を 16 進項目 といいます。16 進項目では、シングルビットを処理することができます。

事前定義された基本 ABAP データ型 ( 可変長)

これらの事前定義された基本データ型は、項目長が実行時まで固定されない各項目のデータ型を指定する際に使われます。事前定義された可変長の ABAP データ型には 2 つあり、これらは一般に文字列として知られています。

        文字列を表す STRING

文字列とは、可変長の一連の文字です。文字列には、英数字をいくつでも含めることができます。文字列の長さは、文字数に、1 文字の内部表示に必要な長さを乗じたものです。

        バイト文字列を表す XSTRING

バイト文字列は、可変長の 16 進タイプです。このバイト数に制限はありません。バイト文字列の長さはバイト数に等しくなります。

文字列をデータオブジェクトとして作成した場合、文字列ヘッダは静的に作成されます。この文字列には管理情報が含まれます。実際のデータオブジェクトは、実行時に演算命令によって動的に作成および修正されます。

文字列の初期値は長さがゼロの空文字列です。文字列が含まれている構造は、ディープ構造として処理されます。つまり、文字列を含む構造に対する変換ルールはありません。

事前定義された複合データ型

ABAP には、プログラムにローカルデータ型またはデータオブジェクトを定義する際に使用できる事前定義された複合データ型はありません。すべての複合データ型は基本 ABAP データ型にもとづいており、ABAP プログラムまたは ABAP ディクショナリに設定されます。

 

 

 

コンテンツフレーム終了