我正在编写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&的新手打开SQL,我知道这可能是一个简单/愚蠢的问题:)任何帮助都将非常感激!
答案 0 :(得分:5)
您可以定义要在变量中使用的表的名称,然后在请求的FROM关闭中使用该变量:
data tableName type tabname.
if <some condition>.
tableName='PA0001'.
else.
tableName='PA0002'.
endif.
select * from (tableName) where ...
此方法存在一些限制,因为稳定版不能包含RAWSTRING,STRING或SSTRING类型的字段。
至于表格在不同的包装中,我觉得不重要。
此致