本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- zysnba
- xiangjie88
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sichunli_030
- sam123456gz
- 龙儿筝
- arpenker
- tanling8334
- kaizi1992
- gaojingsong
- xpenxpen
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- jbosscn
- mengjichen
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- kingwell.leng
- mwhgJava
最新文章列表
使用Excel调用ABAP系统的函数
效果:在excel里创建一个按钮,开发一些VB script,可以连接指定的ABAP系统并执行系统里的ABAP function module。
在这里例子里执行ABAP系统的函数TH_USER_LIST, 把当前系统登录的用户取回来显示在excel里。
该按钮的点击响应函数实现代码:
Sub CommandButton1_Click()
...
使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数
最近Jerry接到一个原型开发的任务,需要在微信里调用ABAP On Premise系统(SAP CRM On-Premise)里的某些函数。具体场景和我之前的公众号文章 Cloud for Customer和微信集成系列教程 描述的场景类似。
区别之处在于Cloud for Customer(C4C)是一个云解决方案,其OData Service/Web Service能够直接被Interne ...
ABAP和Java的destination和JNDI
Netweaver里使用事务码SM59创建Destination:
Java
新建一个destination:
测试代码:
try {
Context ctx = new InitialContext();
ConnectivityConfiguration ...
如何查看CRM WebUI,C4C和Hybris里的页面技术信息
CRM
在WebClient UI页面上按F2,就能看到页面的技术信息, 可以找到当前页面是哪一个BSP component实现的:
C4C
在浏览器url里添加debugMode=true,然后按住Ctrl加上鼠标右键,即可弹出同上图CRM WebClient UI作用类似的技术明细页面:
Hybris
同样 ...
ABAP和Hybris的源代码生成工具
ABAP
有两种方式,一种是ABAP Code Composer, 细节可以查看我的博客Step by Step to generate ABAP code automatically using Code Composer
或者用另一种土办法,直接把待生成的类或者报表的源代码准备好,填入一个内表(下图例子中的mt_source)里,然后用关键字GENERATE生成:
...
300行ABAP代码实现一个最简单的区块链原型
不知从什么时候起,区块链在网上一下子就火了。
这里Jerry就不班门弄斧了,网上有太多的区块链介绍文章。我的这篇文章没有任何高大上的术语,就是300行ABAP代码,实现一个最简单的区块链原型。
我个人觉得,同区块链本身的实现技术相比,更难的事情是如何找到一个合适的业务场景,把区块链集成到SAP产品中去,让它发挥出作用。
这篇文章包含三个版本,每个版本在前一版本基础上 ...
使用ABAP实现一个最简单的区块链原型
这个测试程序的前半部分来源于SAP Community的博客ABAP Meets Blockchain, 作者是Nabheet Madan。
这部分主要负责生成一个ABAP内表,每行记录是区块链的一个块。为简单起见,每块拥有如下字段:
块索引
块数据 - 这里简单用一个字符串来描述
块哈希 - 这个例子里,将该块所有字段的内容拼成一个长字符串,再经过SHA1计算得到的 ...
如何在SAP云平台的Cloud Foundry环境下添加新的Service(服务)
我想在SAP云平台的Cloud Foundry环境下使用MongoDB的服务,但是我在Service Marketplace上找不到这个服务。
cf marketplace返回的结果也没有。
解决方案
退回到Global Account,点击Entitlement,发现没有给Subaccount分配MongoDB:
...
Jerry眼中的SAP客户数据模型
本文Jerry将介绍八款SAP产品中的客户模型。希望您在阅读完本文之后,能对SAP客户模型设计的思路有一个最最粗浅的了解。
由于Jerry水平和精力所限,本文不会详细阐述这些产品里的客户模型设计细节,而是介绍了一种方法,如果您对这些模型设计感兴趣,可以按照该方法自行深入研究。
SAP CRM
SAP CRM Fiori
SAP Hybris Cloud for Customer
SAP ...
使用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 = 'HDB'.
ls_new-user_name = 'system'.
ls_new-passwor ...
JavaScript and Ruby in ABAP
Netweaver里有个mini JavaScript engine CL_JAVA_SCRIPT, 对于Js code的编译和执行都是用system call完成。
只能当玩具用:report SJSEU
执行结果:120
在SAP C4C的UI Designer里,event handler里可以写Ruby Script, UI保存时R ...
SAP CRM和C4C的内容管理(Content Management)
SAP CRM内容管理
SAP CRM使用Attachments这个UI给用户提供内容管理的功能。通过新建按钮可以上传本地文档到CRM系统:
该内容管理支持简单的版本管理功能,用户可点击Check Out将一个文档导出到本地,编辑结束之后通过Check In按钮将修改版本导入至CRM。
每次Check Out / Check In会生成一个 ...
通过ABAP代码判断当前系统类型,BYD还是S4 OP还是S4 Cloud
用工具类 CL_COS_UTILITIES
IS_BYD
如果是BYD系统,这个方法的实现会硬编码返回一个true,
在其他系统里则返回false,如图:
IS_SUITE
原理同上,suite系统里返回true
IS_S4H
根据全局结构gv_s4h的不同字段来返回。
managed_cloud_ ...
SAP CRM WebClient UI和Hybris backoffice UI开发的相同点
CRM WebClient和Hybris backoffice的UI开发都不需要开发人员手写原生的html代码。
CRM WebClient UI
在CRM WebUI workbench里,开发人员需要写下图这些SAP封装的tag:
...
SAP Netweaver和Hybris的数据库层
ABAP Netweaver
在SAP基于Netweaver的ABAP应用里,应用开发人员用Open SQL访问数据库, 这些Open SQL会被Database interface(数据库接口)转换成各种数据库提供商支持的原生SQL语句然后执行。
Netweaver 支持的数据库提供商在表DBCON的DBMS字段里能看到:
除了普通的ABAP Op ...
CRM WebClient UI和Hybris里工作中心跳转的url生成逻辑
CRM WebClient UI
把Work center的navigation target在client side不可见:在Chrome development tool里看不到,而是点击了Work center之后,在后台ABAP端计算出navigation target。
Hybris
这个Catalog的下拉menu里每个item都对应一个url,在htm ...
CRM WebUI and Hybris的Product页面标题实现
CRM
Controller只需实现IF_BSP_WD_HISTORY_STATE_DESCR~GET_STATE_DESCRIPTION方法:
上图在ABAP调试器里观察到的这个字符即出现在最终页面上。
Hybris
Product明细页面的pageTitle字段绑定到Model的{pageTitle}字段上: ...
ABAP Netweaver和Hybris里获得内存使用统计数据
ABAP Netweaver
事物码ST06
Hybris
每隔5秒钟,Hybris Administration console会发起一个到Java后台的AJAX查询请求:
这个5秒的时间间隔定义在project.properties配置文件里,
ABAP OPEN SQL里OPEN CURSOR和SELECT的比较
OPEN CURSOR
After the OPEN CURSOR statement, the database cursor is positioned in front of the first line of the result set.
FETCH
This statement extracts the requested rows (using the addition INT ...