SAP本机SQL和Oracle

2020-09-30 00:17发布

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

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


嗨,

我对本机SQL和存储过程的调用有一个奇怪的问题。 SAP在MSSQL Server上运行,我们需要更新另一个在oracle上的数据库。 一切正常,直到我们将SAP从EHP 6升级到EHP 7。

oracle服务器上的存储过程具有3个参数,其目的是维护oracle上的表。 参数:

  1. 操作CHAR2(SAP)VARCHAR2(Oracle)
  2. ID INT4(SAP)NUMBER(Oracle)
  3. 名称CHAR50(SAP)VARCHAR2(Oracle)

动作可以具有值I,U,D。

问题是对于我编写的值,过程接收的值是空的。 当我发送IU,II,IF时,程序内部的IR参数值为I(第一个字母)。 ID是正确的,名称不能为空。

 EXEC SQL。
    执行过程change_tab_values(IN:l_action,IN:l_id,IN:l_name)
 ENDEXEC。

我还尝试了 ADBC方法。

有人可以解决这个问题吗?

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

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


嗨,

我对本机SQL和存储过程的调用有一个奇怪的问题。 SAP在MSSQL Server上运行,我们需要更新另一个在oracle上的数据库。 一切正常,直到我们将SAP从EHP 6升级到EHP 7。

oracle服务器上的存储过程具有3个参数,其目的是维护oracle上的表。 参数:

  1. 操作CHAR2(SAP)VARCHAR2(Oracle)
  2. ID INT4(SAP)NUMBER(Oracle)
  3. 名称CHAR50(SAP)VARCHAR2(Oracle)

动作可以具有值I,U,D。

问题是对于我编写的值,过程接收的值是空的。 当我发送IU,II,IF时,程序内部的IR参数值为I(第一个字母)。 ID是正确的,名称不能为空。

 EXEC SQL。
    执行过程change_tab_values(IN:l_action,IN:l_id,IN:l_name)
 ENDEXEC。

我还尝试了 ADBC方法。

有人可以解决这个问题吗?

付费偷看设置
发送
1条回答
四川大学会员
1楼 · 2020-09-30 00:56.采纳回答

您好,弗拉基米尔,ABAP本机SQL语句未由数据库共享库(DBSL)进行"翻译",而是仅执行了这些操作。 这就是SAP建议并建议使用独立于数据库的OPEN SQL语句的原因。我很遗憾,您必须重写本机SQL语句并将其改编为Oracle。

请注意,

Janos

一周热门 更多>