自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 如何将SAP Multi Target应用部署到SAP云平台的Cloud Foundry环境去

SHINA是SAP HANA Interactive Education的缩写,是一个demo应用,用于演示如何开发SAP HANA原生应用。 这个应用包含了sample数据以及HANA数据库表,view,OData服务和UI,符合SAP HANA Extended Service Advanc...

2018-04-28 22:23:50 174 0

原创 Jerry眼中的SAP客户数据模型

本文Jerry将介绍八款SAP产品中的客户模型。希望您在阅读完本文之后,能对SAP客户模型设计的思路有一个最最粗浅的了解。 由于Jerry水平和精力所限,本文不会详细阐述这些产品里的客户模型设计细节,而是介绍了一种方法,如果您对这些模型设计感兴趣,可以按照该方法自行深入研究。 SAP CRM...

2018-04-28 20:35:43 443 0

原创 如何使用jMeter发送两个逻辑上相关的HTTP请求

在前一篇文章使用jMeter构造大量并发的随机HTTP请求里我通过jMeter构造了大量的HTTP GET并发请求,对服务器产生了大量读操作。 现在我有另一个需求场景:假设我开发了一个**创建**Service Request的微服务,需要使用HTTP post调用。为了防止Cross Site...

2018-04-28 09:50:44 82 0

原创 使用jMeter构造大量并发的随机HTTP请求

在前一篇文章使用jMeter构造大量并发HTTP请求进行微服务性能测试里,我介绍了如何用jMeter构造并发HTTP请求。但是通过文中介绍的方式构造的并发请求,其请求参数都是硬编码的’Wang’. 有没有办法让每个并发请求查询的参数都不一样呢?比如让jMeter构造一些从1到100的随机数,...

2018-04-28 09:50:07 521 0

原创 使用jMeter构造大量并发HTTP请求进行微服务性能测试

比如我开发好了一个微服务,想测试其在大并发请求下的性能表现如何。 比较方便的一个做法是使用工具jMeter来构造这些请求。 创建一个新的工程: 创建一个新的Thread Group,下图意思是这个工程会使用3个线程同时发请求,每个请求执行一次。 在这个Thread Group里创建...

2018-04-28 09:49:14 757 0

原创 如何上传HTML5应用到SAP云平台的Cloud Foundry环境下

先使用WebIDE创建一个HTML5应用。New->Project from Template: 从可选模板里选择SAPUI5 Application: 创建一个HTML5 Module,取名为frontend 自动创建了如下的项目文件。 对这个工程进行b...

2018-04-28 09:46:09 118 0

原创 使用Eclipse开发Java应用并部署到SAP云平台SCP上去

1. 首先根据这个链接配置好Eclipse。 确保SAP Cloud Platform Tools for Java正确安装。 确保neo SDK的路径配置正确: 我使用的是下图这个SDK:neo-java-web-sdk-3.51.14.zip 将我的github 项目下载到...

2018-04-26 10:39:06 275 0

原创 SAP CRM, C4C和Salesforce UI备注中的长文本图片支持功能

CRM和C4C的note都不支持直接插入图片: 详细分析参考我博客Formatted Text Edit in CRM and Cloud for Customer 而Salesforce的UI是支持直接在note里插入图片的: C4C里面可以用上传图片到附件,然后开发Ado...

2018-04-25 19:59:01 197 0

原创 最简单的SAP云平台开发教程 - 如何开发UI5应用并运行在SAP云平台上

选择Services Catalog,根据关键字搜索到WebIDE服务,点击超链接打开WebIDE: 进入workspace,选择Git->Clone Repository: 从我的github clone:https://github.com/i042416/jerry...

2018-04-24 21:12:18 248 0

原创 Chrome开发者工具中Elements(元素)断点的用途

SAP Engagement Center UI的这个按钮会每秒钟刷新一次,显示页面已经打开了多长时间。 需求:需要找到哪行JavaScript代码不断刷新的按钮文字。 按照经验判断,这个文字肯定是一个JavaScript function通过setTimeout每隔一秒执行的。如何快速找...

2018-04-24 21:09:04 1360 0

原创 一个用JavaScript生成思维导图(mindmap)的github repo

github 地址:https://github.com/dundalek/markmap 作者的readme写得很简单。 今天有同事问作者提供的例子到底怎么跑。这里我就写一个更详细的步骤出来。 首先查看example.parse.js的内容: var fs = require(...

2018-04-24 21:08:23 4571 0

原创 SAP云平台运行环境Cloud Foundry和Neo的区别

SAP云平台提供了两套运行环境:Cloud Foundry和Neo 从下图能发现,Cloud Foundry的运行环境,基础设施由第三方公司提供,比如Amazon亚马逊和Microsoft微软,SAP只负责提供和维护platform layer。而Neo环境的基础设施和platform laye...

2018-04-23 16:37:19 1337 0

原创 SAP云平台里Global Account和Sub Account的关系

在Cloud Foundry环境里,一个Global Account或者Trial Account能够创建多个SubAccount,如图: 创建好的新的subaccount: 一旦subaccount创建完毕之后,可以创建新的org。 这个org又可以创建新的sp...

