目次
OPENSQL
ABAPプログラミングで用いられるSQLはOPENSQLといいます。
SQLは、データベースから内部テーブルにデータを抽出する際に使う命令です。
OPEN SQLは複雑なSQLを記述することなく、データベーステーブルからデータを抽出することができます。
基本的なSELECT文
READ、SELECT
READとSELECTの特徴をまとめています。
READ文は内部テーブルからデータを読み取るのに対し、SELECT文はデータベースからデータを読み取ります。
READ
READ
ステートメントは、内部テーブルからデータを読み取るために使用されます。- プログラムの実行中にデータを操作し、処理するために使用される一時的なデータ構造です。
READ TABLE itab INTO wa WHERE ...
またはREAD TABLE itab WITH KEY ...
といった形式で使用されます。READ
は、指定された条件に一致する内部テーブルの最初のレコードを見つけるのに役立ちます。見つかった場合は、そのレコードをワークエリアやフィールドシンボルに割り当てます。READ
ステートメントは通常、線形検索またはバイナリ検索を使用して、内部テーブル内のデータを検索します。
SELECT
SELECT
ステートメントは、データベーステーブルからデータを読み取るために使用されます。- データベーステーブルは、永続的なデータストレージであり、プログラムの実行間にデータが保持されます。
SELECT ... FROM dbtab WHERE ... INTO TABLE itab
といった形式で使用されます。SELECT
は、指定された条件に一致するデータベーステーブルのレコードを抽出し、内部テーブルに格納するのに役立ちます。SELECT
ステートメントは、データベースからデータを取得するためのクエリを実行します。
複数のテーブルを内部結合してデータを取得する方法はこちらの記事で紹介しています。
【内部結合】Inner Joinを利用してデータを取得する方法
内部結合とは ABAPにおける内部結合(Inner Join)は、複数のテーブルを共通キーに基づいて結合し、必要なデータをまとめて取得するための命令です。 基本的には SELECT…
フィールドシンボル
フィールドシンボルとは、変数のことで内部テーブルの1つ1つのレコードにフィールドシンボルを割り当てることができます。
フィールドシンボルは、データオブジェクトへの動的な参照を提供し、メモリ内のデータを簡単にアクセスおよび操作できる
フィールドシンボルを用いることで、ワークエリアを定義しなくてもよいためメモリを節約することができます。
・フィールドシンボルはワークエリアと同じようなものと考えてよい。
LOOP処理
LOOP AT (内部テーブル) ASSIGNING FIELD-SYMBOL(<xxx>).