这是 Jerry 2021 年的第 35 篇文章,也是汪子熙公众号总共第 311 篇原创文章。

Jerry 已经告别 ABAP 开发很长一段时间了,最近有朋友问我一个关于 ABAP Development Tool 里代码模板的使用问题。我觉得这个代码模板功能,对 ABAP 开发者来说算是一个比较实用的功能,所以单独写一篇文章,把我给这位朋友的解答分享出来。

先介绍下问题的上下文:在 SAPGUI 里,我们可以使用工具栏这个 Pattern 按钮,输入一个函数的名称比如 READ_TEXT:

然后,ABAP 编辑器会帮助我们,自动生成调用这个函数的代码模板,如下图所示。当一个 ABAP 函数具有较多的输入输出参数时,这个功能很有用,省去了我们手动敲入代码的时间。

这位朋友的困扰是,到了 ABAP Development Tool 环境下面,找不到 Pattern 按钮了,因此不知道如何继续使用 ABAP 代码模板功能。

实际上,在 ABAP Development Tool (以前我们称为 ABAP in Eclipse) 里,ABAP 代码模板仍然能够继续使用。和 SAPGUI 不同之处在于,其触发方式有所变化,不再是通过点击 IDE 里某按钮触发。

首先,在 Windows -> Preferences 里,修改 ABAP Development Tool 里触发代码自动补全的快捷键。

选择 Keys -> Content Assist,默认的快捷键是 Ctrl + Space. 这个按键组合,在 Windows 系统里会触发输入法切换,因此我们需要将其更改成其他的按键组合。

我将其修改成了 Shift + L:

在 ABAP 编辑器里,输入 CALL FUNCTION 'READ 之后,敲 Shift + L :

就会看到所有以 READ 开头的 ABAP 函数列表。从列表里选择 read_text 函数之后,在弹出框能看到该函数的输入输出参数,即所谓的 signature 明细。

键入 Shift + Enter,就可以像在 SAPGUI 里点击 Pattern 一样,自动将该函数的调用代码,插入到当前 ABAP 代码中了。

此外,在 ABAP Editor 的 ABAP Templates 里,我们可以修改 ABAP Development Tool 自带的标准 ABAP 模板,也可以自定义新的 ABAP 代码模板。

新建一个 ABAP 模板,使用按钮 Insert Variable, 可以在模板代码里插入类似 ABAP 编程语言 sy-uname 等系统变量。

比如来一段 Jerry 文章 你的ABAP程序给佛祖开过光么?来试试Jerry这个小技巧 里提到的注释。

最后编辑好的 ABAP 代码模板如下图所示,另存为 JerryCustomTemplate:

在 ABAP 编辑器中,输入 je,然后敲 Shift + L,从下拉列表里选择 JerryCustomTemplate 即可:

可以看到代码模板里插入的变量,已经自动被替换成其实际值了。

关于 SAP ABAP Development Tool 的更多介绍,可以阅读 Jerry 之前的文章:

  • 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

  • 给你的ABAP对象打上标签(Tag)

  • ABAP开发环境终于支持以驼峰命名法自动格式化ABAP变量名了

比如在 ABAP Development Tool 里设置 ABAP Formatter,让其支持驼峰命名法:

以及此处导入 ABAP 关键字的颜色配置,让你的 ABAP 编辑器具有五彩缤纷的视觉效果:

https://github.com/FreHu/eclipse-abap-keywordcolors

感谢阅读。

