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.
由此可见新语法比较简洁,能少写3行代码。但是这样有一个缺陷,在新语法下如果it_data内表内不存在object_ext的值为cl_crm_prodil_bo_names=>gc_prod_root的记录,就会终止程序执行,抛出异常CX_SY_ITAB_LINE_NOT_FOUND.
针对这种情况,ABAP也有对应的解决方案。
下图的第17行会抛出异常,而19行不会,从语义上容易理解:如果内表lt_data里不存在name为Spring2的记录,则返回开发者使用DEFAULT关键字指定的一个结构作为默认值。
在Java 8也有类似机制。为了避免臭名昭著的NullPointerException,Java开发人员在使用对象的实例方法之前,需要检查对象实例是否不为null:
if( xx != null ){
xx.doSomething();
}
在Java 8里,在包java.util里提供了一个新的工具类Optional,看看它的用法。
第11行的filter方法,语义上应该返回一个null,因为我在第10行初始化的字符串常量的长度显然大于6. 但是调用这个filter方法的对象是一个Optional对象,所以最终filter方法最终也返回一个Optional对象,这个对象包裹了一个null。如下图调试器里所示:
第14行执行的结果会打印出orElse里指定的值,此处orElse的思路和上述介绍的ABAP里的DEFAULT关键字是一致的。
这个Optional工具类的实现也很简易,orElse仅仅是一个三元表达式。
要查看更多ABAP和Java,JavaScript的语言特性比较,请关注Jerry的公众号:汪子熙。
相关推荐
文档详细介绍了用myeclipse生成webservice的方法步骤,以及abap调用webservice 第一步:myeclipse生成webservice 第二部:发布webservice 第三步:在sap系统生成webservice代理 第四步:生成port 第五步:用实例调用...
ABAP_4语言入门;ABAP ABAP/4 简介 SAP最初 开发ABAP/4( 高级商业应 用程序设计 )语言仅为 内部使用, 为应用程序 员提供优化 的工作环境 。 经过不断 的改进和修 改以满足商 业领域的需 要。现在,ABAP/4 已成为 ...
ABAP
JAVA调用ABAP程序,与ABAP调用JAVA程序的实例,包含JCO的API及所需jar文件. 文档文件中是中文实例.
SAP ABAP与JAVA之间通过RFC传递数据实例
本文档包含了一些ABAP的基础语法,非常适合初学者自学。
java连接sap +jco3,代码成功测试,文件含有所需的类库。 限于window X86系统。
详细介绍ABAP 锁对象与加锁机制,另附配置过程截图,超详细。
6.类似Java,ABAP开发的程序能运行于任何操作系统(Java有Java虚拟机,ABAP也有ABAP processor),多种数据库(比如在ABAP字典中实现了透明表对各种底层数据库表的映射,这样在ABAP层看到的透明表就和具体数据库无关),各种...
ABAP资料ABAP资料ABAP资料ABAP资料ABAP资料
ABAP 调用ABAP PROXY
主要内容介绍ABAP的新特点: 1.表达式 2.内表 3.基于类的异常处理 4.十进制浮点数 5.使用Locator和数据流读写数据库 6.Boxed 组件
CEON ABAP Eclipse Editor
传统的SE80中,ABAP Editor是“白色主题”,通过附件中的配置文件,可将ABAP Editor设置为“白色主题”。
abap tips abap tips abap tips abap tips abap tips
对sap开发人员有很大帮助,可以使初学者尽快的了解sap的编程和开发
基于linux系统oracle数据库sap(ABAP+JAVA)安装手册,语言为纯英文。该文档内部链接全部真实有效。可以规避不必要的错误。
ABAP加密和解密
ABAP - Keyword Documentation This documentation describes the syntax and meaning of the keywords of the ABAP language and its object-oriented part ABAP Objects. Alongside this, language frameworks ...
ABAP/4 Workbench ABAP/4数据字典 Report程序的结构 重要的句法