点击此处---> 群内免费提供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语句
通常,Open SQL仅访问ABAP数据库模式(其名称由FM DB_DBSCHEMA_CURRENT返回)中的ABAP词典中定义的表和视图。 对于其他模式,您需要本机SQL(AMDP,ADBC,EXEC SQL)或辅助连接。
如果您使用辅助连接来访问其他数据库表或模式,则必须知道,还必须有一个 本地AS ABAP的ABAP词典中具有相同名称和相同类型的数据库表。 Open SQL假定这些"远程"数据库表或视图的类型信息与本地数据库表的类型信息完全对应。
嗨,霍斯特。
我正在使用HANA Express中的SFLIGHT演示数据。 HDB中的所有SFLIGHT演示对象都位于SFLIGHT模式中。 尝试使用辅助数据库连接从SAP NW与Open SQL进行连接...
当我尝试使用select时:
->出现错误,因为ABALIGHT DD中不存在SFLIGHT.SBOOK(显然)。
然后我尝试另一个:
->我进行了转储,因为HDB中没有SYSTEM.SBOOK表(dbms尝试在默认SYSTEM模式中查找表)。
因此,我已经在HANA数据库中创建了另一个用户,现在我正在使用具有该新用户凭据的辅助数据库连接将SAP NetWeaver连接到HDB。
问题是:
如何在HDB中为此数据库用户设置默认架构SFLIGHT,所以如果我使用后者,HANA dbms将在SFLIGHT架构中查找表SBOOK?
先谢谢了。
问候
亚当
一周热门 更多>