ABAP专题

  • Jerry的ABAP, Java和JavaScript乱炖

  • ABAP开发人员未来应该学些什么

  • Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现

  • Jerry的ABAP原创技术文章合集

  • 300行ABAP代码实现一个最简单的区块链原型

  • 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数

  • 在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务

  • ABAP vs Java, 蛙泳 vs 自由泳

  • 聊聊C语言和ABAP

  • 动手使用ABAP Channel开发一些小工具,提升日常工作效率

  • 我用ABAP做过的那些无聊的事情

  • 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

  • 使用Visual Studio Code编写和激活ABAP代码

  • 你的ABAP程序给佛祖开过光么?来试试Jerry这个小技巧

  • 在SAP云平台ABAP编程环境上编写第一段ABAP程序

  • SAP官方发布的ABAP编程规范

  • ABAP Code Inspector那些隐藏的功能,您都知道吗?

  • 还在用ABAP进行SAP产品的二次开发?来了解下这种全新的二次开发理念吧

  • ABAP Netweaver体内的那些寄生式编程语言

  • 从SAP社区上的一篇博客开始,聊聊SAP产品命名背后的那份情怀

  • 云端的ABAP Restful服务开发

  • 如何在SAP云平台ABAP编程环境里把CDS view暴露成OData服务

  • 使用abapGit在ABAP On-Premises系统和SAP云平台ABAP环境之间进行代码传输

  • 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用

  • Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现

  • Jerry带您了解Restful ABAP Programming模型系列之三:云端ABAP应用调试

  • SAP云平台上的ABAP编程环境里如何消费第三方服务

  • ABAP开发者上云的时候到了 - 现在大家可以免费使用SAP云平台ABAP环境的试用版了

  • 学而不思则罔 - SAP云平台ABAP编程环境的由来和适用场景

  • SAP云平台里的三叉戟应用

  • 如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用

  • SAP 2019 TechEd Key Note解读:云时代下SAP从业人员如何做二次开发?

  • 有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?

  • ABAP开发环境终于支持以驼峰命名法自动格式化ABAP变量名了

  • 利用ABAP 740的新关键字REDUCE完成一个实际工作任务

  • 一段让人瑟瑟发抖的ABAP代码

  • 昨日万圣节ABAP怪兽级代码谜团,公布答案啦

  • 介绍一种在ABAP内核态进行内表高效拷贝的方法

  • 使用SAP Cloud Application Programming模型开发OData的一个实际例子

  • 当ABAP遇见普罗米修斯

  • 使用ABAP绘制可伸缩矢量图

  • ABAP开发环境语法高亮的那些事儿

  • SAP错误消息调试之七种武器:让所有的错误消息都能被定位

  • 使用ABAP操作Excel的几种方法

  • SAP GUI里的收藏夹事务码管理工具

  • SAP GUI和Windows注册表

  • 有了Debug权限就能干坏事?小心了,你的一举一动尽在系统监控中

  • ABAP CCDEF, CCIMP, CCMAC, CCAU, CMXXX这些东东是什么鬼

  • 实现ABAP条件断点的三种方式

  • 使用SAT跟踪监控从浏览器打开的SAP应用的性能和调用栈

  • 一个13年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害

  • SAP ABAP Netweaver容器化, 不可能完成的任务吗?

  • SAP产品增强技术回顾

  • SAP API开发方法大全

  • 浅谈Java和SAP ABAP的静态代理和动态代理,以及ABAP面向切面编程的尝试

  • SAP ABAP应用服务器的HTTP响应状态码(Status Code)

  • SAP ABAP里存在Java List这种集合工具类么?CL_OBJECT_COLLECTION了解一下

  • ABAP面试题系列:写一组会出现死锁(Deadlock)的ABAP程序

  • SAP ABAP Netweaver服务器的标准登录方式讲解

  • SAP ABAP关键字语法图和ABAP代码自动生成工具Code Composer

  • SAP ABAP SM50的另类用途 - ABAP工作进程对数据库表读取操作的检测

  • 关于SAP ABAP字符变量和字符串变量字符个数的一个知识点,和一个血案

  • SAP ABAP一组关键字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析

  • SAP ABAP和Java里的弱引用(WeakReference)和软引用(SoftReference)

  • SAP AMDP介绍 - ABAP托管的HANA数据库过程

  • 给你的ABAP对象打上标签(Tag)

  • 历史上的今天:编程语言中null引用的十亿美元错误

