S/4HANA系统中的价格管理模块,包括价格主数据管理和定价信息管理。S/4HANA系统作为定价管理系统,外围的采购系统可以从S/4HANA系统中读取定价信息,并且可以创建,修改和删除价格主数据。

S/4HANA系统提供价格主数据OData服务API_PURGPRICINGCONDITIONRECORD_SRV这个同步的主数据入站服务可以让用户获取,创建,更新和删除采购价格主数据。该OData服务包括采购中的定价记录,定价条件有效期,定价等级和定价补充。

定价数据集成场景配置

为了激活上述的OData服务,用户必须创建并激活通信场景SAP_COM_0294。

OData服务列表

1.png

OData服务操作

执行更新操作之前,需要使用读取操作从返回结果中获取相关数据的Etag,并将Etag的值放入到请求If-Match中。删除操作的具体执行方式与定价类型中的从数据库删除设置有关。如果从数据库删除设置为“删除(仅设置删除标记)”,那么执行删除操作时结果如下表:

2.png

如果从数据库删除设置为“弹出”或者“没有弹出”,那么执行删除操作时结果如下表:

3.png

删除定价条件有效期

请求正文 - 不支持单独删除定价条件有效期:
DELETE <host>/sap/opu/odata/SAP/API_PURGPRCGCONDITIONRECORD_SRV/A_PurgPrcgCndnRecdValidity(ConditionRecord='0000008828',ConditionValidityEndDate=datetime'2019-03-17T00:00:00') X-CSRF-Token: abc If-Match: W/"'BAF931DFDD29AC78BCBCD9C323317A8F4392137C'"
返回结果:
Status: 400 Bad Request dataserviceversion: 2.0

删除定价记录

请求正文:
DELETE <host>/sap/opu/odata/SAP/API_PURGPRCGCONDITIONRECORD_SRV/A_PurgPrcgConditionRecord('0000008828') X-CSRF-Token: abc If-Match: W/"'2FF83B79E4F8F7AB880BBA47B8984299312A3D75'"

返回结果:

Status: 204 No Content
dataserviceversion: 2.0

删除定价等级

请求正文:
DELETE <host>/sap/opu/odata/sap/API_PURGPRCGCONDITIONRECORD_SRV/A_PurgPrcgCndnRecordScale(ConditionRecord='0000046706',ConditionSequentialNumber='1',ConditionScaleLine='1') X-CSRF-Token: abc If-Match: W/"'BF81A04BE9E1C2F2EBB5929A492A9CFA38975469'"

返回结果:

Status: 204 No Content
dataserviceversion: 2.0

删除定价补充

请求正文:
DELETE <host>/sap/opu/odata/SAP/API_PURGPRCGCONDITIONRECORD_SRV/A_PurgPrcgCndnRecdSuplmnt(ConditionRecord='0000032258',ConditionSequentialNumber='2') X-CSRF-Token: abc If-Match: W/"'6CF1EF41AEC09A1B34206D25BA0F1CBB1029F9AA'"

返回结果:

Status: 204 No Content
dataserviceversion: 2.0

结语

因为和定价类型的配置有关联,请参考上述的结果列表,来做相应的配置。