2018年,请不要再使用OLE生成EXCEL文件

输出EXCEL文件是ABAP开发工作中的常见需求,为了学习相关技术,我翻译过一篇文章:使用OLE2对象创建EXCEL文件,并且一度乐在其中。 最近几个月,经过与若干EXCEL打印程序的艰苦斗争,以及对abap2xlsx和XLSX W...

ABAP Open SQL 分页查询

分页查询是一个常见需求,特别是在web相关的开发当中。 让人意外的是,google搜索abap paging query,查到的结果似乎都指出需要使用native SQL来实现相关功能;使用百度搜索 abap分页查询,不仅查不到解决...

SAP中的BRF+

即便努力去尝试最小化SAP系统中的自定义内容,通常还是无法避免大量的自定义业务逻辑。在过去,这意味着需要在系统的各种地方引入自定义ABAP代码,包括user-exits,enhancement,BAdi和自定义程序等等。考虑到SAP系统...

ABAP on HANA之CDS Association和Path Expression

本文阐述了ABAP CDS association的概念,并且展示了在CDS视图中和SQL语句中写路径表达式(Path Expression)代码的方法。我也会解释如何在CDS asociation中指定inner join——默认情...

我的BRF+自学教程(二):跟踪模式(trace mode)

使用自开发程序来处理业务逻辑时,处理过程通常是个黑箱,业务顾问和业务用户不知道程序的具体运行方式,要依赖文档和频繁的沟通来确认实际情况。 BRFplus可以通过配置的方式实现业务逻辑,使得业务人员把业务逻辑的实现掌握在自己手中,此外...

我的BRF+自学教程(三):动态技术

开发者们可以在编程中使用各种动态技术,比如RTTS,比如通过动态的类创建和多态来实现功能的平滑扩展。BRF+开发中也存在一些动态手段。本文将介绍3种不同场景下的动态实践方式。其中第一种是纯配置的,第二和第三种是编程相关的。 本文链接...

ABAP 7.53 中的ABAP SQL(原Open SQL)新特性

S/4 HANA 1809 已经在上月发布,随之而来的是ABAP 7.53。 本文是更新文档中ABAP SQL的部分的翻译。 本次更新的内容较多,主要内容包括:Open SQL更名为ABAP SQL;新函数和表达式;限制移除;t...

使用Visual Studio Code进行ABAP开发

长期以来,我们都使用SAP GUI进行ABAP编码工作,事务代码SE38甚至成了ABAP的代名词。 SAP GUI的代码编辑能力和一些专业的IDE比较起来难免相形见绌,为了给开发者们更好的体验,SAP推出了基于Eclipse的AB...

使用PlanViz进行ABAP CDS性能分析

如管理学学者彼得·德鲁克所说:你无法管理你不能衡量的东西( If you can't measure it, you can't manage it)。要对已有程序进行性能优化,首先要对它的运行状况做出量化分析。 将代码下推到ABA...

如何减小ABAP业务代码的复杂度

在程序开发的过程中,相同的功能往往有不同的实现方式。对于可以实现同样功能的不同代码,复杂度是用于比较其质量优劣的重要指标。 在本文中,代码复杂度是指代码被理解/修改的难易程度。越容易被理解、修改的代码的复杂度越低;反之其复杂度越高。...