2018-04-23 16:36:38 253 0

原创 12-factor应用和微服务架构应用的区别

SAP云平台的帮助文档很多时候将12-factor应用和微服务架构的应用相提并论。 然而从Allan Beck和John Mcteague的Cloud成熟度模型概念里,12-factor应用从成熟度上来说在微服务架构应用之上。 所谓Twelve-factor应用,详细定义在这个链接里,...

2018-04-23 16:35:49 267 0

原创 SAP成都研究院李三郎:SCP Application Router简介

今天的文章来自李贝宁(Ben),SAP成都研究院的资深程序猿和架构师。 作为成都研究院里同时精通Java, JavaScript和ABAP这三门编程语言的数位同事之一,Ben曾经先后担任了成都CRM Fiori开发团队,S4CRM开发团队和尚未发布的某款云产品开发团队的架构师。 Ben在这三个...

2018-04-22 21:25:03 176 0

原创 介绍两个好玩的和Github相关的Chrome扩展

1. Octotree 默认的github网页里的代码显示没有我们在IDE里看到的直观,即代码文件所在的文件夹无法以树形层级结构显示在屏幕左边。 安装Octotree之后: 方便多了。 2. Isometric Contributions github commit的统计页面...

2018-04-22 12:14:16 117 0

原创 Java,JavaScript和ABAP通过代码取得当前代码的调用栈Callstack

