INTO 句の CORRESPONDING FIELDS オプションを使って作業をしても、
データベースから読み込まれるデータの量は制限されず、
結果 ... SELECT 句で個別項目を指定する場合は、
INTO 句の項目一覧を使用する必要はありません。
----------------------------------------------------------------------
読込元が単一行か複数行かにかかわらず、
フラット作業領域を指定することができます。
データをフラット作業領域に読み込むには、INTO 句で以下を使用します。
SELECT ...INTO [CORRESPONDING FIELDS OF] <wa> ...
少なくとも読み込まれる行のサイズ以上の対象領域が必要です。
ただし、これがデータ型に対する唯一の制限です。データ型の選択は
、読み込んだ列が <wa> でアドレス指定されるための SELECT 句の指定にもとづいて行います。
SELECT 句のアスタリスク (*) を指定する ( すべての列を選択する) と、
データベーステーブルの構造にしたがって、
データは作業領域へ左から右に転送されます。
この場合は、<wa> の構造は関係ありません。
SELECT 命令の後ろの各列の値をアドレス指定できるようにするためには、
作業領域がデータベーステーブルと同じ構造を持つ必要があります。
SELECT 句で個別の列または集合式を指定すると、
作業領域の構造にしたがって、列は作業領域へ左から右に転送されます。
データを <wa> に読み込むと、前の内容が上書きされます。
しかし、SELECT 命令の影響を受けない <wa> のコンポーネントは、前の値を保持します。
作業領域が構成されている場合は、
CORRESPONDING FIELDS オプションを使用することができます。
このオプションでは、データベーステーブルと
作業領域で同一名称の項目の内容だけが転送されます。
これには、選択において指定したエイリアス列名が含まれます。
INTO 句の CORRESPONDING FIELDS オプションを使って作業をしても、
データベースから読み込まれるデータの量は制限されず、
結果セットから ABAP プログラムに読み込まれるデータの量だけが
制限されます。読み込まれる列の数を制限する唯一の方法は SELECT 句にあります。
--------------------------------------------------