更多Jerry的原创文章,尽在:“汪子熙”:

ABAP Development Tool 代码模板和其他一些实用技巧汇总相关推荐

  1. SAP ABAP Development Tool 提高开发效率的十个小技巧

    这是 Jerry 2021 年的第 46 篇文章,也是汪子熙公众号总共第 323 篇原创文章. Jerry 已经有很长一阵子没有打开工作电脑上的 SAP ABAP Development Tool 了 ...

  2. 如何在 ABAP Development Tool 创建新的 ABAP Cloud 项目

    前提条件:必须在 SAP Business Technology Platform 上创建了对应的 ABAP 环境. 打开 ABAP Development Tool,新建一个 ABAP Cloud ...

  3. 如何安装最新版本的 SAP ABAP Development Tool ( ADT ) 2021年度更新

    下载链接:https://tools.hana.ondemand.com/#abap 首先安装 Eclipse IDE for Java Developers 找到适合自己操作系统的 Eclipse ...

  4. 如何在ABAP Development Tool里只显示能在SAP云平台上使用的ABAP资源

    simply right clicking on the folder and selecting "Open Development Objects". 使用语法: api:US ...

  5. ABAP Development Tool前后台交互的原理

    在S/4HANA系统里,SE16,查看表PRGN_CORR2的内容: REL_NAME(release name)指定成751: S_TCODE是ECC里的事务码,而T_TCODE是对应的S/4HAN ...

  6. ABAP Development Tool如何配置代码自动完成的快捷键

    Keys->Content Assist, 默认是Shift + Tab: Guys, we don't need to remember all possible values for a g ...

  7. 如何从SAP Fiori Launchpad里找到ABAP Development Tool的下载地址

  8. ABAP Development Tool IDE里编写的CDS view源代码是如何传递到ABAP后台并解析的

  9. ABAP Development Tool后台处理前台请求的入口

    CL_WB_ADT_REST_RESOURCE CL_REST_RFC_UTILITIES

最新文章

  1. 元宇宙开发:你在虚幻引擎中的第一个虚拟现实游戏
  2. HTTP Host 头攻击
  3. vagrant学习笔记
  4. 01H5-fe-html5-005插入音频
  5. cursor的moveToNext()与moveToFirst()
  6. UDP调用connect
  7. 绿色计算在数据中心的应用及节能效果浅析
  8. DDD领域驱动设计特点及难点
  9. 非计算机专业的学生,简谈非计算机专业的计算机教育
  10. pyecharts学习(part3)--简单图表绘制及参数优化
  11. 安装nginx、drizzle和lua
  12. linux+模块与设备关系,《Linux内核设计与实现》读书笔记 第十七章 设备与模块...
  13. IIS6切换PHP版本
  14. sts bug SpringJUnit4ClassRunner
  15. 知识图谱在小米的应用与探索
  16. UMTS和GSM的架构(学习整理:LTE完全指南-LTE、LTE-Advanced、SAE、VolTE和4G移动通信)
  17. 压力测试常用专业名词解释
  18. asp.net paypal信用卡支付功能
  19. Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resolution | 摘要翻译 |
  20. php主动推送弹幕_百万在线的美拍直播弹幕系统的实时推送技术实践之路

热门文章

  1. bzoj4472: [Jsoi2015]salesman(树形dp)
  2. android studio——替换全局的某个字符串
  3. 人民日报“权威认证”吃鸡装备哪家强,不服来辩!
  4. 云将与行业走向深度融合
  5. cocos2d JS 中的数组拼接与排序
  6. WIN8 打开图片内置管理员无法激活此应用
  7. MySQL之权限索引学习整理
  8. ASP.NET 2.0 中的代码隐藏和编译
  9. HTML button 和 input type=“button”的区别 / input type=submit 和button的区别
  10. C# 密封类sealed