Java StackTraceElement stack[] = Thread.currentThread().getStackTrace(); System.out.println("Callstack test"); for(int i = 0; i &...

2018-04-22 12:10:32 469 0

原创 SAP CRM和C4C的内容管理(Content Management)

SAP CRM内容管理 SAP CRM使用Attachments这个UI给用户提供内容管理的功能。通过新建按钮可以上传本地文档到CRM系统: 该内容管理支持简单的版本管理功能,用户可点击Check Out将一个文档导出到本地,编辑结束之后通过Check In按钮将修改版本导入至CRM。 ...

2018-04-21 21:59:50 800 0

原创 CRM WebClient UI的浏览器打印实现

WebClient UI上自带了一个打印按钮,按Ctrl + P后可以生成一个新的页面供打印。 如下图所示。可以看到这个页面里所有的超链接都已经被移除了。 这个页面的生成逻辑如下。 1. 按住ctrl + p之后,会触发WebClient UI框架的按键响应函数thtmlbKeyDo...

2018-04-21 21:53:30 166 0

原创 通过ABAP代码判断当前系统类型,BYD还是S4 OP还是S4 Cloud

用工具类 CL_COS_UTILITIES IS_BYD 如果是BYD系统,这个方法的实现会硬编码返回一个true, 在其他系统里则返回false,如图: IS_SUITE 原理同上,suite系统里返回true IS_S4H 根据全局结构gv_s4h的不同字...

2018-04-21 21:47:28 502 0

原创 使用ABAP批量下载Markdown源文件里的图片到本地

执行我github里的这个report: 选中一段markdown文档,ctrl C: 然后直接执行report: 执行完毕: 所有文件都下载到本地文件夹: 这个report使用到的工具类:zcl_crm_cm_tool 要获取更多Jerry的原创技术文章,请关注公众号...

2018-04-16 20:35:30 197 0

原创 Jerry和您聊聊Chrome开发者工具

Chrome开发者工具是Jerry日常工作使用的三大调试器之一。虽然工具名称前面带了个”开发者”, 但是它对非开发人员仍然有用。不信? 用Chrome打开我们常用的网站,按F12,在Console标签页里看到这些信息,这些都是很老的梗了。 在网易云音乐上听歌,如果想保存到本地,不需要安...

2018-04-16 20:35:04 300 0

原创 ABAP下载的病毒扫描Virus Scan

当我使用CL_HTTP_ENTITY=>IF_HTTP_ENTITY~GET_DATA从网络下载数据时,遇到异常CX_VSI: 错误原因是数据从网络下载到Netweaver服务器上之后,在服务器上针对实例ldai2ag3_AG3_56找不到对应的病毒扫描Profile。配置...

2018-04-16 20:34:18 158 0

原创 Hybris ECP里Customer对应的数据库表

SAP CRM里Account明细页面: SAP C4C里Account明细页面: 在Hybris storefront注册一个帐号: 注册成功之后能在backoffice里看到成功生成的customer,里面的Customer ID是自动生成的,类似ABAP里的uuid. 在...

2018-04-15 09:22:08 338 0

原创 Internationalization(i18n) support in SAP CRM,UI5 and Hybris

i18n(其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称。对程序来说,在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。 SAP CRM WebClient UI上显示的文本不会硬编码,而是维护在OTR(Onl...

2018-04-15 09:21:38 163 0

原创 如何查看CRM WebUI,C4C和Hybris里的页面技术信息

CRM 在WebClient UI页面上按F2,就能看到页面的技术信息, 可以找到当前页面是哪一个BSP component实现的: C4C 在浏览器url里添加debugMode=true,然后按住Ctrl加上鼠标右键,即可弹出同上图CRM WebClient UI作用类似的技术明...

2018-04-15 09:21:03 228 0

原创 ABAP和Hybris的源代码生成工具

ABAP 有两种方式,一种是ABAP Code Composer, 细节可以查看我的博客Step by Step to generate ABAP code automatically using Code Composer 或者用另一种土办法,直接把待生成的类或者报表的源代码准备好,填入一个...

2018-04-15 09:20:03 245 0

原创 help.hybris.com和help.sap.com网站的搜索实现

help.hybris.com 我使用help.hybris.com时,发现每次在搜索栏输入文字时,没有发出任何HTTP请求,那么这个自动完成的下拉框里的记录从哪里来的?我看了下实现,发现所有自动完成下拉框里的记录都是硬编码在searchsuggestion.js里: Hybris hel...

2018-04-14 17:52:51 198 0

原创 Hybris UI的Route(路由)实现

登录Hybris前台,在product catalog里选择Digital camera: 点击某个产品进入明细页面: 注意产品明细这个url: 这个明细页面的路由和SAP UI5的路由思路很像。 在SAP UI5应用里,每个页面都会有一个对应的路由配置信息。该信息的结构如...

2018-04-14 17:51:54 103 0

原创 还在用SELECT COUNT统计数据库表的行数?Out了

在ABAP里我们如果想用代码获得一个数据库表里有多少条记录,常规做法是使用SELECT COUNT。 如果您使用的是HANA数据库,现在有一种新的办法可以达到同样的目的。HANA数据库里有一张名为m_tables的系统视图,里面存放了数据库表的元数据。 这个系统视图的详细说明参考SAP...

2018-04-14 17:49:43 2614 0

原创 JavaScript and Ruby in ABAP

Netweaver里有个mini JavaScript engine CL_JAVA_SCRIPT, 对于Js code的编译和执行都是用system call完成。 只能当玩具用:report SJSEU 执行结果:120 在SAP C4C的UI Designer里,event h...

2018-04-14 17:44:51 96 0

原创 SAP CRM WebClient UI和Fiori UI混搭并存

SAP CRM里有个功能可以创建HANA live report,消费HANA Studio里创建的模型。 最后创建好的report长这个样子: 具体创建步骤可以参考我的博客Step by Step to create HANA live report in Webclient UI ...

2018-04-14 17:43:41 161 0

原创 使用ABAP(ADBC)和Java(JDBC)连接SAP HANA数据库

在表DBCON里维护一条记录,指向HANA数据库。con_ENV里填入HANA数据库的主机名和端口号。如vmXXXX:30015 DATA: ls_new TYPE DBCON. ls_new-con_name = 'HAN'. ls_new-dbms = ...

2018-04-14 17:42:19 1226 0

原创 C4C和Outlook的集成

从C4C系统下载Outlook的Addin, 安装之后,会在Outlook里看见一个新的面板: 点击Log On登录: 如果需要的话,在Settings里设置proxy。 登录之后,即可立即在outlook里直接看到该User WANGJERRY1164在C4C里的notific...

2018-04-14 17:40:30 145 0

原创 BSP和JSP里的UI元素ID生成逻辑

CRM WebClient UI WebClient UI渲染出来的DOM元素的这些C#_W#格式的id是在哪行ABAP代码被生成出来的? 参考我的博客WebClient UI element ID generation logic Hybris 既然是JSP,和同样基于服务器端渲...

2018-04-14 14:57:18 83 0

原创 CRM WebUI and Hybris的Product页面标题实现

CRM Controller只需实现IF_BSP_WD_HISTORY_STATE_DESCR~GET_STATE_DESCRIPTION方法: 上图在ABAP调试器里观察到的这个字符即出现在最终页面上。 Hybris Product明细页面的pageTitle字段绑定到M...

2018-04-14 14:56:45 69 0

原创 CRM WebClient UI和Hybris里工作中心跳转的url生成逻辑

CRM WebClient UI 把Work center的navigation target在client side不可见:在Chrome development tool里看不到,而是点击了Work center之后,在后台ABAP端计算出navigation target。 Hy...

2018-04-14 14:56:04 134 0

原创 Hybris开发环境的license计算实现

每隔30天,必须重新执行一次initialize命令把本地所有数据全部清掉然后重新build,需要花费一些时间。 显示在console里的license信息通过license.jsp展示: 剩余的license天数的值绑定到字段demoLicenseRemaining: 具体li...

2018-04-12 23:04:37 232 0

原创 ABAP Netweaver和Hybris里获得内存使用统计数据

ABAP Netweaver 事物码ST06 Hybris 每隔5秒钟,Hybris Administration console会发起一个到Java后台的AJAX查询请求: 这个5秒的时间间隔定义在project.properties配置文件里, 然后使用JavaS...

2018-04-12 23:04:02 86 0

原创 SAP CRM WebClient UI和Hybris backoffice UI开发的相同点

CRM WebClient和Hybris backoffice的UI开发都不需要开发人员手写原生的html代码。 CRM WebClient UI 在CRM WebUI workbench里,开发人员需要写下图这些SAP封装的tag: 这些Tag能在事物码SE80里找到: ...

2018-04-12 23:03:19 179 0

提示
确定要删除当前文章?
取消 删除