$ batch无法用于OData中的函数导入

2020-09-03 01:07发布

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

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


专家,

我们正在OData(SEGW-POST)中使用函数导入,该函数运行正常,但是现在我们的要求是在Batch中使用函数导入。 我在网关下面尝试过:

在Gateway Client中的URL下面-并使用POST方法的内容类型:

多份/混合; boundary =批处理

/sap/opu/odata/sap/Z _ **** _ SRV/$ batch 
  - 批量
  内容类型:
 应用程序/http
  内容传输编码:
 二元
 GET start?XYZ = '90/100/2019/03'&ABC ='****'&User ='****'HTTP/1.1
  - 批量
  内容类型:
 应用程序/http
  内容传输编码:
 二元
 GET start?XYZ = '90/100/2019/09'&ABC ='****'&User ='*****'HTTP/1.1
  - 批量
 

我从上面开始是函数导入名称,而XYZ,ABC和User是函数导入的导入参数。

但是我们收到500错误,提示" 取消引用NULL引用"

请帮助,因为我们遇到了麻烦,无法找到与此有关的任何信息。

谢谢

最佳成绩,

Raina

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

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


专家,

我们正在OData(SEGW-POST)中使用函数导入,该函数运行正常,但是现在我们的要求是在Batch中使用函数导入。 我在网关下面尝试过:

在Gateway Client中的URL下面-并使用POST方法的内容类型:

多份/混合; boundary =批处理

/sap/opu/odata/sap/Z _ **** _ SRV/$ batch 
  - 批量
  内容类型:
 应用程序/http
  内容传输编码:
 二元
 GET start?XYZ = '90/100/2019/03'&ABC ='****'&User ='****'HTTP/1.1
  - 批量
  内容类型:
 应用程序/http
  内容传输编码:
 二元
 GET start?XYZ = '90/100/2019/09'&ABC ='****'&User ='*****'HTTP/1.1
  - 批量
 

我从上面开始是函数导入名称,而XYZ,ABC和User是函数导入的导入参数。

但是我们收到500错误,提示" 取消引用NULL引用"

请帮助,因为我们遇到了麻烦,无法找到与此有关的任何信息。

谢谢

最佳成绩,

Raina

付费偷看设置
发送
3条回答
SAP浪
1楼 · 2020-09-03 01:43.采纳回答

嗨Raina,

请在下面进行更正,我也弄错了

在第0-1-1-2-1-2行中隔开,然后跟着

-changeset-

-batch-


我希望它能正常工作。

谢谢

Hemendra

SAP小黑
2楼-- · 2020-09-03 01:28

亲爱的Hemendra,

感谢您的答复,但是您共享的所有点已得到处理,并且错误仍然相同,即"取消引用NULL参考"

不知道我要去哪里错。请问有人可以帮忙吗?

谢谢

最好的问候

Raina

黑丝骑士
3楼-- · 2020-09-03 01:51

嗨Raina,

今天是克里希纳勋爵的生日,所以是Hare-Krishna。

我希望你 在您的DPC_EXT中实现以下方法:

根据您的要求

1,以下针对函数导入逻辑进行了重新定义。/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜EXECUTE_ACTION

在下面为$ batch重新定义(下面的方法中只有注释的代码)-如下所示:

2。/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜CHANGESET_BEGIN

3。/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜CHANGE SET_END

4。 也可能需要检查-过滤器

您已经成功测试了单个功能导入,而无需先进行批处理。

因此可能在您的网关客户端中,请进行如下测试:

URL:使用POST

/sap/opu/odata/sap/Z _ ****  _SRV/$ batch 

标题:请同时添加x-csrf-token和Content-Type

 Content-Type:multipart/mixed;  boundary = batch 

请求正文:请求正文很少是棘手的部分,需要格外小心才能成功进行测试

-批量
 内容类型:多部分/混合; 边界=变更集


 --changeset
 内容类型:application/http
 内容传输编码:二进制
 接受:application/xml
 
 POST开始吗?XYZ = '90/100/2019/03'&ABC ='****'&User ='****'HTTP/1.1


 --changeset
 内容类型:application/http
 内容传输编码:二进制
 接受:application/xml

 POST开始吗?XYZ = '90/100/2019/09'&ABC ='****'&User ='*****'HTTP/1.1


 --changeset
  - 批量
 

请注意请求正文中的行间距,这应该是:

从顶部--batch到--changeset 0-2-1-2-1-2

我希望以上情况能够得到解决。

一周热门 更多>