SAP Business ByDesign(比亚迪)为您提供了对客户合同价格组件的REST/OData访问,包括标题级和项目级组件。这篇博文为您提供了一个使用比亚迪OData服务进行客户合同业务对象的价格组件(创建-读取-更新-删除)的往返示例。
在下面的演示中,您可以看到如何创建自定义OData服务并使用该服务对客户合同价格执行CRUD操作组件。
在本例中,我们使用SAP Business ByDesign定制OData服务创建客户合同的阅读更新删除(CRUD)价格组件。
示例客户合同标题级价格组件包括:
整体折扣运费重新上架费附加费
样品客户合同项目级价格组成包括:
产品折扣价格附加费(固定值)附加费(%)质量损失费商誉(%)保修(%)工作条件(%)
注:客户合同单据有定价设置为净定价或毛定价程序,这两个带有示例的选项都进行了详细说明。
用户可以创建读取更新删除标题级和项目级价格组件,使用以下类型代码进行净定价和总定价过程,以下是可用于处理不同价格组成部分的类型代码列表。
下面列出了净定价过程中的单据/表头级价格组成部分列表。
下面列出了净定价过程中的项目级价格组成部分列表。
单据/表头级价格组成部分列表总定价过程中的组件列在下面。
净定价过程中的项目级价格组件列在下面。
打开工作中心视图应用程序和用户管理–OData服务,并为业务对象客户合同创建自定义OData服务。
确保公开标题和项目价格组件属性,免费大数据,使您能够创建、筛选、读取、更新和删除所有相关的价格组件数据,包括节点根、CustomerContractPriceAndTaxCalculation、CustomerContractOperationPriceComponent、CustomerContractItem、CustomerContractOperationEmPriceComponent。在我的示例中,我将以下元素包含到自定义OData服务"contractpricecomponents":
IDCustomerContractPriceAndTaxCalculation(标题级价格组件)客户合同操作价格组件类型代码小数货币代码基本测量单位代码基本小数测量单位代码RateBaseQuantityType代码CustomerContractItem(从CustomerContractPriceAndTaxCalculation的项目关联创建)CustomerContractOperationalTempriceComponent(从CustomerContractItem的OperationalItemPriceComponent关联创建)类型代码小数货币代码基本测量单位代码基本小数测量单位代码RateBaseQuantityTypeCode
激活您的自定义OData服务,并在OData编辑器中记下服务URL。在我的示例中,服务URL是
https://{TenantHostname}}/sap/byd/odata/cust/v1/contractpricecomponents
如果需要,您可以使用元数据URL
https://{{TenantHostname}/sap/byd/odata/cust/v1/contractpricecomponents/$metadata
检索元数据。注意:将{TenantHostname}替换为byd tenant host name,例如:my123456。sapbydesign.com网站
客户合同文档的定价设置为"净定价"或"毛定价"过程,这两个选项都有详细的示例说明。
用户可以使用以下类型代码创建、读取、更新和删除两个标题级定价组件,用于"净定价"和"毛定价"过程,以下是可用于处理不同价格组件的类型代码列表。
下面列出了净定价过程中的文档/标题级价格组件列表。
下面列出了总定价过程中的文档/标题级价格组件列表。
在自定义OData服务中选择标题级价格组件相关字段与客户合同计价开票页签的总定价中的总折扣的UI字段相关。
步骤1:创建总折扣
使用http方法POST和实体设置CustomerContractOperationalPriceComponent您可以创建总折扣,确保您传递了值对于以下元素ParentObjectID、TypeCode,小数值和度量单位代码:
https://{TenantHostname}}/sap/byd/odata/cust/v1/customercontractpricecomponents/customerContractOperationPriceComponentCollection
在我的示例中,我使用JSON主体(ParentObjectID是客户合同对象ID)
和http头参数
x-csrf-token=fetch将csrf令牌获取到通过POST-service-call创建材料(注意:x-csrf-token是在GET-service-call中获取的,详细信息请参阅postman示例集合)。注:客户合同ID应为系统中有效且已存在的ID.
结果比亚迪返回以下OData响应主体:
您可以看到整体折扣是用相关信息创建的。
注:关于x-csrf-token的详细信息:
SAP Business ByDesign系统生成一个csrf token,并在HTTP响应中发回标题字段X-CSRF-Token。如果带有值Fetch的头字段X-CSRF-Token与非修改请求一起发送,则在非修改请求(如GET)中会发生这种情况。注意:CSRF(跨站点请求伪造)令牌是一个随机的、难以猜测的字符串。服务器将生成一个随机字符串并存储在会话中,或者通过设置包含该值的cookie来存储例如,要遵循的步骤:步骤1:通过设置值为"fetch"的头键字段"x-csrf-token"来调用Get服务步骤2:在上面的GET service call的HTTP响应头中,您读取字段值"x-csrf-token"步骤3:在随后的POST调用中使用x-csrf-token.
步骤2:更新整体折扣