ABAP使用类的方式查询外部数据库

使用DBCO配置的数据库连接,ABAP可以轻松操作外部数据库。

但如果外部数据源是通过HANA SDI建立的VIRTUAL TABLE,则使用传统的EXEC SQL方式传WHERE条件无效。虽然最终返回给ABAP的数据是按WHERE条件过滤后的值,但监控SDI日志可以发现其原理是先取出对方表的全部数据、再在SDI中过滤后返回给SAP,这会造成非常严重的性能问题。

使用类的方式执行NATIVE SQL则完美解决了这个问题,核心类主要包括以下几个:

CL_SQL_CONNECTION
CL_SQL_STATEMENT
CL_SQL_RESULT_SET

以下为ABAP使用类的方式操作外部数据库的一个小DEMO:

发表评论