1

BSP を作成しており、ユーザー入力に基づいて、さまざまな DB テーブルからデータを選択する必要があります。これらのテーブルは異なるパッケージに含まれています。次のように、パスに基づいて、使用するテーブルを指定することは可能ですか。

data: path1 type string value 'package1/DbTableName',
      path2 type string value 'package2/OtherDbTableName',
      table_to_use type string.

if some condition
table_to_use = path1.    
elseif some condition
table_to_use = path2.    
endif.

select *
from table_to_use

     ...

endselect

私はABAPとOpen SQLを初めて使用し、これが簡単でばかげた質問になる可能性があることを認識しています:)どんな助けでも大歓迎です!

4

1 に答える 1

5

変数で使用するテーブルの名前を定義してから、リクエストのFROMクローズで変数を使用できます。

data tableName type tabname.  
if <some condition>.   
   tableName='PA0001'.   
else.   
   tableName='PA0002'.   
endif.   
select * from (tableName) where ...

安定版にはRAWSTRING、STRING、またはSSTRING型のフィールドを含めることができないため、このメソッドにはいくつかの制限があります。

テーブルが別のパッケージに入っているという事実に関しては、私はそれが重要ではないと思います。

よろしく、

于 2012-01-16T12:14:24.100 に答える