使用其路径指定数据库表?可能吗?

时间:2012-01-16 11:37:25

标签: sql database select sap abap

我正在编写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,我知道这可能是一个简单/愚蠢的问题:)任何帮助都将非常感激!

1 个答案:

答案 0 :(得分:5)

您可以定义要在变量中使用的表的名称,然后在请求的FROM关闭中使用该变量:

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

此方法存在一些限制,因为稳定版不能包含RAWSTRING,STRING或SSTRING类型的字段。

至于表格在不同的包装中,我觉得不重要。

此致