首先我们得有一个可以正常工作的Restful API: 然后在Cloud for Customer的Cloud Application Studio里创建Restful API的模型,把第一步可以正常工作的Restful API url填进模型里去: 然后在ABSL里使用如下代码进行消费: import ABSL; if( this.OutboundDeliveryID.IsInitial() == false){ raise already_delivered.Create("E")…
Created by Wang, Jerry, last modified on Dec 19, 2014 The following steps demonstrates how to expose a function module as a web service in CRM. create a FM to return product description by given product ID. Just use the following source code: SELECT…
需要创建的销售订单的明细通过硬编码指定: 比如销售订单的描述为Jerry Test 2019-1-23 16:05PM 执行之后,看到Status Code 201,说明创建成功: 到UI上能看到成功创建的销售订单: 实现代码: package odata; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URI; import org.apache.http.Htt…
在C4C里创建一个新的Sales Quote: 添加三个行项目: 执行action "Request External Pricing"会从ERP更新pricing信息,触发ATP检查: ATP检查结束,第二个和第三个行项目没货,产品Pricing明细显示如下: 同样触发的还有Credit check.当前高亮的行项目quantity为20,导致Credit超过限制了. 把20 EA改成1EA再次触发External Pricing action: 这次就没有超过Credit限制. 要…
需求:使用nodejs代码在SAP Cloud for Customer里创建Individual customer实例. 代码: var createAndBind = require('../jerryapp/service/createAccountinC4C.js'); createAndBind("o0KlM1i2_4-zHRmDk-IWGRlA1Cjc"); 上述代码基于微信open IDo0KlM1i2_4-zHRmDk-IWGRlA1Cjc在系统里创建一个Individ…
先看一个效果,我录了一个视频,发布在视频网站上,大家可以先看看SAP Cloud for Customer里启用了partner 自动determination后的效果. 在SAP Cloud for Customer里启用partner determination的步骤: 进入Business Configuration工作中心, activity list里根据Sales Order作为关键字搜索: 在Sales Order的配置页面里,点击Involved Parties ->Mantai…
去年5月的时候,Jerry曾经写了一篇文章:使用Java程序消费SAP Leonardo的机器学习API,而最近另外做的一个项目,需要在Web应用里做同样的事情. 因为有了前一篇文章的铺垫,避免了很多重复的工作量.本文还是选择使用SAP Leonardo里的一个Product Image Classification API,即给定一张产品的图片,该API能识别出此产品的类别. 再回顾下这个API的功能:该API的模型是由SAP基于大约5万张Icecat图片训练而成,能区分29种不同的类别,这些…
在ABAP On-Premises环境下,使用ABAP编程消费第三方服务,相信很多ABAP顾问都已经非常熟悉了,无非就是使用CL_HTTP_CLIENT或者CL_REST_HTTP_CLIENT来发送和接收HTTP请求. 下图这短短的38行代码,展示了如何使用ABAP工具类CL_HTTP_CLIENT去访问百度首页并拿到回复. 从百度返回的响应,通过方法GET_CDATA获得,存储于变量rv_data内: 当然如果我们是做正式的产品开发的话,一般不会把第三方服务的URL硬编码在应用程序里,而是通…
昨天Jerry的文章 纯JavaScript实现的调用设备摄像头并拍照的功能 介绍了纯JavaScript借助WebRTC API来开发支持调用设备的摄像头拍照的web应用.而我同事遇到的实际情况是,需要使用SAP UI5这个前端框架来开发web应用.在有了前一篇文章的知识储备后,在SAP UI5里完成这个功能,可以采取同样的思路. 我们先回忆前一篇文章里提到的技术实现的要点: (1) 在web应用的HTML页面里定义HTML5用于显示视频的原生标签:video (2) 使用WebRTC的API…
今天的文章来自Wu David,SAP成都研究院C4C开发团队的架构师,在加入团队之前曾经在SAP上海研究院工作,组内同事习惯亲切地称呼他为大卫哥. 大卫哥身高据Jerry目测有1米8以上,是成都C4C开发团队身高最高的几位男同事之一.身体非常结实,是成都SAP篮球队的成员之一.有一次大卫哥坐在自己座位上,一手撑在桌子上认真地看着向他求助的同事电脑上打印的日志,飞机哥张航拍了一张大卫哥的背影,评价道:"从照片里看出了大卫哥发达的背阔肌." 飞机哥张航后来完成了一幅素描,下图左边正在沉思…
比如我创建了一个Sales Order(销售订单)后,如何用代码的方式取出这些通过SAP Partner determination自动填充的Involved Parties信息呢? 一种方法可以使用SAP C4C Odata service. 工作中心 Administrator->Odata Service Explorer, 从下拉菜单里选择Custom Odata services,点击New新建一个OData服务. 选中销售订单对应的BO:CustomerQuote,节点选择Party…
Salesforce Force.com integrates and optimizes several different data persistence technologies to deliver transparent polyglot persistence for all your applications and devices. With Force.com, you don't have to deal with the complexity of trying to i…
曾经有朋友在知乎上向我提问,咨询在SAP成都研究院工作的体验. 当时,我的回答提到一点,SAP注重工作与生活的平衡,这也是SAP中国官网强调的一点. https://www.sap.com/china/about/careers/who-we-are/life.html 具体到SAP成都研究院,这里的同事们业余时间的兴趣爱好广泛,既有传统的足球,篮球,羽毛球,游泳这些,也有门槛相关较高的铁人三项运动,详情可以参考SAP成都研究院铁人三项大神邓阳的文章: SAP成都研究院的体育故事. 当然,这些每…
今天的文章仍然来自Jerry的老同事,SAP成都研究院的张航(Zhang Harry).关于他的背景介绍,请参考张航之前的文章:SAP成都研究院飞机哥:程序猿和飞机的不解之缘.下面是他的正文. 大家好,我是来自SAP成都研究院C4C开发团队的Harry. 今天给大家带来一个SAP C4C中国本地化的案例分享,这是我们成都C4C开发团队目前正在进行中的一个具有前瞻性的原型开发:通过C4C.微信.和基于Recast.AI的聊天机器人进行集成, 提升C4C的工单处理能力.  这个原型开发之前我也在SA…
当我们在试图使用SAP C4C OData事件通知这个功能时,如果遇到下列提示消息,说明这个功能在business configuration里没有开启: The OData Event Notification is not scoped in Business Configuration. 下面是在1808这个版本里启用C4C Odata event notification的步骤. 进入Business Configuration工作中心, 点击Edit Project Scope: 按照…
首先按照我这篇文章在SAP云平台上给您的账号分配MongboDB服务:如何在SAP云平台的Cloud Foundry环境下添加新的Service 然后从这个链接下载SAP提供的例子程序. 1. 使用命令行 cf marketplace查看当前SAP云平台的MongoDB的版本号:在我使用的SAP云平台上是v3.0-dev 使用如下命令行创建一个服务实例: cf create-service mongodb v3.0-dev mongo-service 2. 到例子程序的根目录下,使用命令mvn…
copy内容的网址: https://segmentfault.com/a/1190000007020623 使用vue-cli构建的vue项目,webpack的配置文件是分散在很多地方的,而我们需要修改的是build/webpack.base.conf.js,修改两处的代码 // 在开头引入webpack,后面的plugins那里需要 var webpack = require('webpack') // resolve module.exports = { // 其他代码... resolv…
(1) 在SAP CRM里创建一个Lead后,会观察到有一个Opportunity自动生成,这是通过什么后台逻辑实现的呢? 检查前台日志或者后台事务码SLG1,发现有很多属于用户WF-BATCH的日志. Who is WF-BATCH? WF-BACTH is a Workflow administrator user to identify and handle all the workflow related jobs (BACKGROUND), it has "SAP_ALL"…
通过我这篇文章介绍的方法使用C4C OData服务去取服务订单数据(Sales Order): 如何用代码的方式取出SAP C4C销售订单创建后所有业务伙伴的数据 https://www.jianshu.com/p/a15d824f8e57 这些不同角色的业务伙伴(business partner), 可以通过OData服务返回给消费者,但是不同角色通过不同的RoleCode来区分. 但我们咋知道这些由数字组成的code代表什么含义呢? 通过下面的步骤我们找到答案. Business Confi…
首先在C4C里创建一个新的Opportunity: 给这个Opportunity添加一个新的产品: 点按钮:Request Pricing, 从ERP抓取pricing数据,点按钮之前Negotiated price是890.00 USD: 点了按钮之后从ERP抓取的pricing数据把C4C原有数据覆盖了: 再创建ERP Sales Quote: 成功创建后,在Sales Document里查看: 点击Document ID超链接查看Quote form: document flow: 同样方…
我们在SAP GUI里双击一个screen编号: 单击Layout按钮可以打开Screen Painter: 这背后的工作原理是什么? 是这个RFC destination在起作用: Connection Type为T,当Layout按钮被点击后,通过TCP/IP通知执行文件gnetx.exe: 从任务管理器里能查看到这个执行文件的进程: 要获取更多Jerry的原创文章,请关注公众号"汪子熙":…
我们在SAP WebIDE里进行UI5应用开发时,当然也希望能将开发的代码纳入到github版本管理中去. 步骤其实非常简单. 右键点击WebIDE里UI5应用,git->Initialize Local Repository: 输入github上的用户名和密码,稍后WebIDE会用这个credential与Github建立连接. 在Github上新建一个空的代码仓库: 把生成的url复制下来,粘贴到SAP WebIDE的git repository配置对话框中: 然后再使用右键菜单创建一个远端…
如何在Web页面里使用高拍仪扫描上传图像 市场上所有的高拍仪都支持扫描图片并保存到本地,一般公司都会提供控件.开发人员只需要在页面集成就可以进行拍照和扫描.只不过一般扫描的图片是保存在本地固定的文件夹下面,需要用户手动选择一下然后上传. 泽优Web图片上传控件(img2)帮助解决图片手动上传的问题,使用img2后可以自动上传本地路径下面的图片,不需要用户再手动选择图片. 原理 1.img2提供了接口addFile和addFolder,可以直接加载本地路径下面的图片或目录. 2.添加后可以调用po…
SAP S4HANA里委外加工采购功能的变化 [Part 1:主要变化点] 1.1,采购订单界面上的变化, 1.2, 新的事务代码: ME2ON (Subcontracting Cockpit), 1.3, 新的事务代码: ADSUBCON (Subcontracting Monitor) [Part 2, 新旧事务代码之间的区别 ] 2.1, 在ME2O和ADSUBCON,只会产生541移动类型的物料凭证号. 2.2, ADSUBCON is the newly defined transac…
转载 2016年11月13日 使用vue-cli构建的vue项目,webpack的配置文件是分散在很多地方的,而我们需要修改的是build/webpack.base.conf.js,修改两处的代码 // 在开头引入webpack,后面的plugins那里需要 var webpack = require('webpack') // resolve module.exports = { // 其他代码... resolve: { extensions: ['', '.js', '.vue'], fa…
这篇文章本来Jerry只在SAP社区上写了英文版的,可以通过点击文末的"阅读原文"获得.后来有两位做Marketing Cloud开发的德国同事,写邮件询问关于文章的更多细节,声称这种方式对他们自己的API性能测试很有用,所以我觉得还是值得用中文再写一遍. 在SAP官网api.sap.com里有大量发布的API,方便合作伙伴和客户自开发应用同SAP解决方案进行集成. 比如Jerry上个月做的一个项目,就是和国内一家专注于提供人脸识别技术解决方案的企业合作, 用户通过微信扫码从而完成人脸…
先说CloudFoundry的命令行工具CLI.我们在CloudFoundry环境下工作,第一个使用的命令就是cf login. 如果在环境变量里维护CF_TRACE的值为true: 则我们能发现,诸如cf login这种命令,实际上也是通过消费Restful API来完成的. 下图是cf login这个命令的api endpoint请求细节,供大家参考: API endpoint: https://api.cf.eu10.hana.ondemand.com REQUEST: [2018-09-…
需求:我在SAP Commerce Cloud的backoffice里给某product维护了一些图片: 分别位于Normal,Thumbnails和Others等字段: 现在我想通过Restful API的方式,给定一个product code,读出这个product维护的image数据. api endpoint: https:///rest/v2/electronics/products/I042416?fields=FULL 返回的response里包含图片数据: format为prod…
Jquery篇 互联网开发中少不了各类前端开发框架,其中JQUERY就是最流行之一,本篇我们就采用JQUERY来消费WCF RestFul服务,其中用到JSON基础知识,如果有想了解的朋友,请访问:<使用Jquery解析Json基础知识>. 开发工具:Microsoft Visual Studio 2013(仅仅只是为了F5) 版本:jQuery JavaScript Library v1.4.2 另用到jquery-json 扩展库 下载地址在这里:http://code.google.co…
Recently Jerry is working on an integration project about creating orders in Wechat platform by consuming SAP Commerce Cloud Restful API. Consultants who didn't touch SAP Commerce before(such as Jerry ) might get confused once they saw the search res…