如何获得C4C里某个code字段对应的描述信息
通过我这篇文章介绍的方法使用C4C OData服务去取服务订单数据(Sales Order):
如何用代码的方式取出SAP C4C销售订单创建后所有业务伙伴的数据
https://www.jianshu.com/p/a15d824f8e57
这些不同角色的业务伙伴(business partner),
可以通过OData服务返回给消费者,但是不同角色通过不同的RoleCode来区分。
但我们咋知道这些由数字组成的code代表什么含义呢?
通过下面的步骤我们找到答案。
Business Configuration工作中心,视图:Download Code List:点Download Code List超链接:
选择03:SAP On Premise Integration:
下载一个zip包到本地,解压之后是两个csv文件:
打开之后,所有的RoleCode的含义都能找到,比如PartyRoleCode:
比如我创建了一个Sales Order(销售订单)后,如何用代码的方式取出这些通过SAP Partner determination自动填充的Involved Parties信息呢?
一种方法可以使用SAP C4C Odata service。
工作中心 Administrator->Odata Service Explorer,
从下拉菜单里选择Custom Odata services,点击New新建一个OData服务。
选中销售订单对应的BO:CustomerQuote,节点选择Party,这个节点下面就包含了销售订单所有的业务伙伴数据:
不同的业务伙伴通过Party节点上的RoleCategoryCode和RoleCode区分,所以这两个字段一样要选上:
最后在浏览器里访问Odata,得到所有Party节点的数据:
https://<host>.c4c.saphybriscloud.cn/sap/c4c/odata/cust/v1/zjerrysalesorder/CustomerQuoteCollection(‘00163E7209C61EE8B7B05E4D176BAB6B’)/CustomerQuoteParty
剩下的就是用代码消费这个OData服务了。具体步骤参考SAP官方的github:
https://github.com/SAP/C4CODATAAPIDEVGUIDE
需求很简单,能够创建销售订单,在行项目里添加产品,带出价格来,同时把总价显示在销售订单抬头区域。
如下图所示:
下面是具体配置。
- Business Configuration里,点击Sales Order的配置:
新建一个document type,maintenance mode设为internal,意思是使用internal pricing,这样不和ERP的pricing做集成。
- Products工作中心,Price Lists视图,创建一个新的price list:
维护Scale,这个Scale的意思是根据购买产品数量的不同,价格也有所不同。
下图配置的含义是,买10个以内的ID为1042416的产品,每个需要付10美元,超过10个但又没有到达20个,则每个9美元。超过20个每个8美元。
因此我如果买了31个,则总价为31 * 8 = 248美元。
- 创建销售订单时,记得使用第一步创建的document type,并且维护Seller Unit。销售订单的货币会使用Seller Unit主数据上维护的货币单位(Currency)。
这个是SAP C4C标准文档里提到的。Seller Unit主数据的货币单位在此处维护:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
- 点赞
- 收藏
- 关注作者
评论(0)