概要 - 一部の事前定義済 ABAP データ型
Learning Journey の早い段階で学習した事前定義済 ABAP データ型を簡単にまとめてみましょう。また、追加の完全データ型および不完全データ型についても説明します。

上の図は、Basic ABAP Programming コースで取り上げたデータ型を示しています。データ型 STRING、I、D、および T は、長さを変更できないため、完全データ型と呼ばれます。データ型 C、N、および P は不完全データ型と呼ばれます。これらの型のいずれかで変数を宣言する場合は、長さと、データ型 P の場合は小数点以下桁数を指定する必要があります。

すでに発生している 4 つの完全なデータ型 (STRING、I、D、および T) に加えて、さらに 6 つのデータ型があります。
- INT8 - 8 バイト整数
- DECFLOAT16 - 16 桁の 10 進浮動小数点数
- DECFLOAT34 - 34 桁の 10 進浮動小数点数
- F - 2 進浮動小数点数
- XSTRING - 任意の長さのバイト順序
- UTCLONG - タイムスタンプ

データ型 C、N、および P に加えて、ABAP にはバイト順序用の組込データ型 X もあります。X 型は不完全です。つまり、この型を使用して変数を宣言する場合は、長さを指定する必要があります。
データ型の分類
完全データ型と不完全データ型を区別するだけでなく、組込 ABAP データ型を文字型、数値、バイト型、および日付と時刻として分類することができます。特定の演算は文字型項目に対してのみ許可され、その他の演算は数値項目に対してのみ許可されるため、この区別は重要です。1 回の操作で文字フィールドとバイトフィールドを混在させることはできません。

数値型を選択するときに、整数が必要な場合は I 型、小数点以下の桁数の場合は P 型を使用する必要があります。データ型 I の範囲が小さすぎる場合は、データ型 INT8 を使用することができます。同様に、データ型 P の範囲または精度が不十分な場合は、DECFLOAT データ型のいずれかを使用します。パック数値には、小数点以下 14 桁まで含めることができます。DECFLOAT データ型、特に DECFLOAT34 は、非常に高い精度をサポートします。
F 型は、2 進浮動小数点数を表します。バイナリ数値を 10 進数システムに戻す際に丸めエラーが発生する可能性があるため、プログラムで計算にデータ型 F を使用することは避けてください。ただし、SQL を使用してデータベースからデータを読み込む場合は、浮動小数点形式の値が目立つように表示されます。
日付および時刻項目には、タイプ D および T を使用することができます。タイプ D では書式 YYYYMMDD が使用され、タイプ T では書式 HHMMSS が使用されます。データ型 T は 2 番目のタイプに対してのみ正確です。より高い精度が必要な場合は、データ型 UTCLONG を使用することができます。これは、日付と時刻の両方で構成されるタイムスタンプで、100 ナノ秒まで正確です。