使用HANA作为辅助连接来打开SQL

2020-09-26 04:20发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 当我运行以下程序时,出现...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

当我运行以下程序时,出现错误" SAPSQL_INVALID_TABLENAME-在SQL命令中指定的表名未知。"

我的问题是如何访问属于默认模式之外的模式的表。 即我应该使用开放式SQL访问SAPECC.VBAK。

如何克服此语法错误?

 TYPES:类型为ty_vbak,
        vbeln TYPE vbak-vbeln,
        erdat TYPE vbak-erdat,
        erzet TYPE vbak-erzet,
       ty_vbak的结尾,
       tt_vbak ty_vbak的类型表。
 数据:lr_data TYPE REF TO数据,
       lt_vbak类型tt_vbak,
       lt_cols TYPE adbc_column_tab,
       lv_table TYPE字符串VALUE'SAPECC.VBAK'。

 选择vbeln erdat erzet
   来自('SAPECC.VBAK')
 连接(" HED")
 进入表lt_vbak
 在erdat GT'20150101'上。


 如果lt_vbak []不初始化。
   排序lt_vbak。
   数据lr_alv类型参考cl_salv_table。
   尝试。
       cl_salv_table =>工厂(
         导入r_salv_table = lr_alv
         更改t_table = lt_vbak)。
       lr_alv-> display()。
     捕获cx_root。
   ENDTRY。
 万一。
 

请注意,我可以使用ADBC和NATIVE SQL语句从ABAP访问上表SAPECC.VBAK。 但是,我很难使用连接('HED')在HANA DB上执行现有的OPEN SQL语句

2条回答
hongfeng1314
2020-09-26 04:44 .采纳回答

通常,Open SQL仅访问ABAP数据库模式(其名称由FM DB_DBSCHEMA_CURRENT返回)中的ABAP词典中定义的表和视图。 对于其他模式,您需要本机SQL(AMDP,ADBC,EXEC SQL)或辅助连接。

如果您使用辅助连接来访问其他数据库表或模式,则必须知道,还必须有一个 本地AS ABAP的ABAP词典中具有相同名称和相同类型的数据库表。 Open SQL假定这些"远程"数据库表或视图的类型信息与本地数据库表的类型信息完全对应。

一周热门 更多>