SAP OData服务性能测量的几种工具和手段
The OData service url being tested is: /sap/opu/odata/sap/CRM_ODATA/TaskCollection?$filter=isMyTask eq true&$expand=DocumentNotes,DocumentNextUserStatuses,DocumentHistories,DocumentApplicationLogs
辟谣 - SAP CRM WebClient UI的性能,一定不如ABAP Webdynpro吗?
Background of this BlogFor several CRM projects in China which I am involved, I found the partner have chosen ABAP webdynpro when custom development is necessary. When asked why they do not consider w
使用ABAP代码给SAP CRM Business object创建附件Attachment
For a complete list of all my blogs regarding content management, please see here.I create a utility class with method CREATE_DOC. It has following four input parameters:iv_data type xstring – th
SAP CRM WebClient UI,如何快速定位到抛出错误消息的那一行代码
本文是Jerry的原创,最早发表于SAP官方社区,英文版链接如下:https://blogs.sap.com/2013/09/25/how-to-quicly-locate-the-source-code-where-raises-a-given-message-in-webclient-ui/As a developer in my daily life I always need to qui
ABAP关键字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析
ABAP里的IS BOUND, IS NOT INITIAL和IS ASSIGNED这组关键字,如果平时不留心,很容易理解地似是而非。今天我们就来说一说它们的区别。先把SAP帮助文档抄过来:IS BOUNDIt checks whether a reference variable contains a valid reference. A data reference variable that
根据ABAP BAdI definition名称找到SPRO里配置路径的办法
假设BAdI名称为CRM_PRODIL_ADD_DATA,我想知道SPRO里什么路径可以基于该BAdI实现增强。SE18里BAdI definition的Where-Used List不支持搜索Customizing activities.解决方案查询表CUS_IMGACH, ATTRIBUTES字段指定成BAdI definition名称,查询出的记录里,TEXT字段就为SPRO里定义该BAdI
写在这个公众号关注者达到7000之际,Jerry有话对大家说
今天是2020年五一国际劳动节小长假的第三天,Jerry继续祝大家劳动节快乐。在上个月的最后一天,汪子熙公众号的关注人数超过了7000. 我知道在自媒体繁荣的今天,这点关注人数连有些大V的零头都不到。然而Jerry从2018年初开始在这个公众号上写文章,初衷绝非是追求在某某时间段之内,粉丝数达到XXX人,因此对关注者人数的增长,一直采取佛系的态度,顺其自然。我不知道是不是所有的程序员生活都很单调,
如何查看类型为LRAW的SAP ABAP数据库表字段的内容
SAP帮助文档上提到:当一个buffered数据库表被修改时,其buffer也会自动被更新,包括其他应用服务器实例上针对该表的buffer也会以异步的方式自动被更新。Buffer表被修改的记录会被写入一个中央日志表DDLOG. Buffer的异步更新就是应用服务器定期地查看该表是否存在新的记录而实现的。我处于好奇,想在SE16里查看DDLOG的记录长什么样,发现notebook这个字段的类型为LR
关于SAP ABAP字符变量和字符串变量字符个数的一个知识点,和一个血案
今天是2020年5月2日,五一国际劳动节小长假的第二天。让我们继续劳动起来。使用ABAP strlen函数计算下列这4个字符和字符串变量中包含的字符个数。大家先别急着滑动屏幕,先试着自己计算一下,看和标准答案是否有出入。也许大家觉得这些小的知识点没什么用,但Jerry马上会分享一个我实际处理过的客户incident,正是由于类似这种看似不起眼的小知识点没有留意,最后影响了项目进展。正确答案,依次是
SAP ABAP SM50的另类用途 - ABAP工作进程对数据库表读取操作的检测
今天是2020年五一国际劳动节,Jerry祝大家劳动节快乐。虽然五一国际劳动节来源于一百多年前国外无产阶级的一次大罢工,但由于国情原因,国内很多行业的从业人员,好像天生就是劳碌命。比如程序员行业。2014年五一劳动节,我在和一个不是总能重现的SAP CRM incident做斗争。详情参考Jerry之前的文章记一次SAP开发工程师给微软Azure报incident的体验.当时处理完这个复杂的问题后
SAP ABAP关键字语法图和ABAP代码自动生成工具Code Composer
本文介绍的两个知识点比较零碎,所以我放在同一篇文章里来介绍。Jerry在做SAP CRM Fiori应用开发时,在学习JavaScript时,读过这本书:书中使用这种语法图讲解JavaScript的语法:其实ABAP帮助文档里也存在类似的语法图,只是藏在一个不起眼的角落,不为大家所熟知:以关键字APPEND为例,查看其语法图:单击超链接,语法图就展示出来了,我觉得比帮助文档里的文字描述直观得多:点
SAP ABAP Netweaver服务器的标准登录方式讲解
最近Jerry把这个公众号之前发布的总共230篇文章按照类别整理了一系列合集出来,比如所有的ABAP文章,放在了这个合集里:汪子熙的ABAP合集。本文继续介绍ABAP里的一个知识点:ABAP Netweaver服务器的登录方式(Standard Logon Procedure).本文的英文版最先发布于SAP社区博客,我当时负责处理客户报过来的关于SAP CRM Web Service的incide
ABAP面试题系列:写一组会出现死锁(Deadlock)的ABAP程序
我们在计算机操作系统这门专业课上,学过死锁(Deadlock)的概念:两个或两个以上的进程(或线程)在执行过程中,由于竞争资源而造成的一种阻塞的现象,称为死锁。若无外力干预,这些处于死锁状态的进程将永远处于互相等待的阻塞状态中。正好我儿子走到我电脑前看到文章标题,好奇地问我什么是死锁。我解释道,“假设你和白妹妹(他的玩伴)手上都有一张奥特曼白金卡,你特别想要白妹妹手上那张白金卡,白妹妹也特别想要你
使用Java Stream API将List按自定义分组规则转换成Map的一个例子
本文完整测试代码见文末。测试数据是List里的4个员工对象实例:根据员工所在的城市进行分组:结果分成了三组:第一组的员工在上海:第二组的员工在成都:统计每组员工个数:把员工进行分组,得分大于101分的在一组,小于等于101的在另一组:分组结果:package java8;import java.util.ArrayList;import java.util.List;
汪子熙的SAP技术文章分类合集
截至2020年4月27日为止,汪子熙微信公众号总共发表了229篇SAP原创技术文章,分类合集如下:SAP前端开发技术合集Jerry Wang的ABAP原创技术文章合集SAP云平台技术文章合集SAP C/4HANA技术文章合集ABAP On-Premises技术文章ABAP Cloud技术文章合集SAP Kyma和KubernetesSAP HybrisSAP CRM技术文章合集中国程序员职业规划,
记一次SAP开发工程师给微软Azure报incident的体验
文章标题的incident含义:在企业级软件领域里,当客户使用软件提供商的软件,遇到各种问题或故障,可以使用专门的工具,向软件供应商寻求帮助。我们通常称这种工具创建的帮助请求(Support Request)为incident.今天这篇文章无关具体的技术。Jerry最近使用微软Azure云平台时遇到一个问题,通过Azure提供的Support工具向微软提交incident的过程中,感叹自己十多年来
SAP ABAP里存在Java List这种集合工具类么?CL_OBJECT_COLLECTION了解一下
最近Jerry参与了SAP Commerce Cloud的标准开发,我们调用微软云平台Azure上创建Lambda Function的Restful API来创建Lambda Function:在开发过程中发现该API工作不太稳定,同样的输入,时不时会返回HTTP 400 Bad Request:Encountered an error (InternalServerError) from hos
SAP ABAP应用服务器的HTTP响应状态码(Status Code)
最近Jerry参与了SAP Commerce Cloud的标准开发,我们调用微软云平台Azure上创建Lambda Function的Restful API来创建Lambda Function:在开发过程中发现该API工作不太稳定,同样的输入,时不时会返回HTTP 400 Bad Request:Encountered an error (InternalServerError) from hos
使用Java代码在SAP Marketing Cloud上创建Contact数据
源代码:package partner1;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.URI;import org.apache.http.HttpEntity;import org.apache.http.H
SAP Commerce(原Hybris)的订单处理框架和SAP CRM One Order框架
最近工作重点转移到了SAP Commerce上来,正好有机会把该产品里由Java实现的订单处理框架和我之前长期工作过的,ABAP实现的SAP CRM One Order框架做个比较:基于Spring的Bean替换机制 vs ABAP函数+配置表,两种方式都实现了强大的可扩展性。SAP Commerce的订单处理框架把订单处理业务按照步骤拆分成一个个细粒度的处理单元,封装到一个个Spring Bea