如何通过服务层更新机会合作伙伴(OPRT)记录?

2020-08-26 11:59发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个SAP Business...

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

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


我有一个SAP Business One OPRT记录,我想通过服务层更新该记录,其PrtID = 100000和Name =" 100000"。

根据EDMX和 https://b1sa.github.io/hackathon/上的文档 b1sl.html 我已经为服务层创建了这个Fiddler请求:

 POST https://xxx.xxx.xxx.xxx:50000/b1s/v1/PartnersSetups(100000)HTTP/1.1
 连接:保持活动
 Cookie:B1SESSION = 565b0534-169a-11ea-8000-000c298b2471;  ROUTEID = .node3
 内容类型:application/json:charset = utf-8
 内容长度:25
 主持人:xxx.xxx.xxx.xxx:50000
 {" Details":" Some string"} 

服务层响应:

 HTTP/1.1 400错误的请求
 日期:2019年12月4日星期三14:04:28 GMT
 伺服器:Apache/2.4.34(Unix)
 DataServiceVersion:3.0
 内容类型:application/json; charset = utf-8
 有所不同:接受编码
 连接方式:关闭
 传输编码:分块


 a1
 {
    "错误":{
       "代码":-1000,
       "信息" : {
          " lang":" zh-cn",
          " value":"未定义'OPRT'的字段'PrtId'"
       }
    }
 }


 0
 

我对此进行了多种尝试,包括用单引号引起来的记录键:

 POST https://xxx.xxx.xxx.xxx:50000/b1s/v1/PartnersSetups('100000')HTTP/1.1 

,并在有效负载中包含" PartnerID"," PrtId"和"名称":

 {" PartnerID":" 100000"," Details":"某些字符串"} 
 {" PrtId":" 100000"," Details":"某些字符串"} 
 {"名称":" 100000","详细信息":"某些字符串"} 

...但是它们都以"未定义'OPRT'的字段'PrtId'"进行响应。

我怀疑我是否为此实体类型以错误的方式调用了此服务,或者服务层不支持更新合作伙伴,或者是服务层错误。

在9.3 PL9上完成的测试。 我计划进行一次PL11更新,以查看这是否有所作为,但确实可以在PL9上取得进展。

谢谢。

4条回答
Aaron 3364
2020-08-26 12:31

我创建了一个支持事件,SAP确认该文档不正确,并且服务层未实现OPRT更新。 他们正在创建内部事件以使文档"已修复"。

他们建议我创建一个影响力想法,我已经在这里完成: https ://influence.sap.com/sap/ino/#/idea/241281

好像又回到了DI-API:-(

感谢 Ralph Oliveira 的输入。

一周热门 更多>