通过外部服务器通过SAP Gateway将表/多行发布到SAP

2020-09-24 17:09发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我知道同一主题上有很多帖...

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

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


嗨,

我知道同一主题上有很多帖子,但是我们面临的问题是,我们使用完全相同的格式来处理批处理操作,但是仍然没有发布数据。 有什么不对吗?

问题:我们无法通过SAP网关服务一次性将多个行从Web应用程序服务器发布到SAP。

到目前为止已尝试的方法:

1。 当前,我们通过循环调用POST RFC网关URL进行发布,并在每次调用中一一发布多行。 该方法正在工作并将数据发布到SAP中,但绝对不是实现此目的的有效方法。

问题:效率不高。

2。 我们尝试以JSON格式发布数据,SAP网关服务可以接受此格式。 但是数据没有通过发布并导致错误。

问题:数据未发布。

3。 在最后一种方法中,我们仅以JSON格式发布数据,但我们尝试以批处理格式发布。 在此方法中,对于发布每一行,我们正在准备请求正文和请求标头,但我们面临的问题是它没有在SAP中发布所有行。 默认情况下,即使重新定义了此博客允许进行多个CHANGESET处理,我们遇到了错误。

问题:只允许发布一项操作。

样品申请正文:

在附件中。

request-body-5.txt (582乙)
1条回答
吹牛啤
2020-09-24 18:02

尝试指定变更集键,以使框架知道正在处理单个变更集。 如下创建有效负载

-batch_206a-6c8e-c4e9
 内容类型:多部分/混合;  boundary = changeset_b938-88a2-fec5
 
 --changeset_b938-88a2-fec5
 内容类型:application/http
 内容传输编码:二进制
 
 POST ZVENDOR_RECONCILES设置为HTTP/1.1
 sap-contextid-accept:标头
 接受:application/json
 x-csrf令牌:V1lGA6EihdJ8ji37XVM21A ==
 接受语言:美国
 DataServiceVersion:2.0
 MaxDataServiceVersion:2.0
 汁液关闭取消:true
 内容类型:application/json

    {" Xblnr":" 5100000004",
     " Ebeln":" 4500000003"
    }

 --changeset_b938-88a2-fec5
 内容类型:application/http
 内容传输编码:二进制
 
 POST ZVENDOR_RECONCILES设置为HTTP/1.1
 sap-contextid-accept:标头
 接受:application/json
 x-csrf令牌:V1lGA6EihdJ8ji37XVM21A ==
 接受语言:美国
 DataServiceVersion:2.0
 MaxDataServiceVersion:2.0
 汁液关闭取消:true
 内容类型:application/json

    {" Xblnr":" 5100000005",
     " Ebeln":" 4500000003"
    }

 --changeset_b938-88a2-fec5
 内容类型:application/http
 内容传输编码:二进制
 
 POST ZVENDOR_RECONCILES设置为HTTP/1.1
 sap-contextid-accept:标头
 接受:application/json
 x-csrf令牌:V1lGA6EihdJ8ji37XVM21A ==
 接受语言:美国
 DataServiceVersion:2.0
 MaxDataServiceVersion:2.0
 汁液关闭取消:true
 内容类型:application/json

    {" Xblnr":" 5100000006",
     " Ebeln":" 4500000003"
    }
 
 --changeset_b938-88a2-fec5--
 --batch_206a-6c8e-c4e9--
 

然后,将断点放在Changeset_Begin,Create Entity和Changeset End中并跟踪程序流。

一周热门 更多>