SAP Cloud SDK-批处理请求创建重复数据

2020-08-27 15:23发布

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

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


当我尝试使用以下请求创建批处理请求时:

更新业务合作伙伴地址:

  1. 地址ID:25996
  2. BusinessPartner:1000000391
  3. 城市名称从"达拉斯"更改为"休斯顿"

创建一个新的地址电子邮件地址:

  1. 地址ID:259996
  2. 电子邮件地址:

    ethan@google.com

当我执行批处理请求时。 城市名称从达拉斯更改为休斯顿。 但是为AddressID 259996创建了两个电子邮件地址。

请检查以下图片以了解我的情况的详细信息。

具有城市名称的业务伙伴是达拉斯,并且没有任何电子邮件地址。

(354.7 kB)

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

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


当我尝试使用以下请求创建批处理请求时:

更新业务合作伙伴地址:

  1. 地址ID:25996
  2. BusinessPartner:1000000391
  3. 城市名称从"达拉斯"更改为"休斯顿"

创建一个新的地址电子邮件地址:

  1. 地址ID:259996
  2. 电子邮件地址:

    ethan@google.com

当我执行批处理请求时。 城市名称从达拉斯更改为休斯顿。 但是为AddressID 259996创建了两个电子邮件地址。

请检查以下图片以了解我的情况的详细信息。

具有城市名称的业务伙伴是达拉斯,并且没有任何电子邮件地址。

(354.7 kB)
付费偷看设置
发送
5条回答
callcenter油条
1楼-- · 2020-08-27 15:59

嗨,伊桑,

为了了解您在做什么,请回答我的问题:

我假设您使用"批处理"作为我们"批处理"类的别名。 然后,"事务"是您用作"批处理"构造函数的参数的对象。 您能告诉我如何创建"交易"对象吗?

我还想提供一些示例示例来更新业务伙伴地址:

批处理(
   变更集(
     BusinessPartnerAddress.requestBuilder()。update(
       BusinessPartnerAddress.builder()
         .businessPartner('1')
         .addressId('2')
         .houseNumber('10')
         。建立();
     )
   ),
   变更集(
     BusinessPartnerAddress.requestBuilder()。update(
       BusinessPartnerAddress.builder()
         .businessPartner('1')
         .addressId('3')
         .houseNumber('100')
         。建立();
     )
   )
 )
 .execute(目的地);

 

最诚挚的问候,

俊杰

一只江湖小虾
2楼-- · 2020-08-27 16:12

唐俊杰,

我尝试将更新请求和创建请求添加到相同的更改集中,如以下代码所示:

 var batchRequest = BusinessPartnerBatch(BusinessPartnerChangeset(
                    BusinessPartnerAddress.requestBuilder()。update(
                      BusinessPartnerAddress.builder()
                      .businessPartner('1000000497')
                      .addressId('26286')
                      .cityName('东京')
                      。建立()
                    ),
                   AddressEmailAddress.requestBuilder()。create(
                     AddressEmailAddress.builder()
                     .addressId('26286')
                     .emailAddress('abc @ abc')
                     。建立()
                    )
                   ))

 var response = await batchRequest.execute(destination);
 

电子邮件地址实体创建了两次。

我遗漏了一些东西吗,或者我们在同一变更集中不能有不同类型的请求。

注意事项

Ethan

callcenter油条
4楼-- · 2020-08-27 16:14

嗨俊杰

这里是有效载荷。

注意事项

Ethan

Violet凡
5楼-- · 2020-08-27 15:53

嗨,Ethan,

批处理请求的有效负载看起来不错,这解释了为什么我无法重现它。

此处是该产品的官方文档 OData Batch请求,以防您想要了解有效负载的外观。

我想您的ERP系统可能具有一些配置,可以创建第二个电子邮件地址。

最诚挚的问候,

俊杰

一周热门 更多>