如何获得C4C里某个code字段对应的描述信息

网友投稿 611 2022-05-30

通过我这篇文章介绍的方法使用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:

如何获得C4C里某个code字段对应的描述信息

比如我创建了一个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://.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的原创文章,请关注公众号"汪子熙":

ABAP ERP Java

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:AI 上医真云,华为云助力西安盈 谷服务医疗
下一篇:地球引擎初级教程——JavaScript 简介(一文读懂如何使用GEE)
相关文章