6 つのキー フィールドを持つデータベース テーブルに対して SELECT クエリを実行したいと考えています。キー フィールドが keyA、keyB、...、keyF であるとします。
ABAP 機能モジュールへの入力パラメータとして、キー項目の構造が正確に示されている内部テーブルを受け取ります。したがって、その内部テーブルの各エントリは、データベース テーブルの 1 つのタプルに対応します。
したがって、内部テーブルのエントリに対応するデータベース テーブルからすべてのタプルを選択するだけです。さらに、まったく同じクエリで、そのデータベース テーブルの金額列を集計したいと考えています。
疑似 SQL では、クエリは次のようになります。SELECT SUM(amount) FROM table WHERE (keyA、keyB、keyC、keyD、keyE、keyF) IN {内部テーブル}。
ただし、この表現は ABAP OpenSQL では不可能です。
複合キーではなく、1 つの列 (keyA など) のみを指定できます。さらに、「選択テーブル」(SIGN、OPTIOn、LOW、HIGH を持つテーブル) は、キーワード IN の後にのみ使用できます。FOR ALL ENTRIES を使用することは可能ですが、この場合、同じクエリで集計が許可されていないため、SUM を使用できません。
助言がありますか?