ABAP vs Java, 蛙泳 vs 自由泳】的更多相关文章

去年7月定下的一年之内学会自由泳的目标终于实现了,特来还愿. ABAP和Java, 蛙泳和自由泳.前面的组合是Jerry用来挣钱养家的技术,后者是Jerry花了大量业余时间和金钱苦练的技能.或许有的朋友觉得这两组概念风马牛不相及,然而在Jerry眼中,ABAP之于Java, 相当于蛙泳之于自由泳. 文章目录 ABAP和Java的相同点 1. 语言特性 2. 开发框架,工具和生态圈 蛙泳和自由泳的相同点 ABAP(蛙泳)和Java(自由泳)的不同点 ****1.  "Java(自由泳)的环境搭建(…
ABAP 740的新语法: 上图的代码相当于: DATA: ls_data LIKE LINE OF it_data. READ TABLE it_data INTO ls_data WITH KEY object_ext = cl_crm_prodil_bo_names=>gc_prod_root. CALL METHOD add_data EXPORTING ir_child_object = ir_root_object is_data = ls_data. 由此可见新语法比较简洁,能少写…
ABAP and Java see my blog. nodejs 用nodejs现成的express module,几行代码就能写个server出来: var express = require('express'); var routesEngine = require('./jerryapp/routes/index.js'); // index.js actually http://www.ruanyifeng.com/blog/2015/05/require.html var app…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP与Java数据类型的对应关系   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分…
ABAP 在ABAP类里,本地类(Local Class)里用关键字FOR TESTING声明过的方法, 在单元测试启动后会自动被调用到. Spring Boot 在Spring及Spring Boot "Convention over configuration"的设定思路里,放在路径src/test/java下面以Tests.java结尾的Java类会被当成单元测试类处理. 对上述项目执行命令行mvn clean install后,报错误消息: java.lang.IllegalS…
代码的环复杂度(Cyclomatic complexity,有的地方又翻译成圈复杂度)是一种代码复杂度的衡量标准,在1976年由Thomas J. McCabe, Sr. 提出. 在软件测试的概念里,圈复杂度用来衡量一个模块判定结构的复杂程度,数量上表现为独立线性路径条数,即合理的预防错误所需测试的最少路径条数.圈复杂度大说明程序代码可能质量低且难于测试和维护. 计算公式 环复杂度 = E − N + 2 E = 程序控制流图中边的个数 N = 程序控制流图中点的个数 看个具体的例子.下面这段A…
ABAP 1. ABAP提供了一个工具类cl_proxy_xml_transform,通过它的两个方法abap_to_xml_xstring和xml_xstring_to_abap实现两种格式的互换. REPORT zxm. DATA: ls_abap TYPE zzcrmost__pro001dotproduct1. DATA: ls_line LIKE LINE OF ls_abap-item. ls_line-logsys = 'AG3'. ls_line-object_family =…
ABAP CLASS zcl_jerry_singleton DEFINITION PUBLIC FINAL CREATE PRIVATE . PUBLIC SECTION. INTERFACES if_serializable_object . CLASS-METHODS class_constructor . CLASS-METHODS get_instance RETURNING VALUE(ro_instance) TYPE REF TO zcl_jerry_singleton . PR…
ABAP ABAP class单元测试的执行入口,CLASS_SETUP, 是硬编码在单元测试框架实现CL_AUNIT_TEST_CLASS里的. 待执行的单元测试方法通过CL_AUNIT_TEST_CLASS-get_Test_Methods返回到一个内表里,然后LOOP该内表,依次执行. Java 最常用的Maven plugin是maven-surefire-plugin,可以方便地单独触发单元测试,或者把单元测试的执行集成为Maven build的一个子步骤. 下图表明在执行mvn cl…
面向对象编程世界里的单例模式(Singleton)可能是设计模式里最简单的一种,大多数开发人员都觉得可以很容易掌握它的用法.单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点. 然而在某些场景下,这种设计模式的单例特性会被破坏,看下面这个例子: 代码的第三行,这个ABAP类实现了接口if_serializable_object,这意味着它可以被关键字CALL TRANSFORMATION进行序列化和反序列化操作. 使用下面的ABAP代码: DATA(lo_instance) = zcl…
Netweaver里使用事务码SM59创建Destination: Java 新建一个destination: 测试代码: try { Context ctx = new InitialContext(); ConnectivityConfiguration configuration = (ConnectivityConfiguration) ctx.lookup("java:comp/env/connectivityConfiguration"); DestinationConfi…
写这个系列的初衷是SAP Chengdu office有越来越多的应届毕业生加入,这些新同事通过在大学的专业学习,具备了Java和JavaScript背景,但是进入SAP之后大家觉得ABAP没有Java和JavaScript好学. 其实任何编程语言总是有很多相通之处,这个系列就是把这三种语言的很多知识点拿来横向比较,即使只会其中一门,也能看懂这些post. 同时对于ABAP较之Java和JavaScript缺乏的一些feature和框架特性,例如闭包,函数式编程,Spring依赖注入等,这些po…
In my opinion ABAP ICF handler and Java Servlet play the same role in enhancement which enables your web server with additional functionality. This blog will not introduce how an ICF handler class in ABAP or a Servlet in Java are developed, but focus…
知乎上偶然看到这个问题,觉得很有意思,我也来回答一发. 我本科和研究生学的是计算机专业,做项目用C/C++,研究生三年项目的代码量大概在三到四万行左右.2007年大学毕业加入SAP成都研究院一直工作到现在,工作中用的最熟练的编程语言是ABAP,Java和JavaScript.当然做SAP Cloud application Studio这个工具开发时,也用过一段时间的C#.做一个SAP内部的大数据项目也用过一阵子Scala,Python和Go语言在做Hyperledge Fabric on SA…
最近Jerry在忙一个项目,技术栈换成了nodejs平台,语言换成了JavaScript,因为赶项目进度,一直没时间更新公众号.感谢大家的支持,关注人数还是慢慢地增长到了3000. 今天我们来聊聊一个比较轻松的话题. 当今这个数字化时代,大家的生活都离不开互联网.互联网公司为了确保服务器不会因为软硬件问题宕机而影响自己的业务,纷纷使出浑身解数,包括设计更健壮的架构,实现高质量的代码,提供硬件条件更好的机房等.当然也有一些脑洞大开的公司,另辟蹊径,采取让佛祖对服务器进行开光的方式,来实现"服务器永…
猪年春节后的第一篇,Jerry祝各位猪年大吉! 2019年的六分之一马上就快过完了,不知道大家在新的一年是否给自己定了新的小目标呢?这里Jerry先预祝大家到2019年年底的时候,在年初制定的小目标都能实现. 2018年4月之前,Jerry一半时间为SAP S4CRM团队工作,剩下的一半时间为SAP C4C团队工作,所以那段时间大家能发现,Jerry公众号的文章主要是围绕着这两个SAP产品来写的. 4月之后,Jerry换组,到了新的部门,工作内容也发生了变化,不再专注于某个特定的SAP产品,而是…
Jerry和SAP成都研究院一些新同事聊天时,谈到ABAP和SAP GUI这个话题.很多新同事在加入SAP成都之前,是做Java和C++开发的,习惯了Eclipse/IntelliJ IDEA/Visual Studio这些现代IDE,对于SAP GUI这个比较"复古"的IDE不太适应. 其实还有一个选择:ABAP Development Tools,最初在SAP内部称为ABAP in Eclipse.这个工具SAP在很多场合简称为ADT,本文后续部分也使用这个简称. 简单地说,SAP…
国庆大假马上就要来临了,我们聊点轻松的话题,关于假期. Jerry的成都同事李贝宁(Li Ben), <SAP成都研究院李三郎:SCP Application Router简介>的作者,有一次11月份的时候和Jerry一起去德国出差,不解地问到:德国好歹也有八千多万人口,怎么街上冷冷清清的几乎看不到人呢? 对于这个问题Jerry也没有答案.而且这种现象在德国的法定节假日里更加突出. Jerry的文章<Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现>曾经提到,去年…
这个公众号之前的文章,分享的都是Jerry和SAP成都研究院的同事在工作中学到的一些知识和感受.而今天这篇文章,写作的由来是因为最近我又参与了SAP成都数字创新空间应聘者的面试,和一些朋友聊了一些关于用不同的编程语言写Hello World程序的话题,突然才发现,自己从2007年毕业之后,再没有使用过C语言进行编程了.因此想做一个简单的回忆.对C语言不感兴趣的ABAP开发顾问,可以直接跳到本文讲ABAP的章节. 为什么这篇文章要把C语言和ABAP放在一起讲,而不是别的语言比如Java和ABAP呢…
这篇文章本来不在我计划之内,因为最近一个朋友微信上问到我这个问题,但我平时在SAP研究院工作中从没遇到过需要用ABAP操作Excel的需求,因此也没有太多技术实现细节可以分享给大家,只能泛泛写一些. 用ABAP操作Excel这个需求算是比较常见,所以Jerry希望这篇文章能起到抛砖引玉的效果,在这个话题上有多年工作经验的朋友们,欢迎留言,指出Jerry文章中不足或者错误之处. 在SAPGUI里根据关键字OLE搜索,能找到通过ABAP操作Excel的一种办法: 这段文档说的比较清楚,微软的Word…
SAP ABAP顾问朋友们,应该都使用过SAPLink这个工具.如果两个ABAP Netweaver系统没有建立起传输路径时,我们无法使用标准的SE10事务码创建传输请求的方式进行这两个系统间的代码传输.此时,SAPLink就有了用武之地. SAPLink简单地说就是一个报表和一系列插件的集合.如果我们期望在系统A和B之间传输代码,步骤为: (1) 在系统A和B上都安装SAPLink,其实也就是手动创建报表,然后从SAPLink的github上把源代码拷贝过来,激活即可: https://git…
最近有朋友在公众号后台给我留言,"Jerry啊,你最近写的都是一些SAP研究院里面用到的新技术,能不能写点SAP传统的开发技术比如ABAP相关的东西"? 其实Jerry在刚开始写这个公众号的时候,是写过很多ABAP的技术文章: Jerry的ABAP, Java和JavaScript乱炖 ABAP开发人员未来应该学些什么 Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现 Jerry的ABAP原创技术文章合集 300行ABAP代码实现一个最简单的区块链原型 使用Java+…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html   该文档是根据我过去多年学习与工作经验总结而成,项目开发过程中我都会参考此文档,主要ABAP很多细节上的东西还是还多,不可能你记得很牢固,或者你记得一时,但过不了几天就会…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4291479.html JCo RFC函数异常总结 外部系统(Java)调用BAPI函数 在调用BAPI时,SAP为各编程环境(VB.C++.Java等)提供了RFC库及SAP连接器(如Jco.N…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4265542.html 18.3.2.5.           调用BAPI199 18.3.2.5.1.       BAPI事务处理... 200 18.3.2.5.2.       外部系统…
本人也是coding很多年,虽然很失败,但也总算有点失败的心得,不过我在中国,大多数程序员都是像我一样,在一直走着弯路.如果想成为一个架构师,就必须走正确的路,否则离目标越来越远,正在辛苦工作的程序员们,你们有没有下面几种感觉? 一.我的工作就是按时完成领导交给我的任务,至于代码写的怎样,知道有改进空间,但没时间去改进,关键是领导也不给时间啊. 二.我发现我的水平总是跟不上技术的进步,有太多想学的东西要学,jQuery用的人最近比较多啊,听说最近MVC比较火,还有LINQ,听说微软又有Silve…
SAP Java Connector (JCo)     SAP的JAVA中间件,使用它可以使SAP的客户和合作伙伴使用JAVA语言轻松地建立可以和SAP系统通信的兼容的组件和应用程序下面是JCo一些显著的特征: 1.      支持双向调用(ABAP调用JAVA和JAVA调用ABAP) 2.      支持Unicode和非Unicode编码的系统 3.      为程序员封装了一些难以理解和处理的部分,比如代码页,数据类型转换和连接池等等 4.      屏蔽了RFC和DDIC的一些细节,这…
转载自SAP师太技术博客,原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html 在原文上增加了链接,此文及此文的链接版权都归SAP师太所有. 1.      基础 1.1.           基本数据类型 1.1.1.        P类型(压缩型)数据 1.2.           TYPE.LIKE 1.3.           DESCRIBE 1.4.           字符串表达式 1.5.           Data…
我之前发过三篇和ABAP相关的文章: 1. Jerry的ABAP, Java和JavaScript乱炖 这篇文章包含我多年来在SAP成都研究院使用ABAP, Java和JavaScript工作过程中的一些感悟: 三种语言里一些具体技术点的横向比较.随便提一些: ABAP Load Vs Java Byte code ABAP和Java的weak reference比较 ABAP和Java的垃圾回收比较 ADBC和JDBC 用ABAP模拟闭包/柯里化/动态代理/Spring依赖注入 2. ABAP…
In this example we will create a simple Maven project which uses Hibersap to call a function in SAP and print the result to the command line. Download and install the SAP Java Connector Download SAP Java Connector 3 from http://service.sap.com/connec…