goo blog サービス終了のお知らせ 

さくら情報技術研究所 (日本人エンジニア雇用を守る会) 

日本人同胞エンジニア権利守ろう
中国人は、小日本と馬鹿にしている。
その反日中国人を雇うことで、日本人雇用が危ない。

対象の領域の指定INTO 句の CORRESPONDING FIELDS

2008年01月22日 | Weblog

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 句にあります。


--------------------------------------------------