!--a11y-->

データオブジェクトには、ABAP プログラムが実行時に使用するデータが格納されています。データオブジェクトは固定的ではなく、プログラムの実行中のみ存在します。固定データ ( データベーステーブルや順次ファイルのデータなど) を処理するには、最初にそれらのデータをデータオブジェクトに読み込んでおく必要があります。逆に、プログラムの終了後もデータオブジェクトの内容を保持する場合は、固定形式で保存する必要があります。
ABAP には、以下の種類のデータオブジェクトがあります。
リテラルは宣言命令によって作成されません。その代わり、プログラムコードに存在しています。すべてのデータオブジェクトと同様に、リテラルは固定技術属性 ( 項目長、小数点以下桁数、データ型) を備えていますが、名称はありません。したがって、リテラルは名称のないデータオブジェクトと呼ばれています。
これらのデータオブジェクトは静的に宣言するか、または実行時に動的に宣言します。名称付きデータオブジェクトの技術属性 ( 項目長、小数点以下桁数、データ型) は、常に固定されています。これらのデータオブジェクトには、ABAP プログラムからアドレス可能な名称があります。したがって、これらは名称付きデータオブジェクトと呼ばれています。ABAP には、以下の種類の名称付きデータオブジェクトがあります。
テキストシンボルは、ABAP プログラムのテキストプール内のテキストを指すポインタです。プログラムが開始されると、関連のデータオブジェクトが、テキストプールに保存されたテキストから生成されます。これらのテキストには、テキストシンボル名を使用してアドレスすることができます。
変数は、その内容を ABAP 命令で変更することのできるデータオブジェクトです。変数は、DATA 、CLASS-DATA 、STATICS 、PARAMETERS 、SELECT-OPTIONS 、および RANGES の各命令によって宣言します。
定数は、その内容を変更することのできないデータオブジェクトです。定数は、CONSTANTS 命令を使用して宣言します。
インタフェース作業領域は、プログラム、Dynpro 、および論理データベースの間のインタフェースとして機能する特殊な変数です。インタフェース作業領域は、TABLES 命令と NODES 命令を使用して宣言します。
組込データオブジェクトを明示的に宣言する必要はありません。実行時に常に利用することができます。
動的データオブジェクトは、プログラムの宣言部分で静的に宣言しません。代わりに、データ参照を使用して動的に宣言します。動的データオブジェクトに名称はありません。
