CRM WebUI and Hybris的Product页面标题实现
Controller只需实现IF_BSP_WD_HISTORY_STATE_DESCR~GET_STATE_DESCRIPTION方法:Product明细页面的pageTitle字段绑定到Model的{pageTitle}字段上:要获取更多Jerry的原创技术文章,请关注公众号...
BSP和JSP里的UI元素ID生成逻辑
WebClient UI渲染出来的DOM元素的这些C#_W#格式的id是在哪行ABAP代码被生成出来的?参考我的博客WebClient UI element ID generation logic既然是JSP,和同样基于服务器端渲染的BSP的套路一样。Hybris的应用开发人员不用重复造轮子,直接在JSP页面里使用ycommerce标签:ycommerce标签实现如下。从注释里也能清...
使用Excel消费C4C的OData service
CRM, C4C和Hybris的后台作业
使用事务码SM36查看CRM系统的后台作业:举一些例子:ABAP_TEXT_INDEX这个job执行的report是ABAP_DOCU_CREATE_TEXT_INDEX:和CRM系统一样后台都是基于Netweaver,只是客户无法和CRM一样使用事务码SM36进行后台作业...
如何将Twitter的内容导入到SAP CRM和C4C
具体步骤查看我的博客Twitter(also Facebook) is official integrated into CRM 7.0 EHP3新建一个social media channel:从下拉菜单里选择Channel(渠道)的类型为"Twitter",维护Twitter应用的consumer key和consumer Secret:Consumer key和Consumer Secret从Twit...
使用ABAP和JavaScript代码生成PDF文件的几种方式
方法1:使用ABAP + Adobe Lifecycle Enterprise Service详细步骤参考我的博客Convert word document into PDF via Adobe Livecycle Enterprise service方法2:使用ABAP Webdynpro里的InteravtiveForm控件 + Adobe Form Template方法4:利...
ABAP Netweaver和Hybris Enterprise Commerce Platform的登录认证
在我的博客Learn more detail about Standard logon procedure里有详细介绍。Hybris ECP点login button后,观察到一个HTTP Post请求: j_spring_security_check这个请求定义在一个form action里,还有两个字段用于存储用户登录输入的用户名和密码:在tomcat的日志里也能观察到这个HTTP post请求:...
如何计算并测量ABAP及Java代码的环复杂度Cyclomatic complexity
在软件测试的概念里,圈复杂度用来衡量一个模块判定结构的复杂程度,数量上表现为独立线性路径条数,即合理的预防错误所需测试的最少路径条数。圈复杂度大说明程序代码可能质量低且难于测试和维护。计算公式E = 程序控制流图中边的个数看个具体的例子。下面这段ABAP代码的环复杂度根据公式计算为3.先把代...
Association, Composition and Aggregation in UI5, CRM, S/4HANA and C4C
UI5使用Association和Aggregation描述控件之间的关系。When a ManagedObject is destroyed, all aggregated objects are destroyed as well and the object itself is removed from its parent. That is, aggregations won't contain destroyed objects or null/undefined.Managed...
ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
使用关键字重复引入一个include program,会报syntax error:原因是因为ABAP对include这个关键字的实现和其他编程语言有点不一样,在激活时简单地把被include的program的全部源代码替换原程序里INCLUDE incl这一行,所以重复引入一个include program会报错。值得一提的是,ABAP report悄悄得include了很多标准的pr...
你真的会用ABAP, Java和JavaScript里的constructor么?
ABAP测试:测试结果:sub: 1public class SuperClass { private int mSuperX; public SuperClass() { setX(99); } public void setX(int x) { mSuperX = x; }} public class SubClass extends SuperClass { private int mSubX = 1; public SubClass() {} @Override public void setX(...
S/4HANA和CRM Fiori应用的搜索分页实现
那么S/4HANA和CRM里原生的Fiori应用,其搜索分页又是如何实现的?S/4HANA Fiori应用的搜索分页实现这个分页效果通过OData请求的参数$skip=0&top=25实现的。而总共命中条数140的显示通过另一个参数$inlinecount来实现,该参数的后台实现原理类似ABAP Open SQL里的SELECT COUNT(*)。从Chrome开发者工具里观察...
SAP Fiori里的List是如何做到懒加载Lazy load的
以Product Master这个应用为例,我点击搜索之后,结果区域显示当前系统一共有140个product,但是只有前25个返回并显示在浏览器里。这个分页效果是UI5 OData的参数实现的:$skip=0&top=25。...
S/4HANA for Customer Management里的搜索分页处理
https://blogs.sap.com/2018/03/28/paging-implementation-in-s4hana-for-customer-management/假设我在UI上指定max hit值为200:每页默认显示20条数据,因此这200条搜索结果总共分10页显示。关于CRM WebClient UI的分页机制,有两个要点:2. WebClient UI是一项服务器端渲染的技术,意味着所有WebClient...
SAP S4CRM和C4C的技术比较
SAP的这三款CRM解决方案,您能区分清楚么Hello World, S/4HANA for Customer Management 1.0Jerry受家中长辈影响,从小就是一个三国演义迷,小学还未毕业,罗贯中的三国演义就已读过无数遍了。幼时也曾缠着长辈追问诸葛亮和周瑜谁在智力上更甚一筹,直到初中时我入坑“暗荣”发布的三国志V, 才从游戏中找...
如何使用ABSL代码调用Web service
Authentication method可以维护成"User ID and Password", 给该创建的arrangement维护communication user的password:双击.csd(communication scenari...
会说话的ABAP report
用的也是很老的OLE技术:report代码直接call的MS的sound engine,通过sapi.dll暴露出来,这个report只是call了dll里其中一个speak方法:
那些年我用过的SAP IDE
其中有一个维度,就是编程工具的鄙视链,比如:而我在SAP做的所有开发都用的是IDE而不是text editor,看来我也免不了处于鄙视链末端的结局了。本文里提到的所有IDE都是基于Windows版本的,这使得我又一次被鄙视了:使用Mac OS的程序猿鄙视使用Windows OS的程序猿。SAPGUISAP...
CRM, C4C和Hybris的工作流简介
Step by Step to debug IC inbox workflow WS14000164Hybrisimpex 中包括 WorkflowTemplate, WorkflowActionTemplate, WorkflowDecisionTemplate, WorkflowActionTemplateLinkTemplateRelati...
ABAP的语法高亮是如何在浏览器里显示的
在S/4HANA里,我们现在能在浏览器里写ABAP了,并且支持语法高亮。(1). 在浏览器里敲个ABAP的关键字,比如data。发现被高亮了。通过Chrome开发工具发现高亮是通过一个叫ace_keyword的css类实现的。在Chrome开发工具里以关键字".ace_keyword"搜索: 发现这个css类是硬编码在theme-sap-cumulus...