SAPGUI 里 ABAP 代码导出成 PDF 格式的隐藏小技巧

简介: SAPGUI 里 ABAP 代码导出成 PDF 格式的隐藏小技巧

在 abapGit 普及之前,SAP 生态圈里交流 ABAP 代码的渠道是 SAPLink. 这个工具支持把主流的 ABAP 开发对象从系统 A 导出成本地文件,然后导入到系统 B 去。

目前 abapGit 和 SAPLink 已经能够满足几乎所有场景下的 ABAP 代码交换需求了。也有的朋友使用场景比较简单,只需要将系统里的 ABAP 代码导出到本地离线阅读。


虽然 SAPGUI ABAP 编辑器里的 Utilities 菜单,支持将源代码下载到本地,但只支持 text 格式下载。这些下载的本地文件,打开之后语法高亮也没了。

其实 SAPGUI 的 ABAP 编辑器本身就支持将源代码以 PDF 格式下载到本地,并仍旧保留语法高亮。

我们在 ABAP 编辑器的右下角,找到这个 Option 图标,点击,选择 Keyboard,然后给 File.ExportPDF 分配一个快捷键,比如 Ctrl+W.

之后在 ABAP 编辑器里敲这个快捷键,就能弹出 PDF 文件的保存对话框了。

导出的 PDF 文件里,仍然保留着 ABAP 编辑器里的语法高亮显示。

有意思的是,比如函数 TRINT_TADIR_POPUP,导出成 PDF 时,文件名自动填充的是 LSTRDU18,这是为何?


实际上,我在之前的文章 ABAP CCDEF, CCIMP, CCMAC, CCAU, CMXXX这些东东是什么鬼 曾经介绍过,像 ABAP 类的方法,以及本文聊到的 Function Module,其源代码存储,都是以 SE38 可以打开的 ABAP 报表实现的。本例 Function Module TRINT_TADIR_POPUP,其源代码存储在 ABAP Include LSTRDU18,所以导出到本地时,系统默认使用该 Include 的名称,作为导出的 PDF 文件名。


附录:什么是 saplink?

SAPlink是一个由社区开发的工具,用于简化SAP ABAP开发中的一些常见任务。它允许开发人员在ABAP环境中共享代码、对象和其他开发资源。这个工具的主要功能是将ABAP对象导出为XML格式,然后可以通过SAPlink导入到其他系统中。


在理解SAPlink的作用之前,让我们先来了解一下ABAP开发中的一些常见场景。在大型企业中,通常会有多个开发团队同时进行ABAP开发工作。这些团队可能在不同的项目中工作,或者在同一个项目的不同模块中工作。在这种情况下,开发团队可能会需要共享代码或对象,以避免重复开发,提高效率。此外,有时候还需要将开发好的对象从一个系统迁移到另一个系统,比如从开发系统迁移到测试系统或生产系统。


SAPlink就是为了解决这些问题而开发的。它提供了一种简单而强大的方法,让开发人员可以轻松地分享和重用他们的ABAP代码和对象。下面我们来看一下SAPlink的一些主要特点和用法。


1.导出和导入ABAP对象:

通过SAPlink,开发人员可以将ABAP对象(比如程序、函数模块、数据字典对象等)导出为XML文件的格式。这些XML文件包含了ABAP对象的定义和相关信息。然后,其他开发人员可以通过SAPlink将这些XML文件导入到他们的系统中,从而重用这些对象。


举例来说,假设有一个开发团队在开发一个新的报表程序,并且已经编写了一些相关的函数模块和数据字典对象。现在另一个开发团队需要在另一个项目中使用类似的功能。这时,第一个团队可以使用SAPlink将他们开发的对象导出为XML文件,然后将这些文件提供给第二个团队。第二个团队可以通过SAPlink将这些XML文件导入到他们的系统中,从而避免重复开发。


2.版本控制和历史记录:

SAPlink还提供了版本控制和历史记录的功能,可以跟踪ABAP对象的修改历史。这样,开发人员可以轻松地查看一个对象的变更历史,并且在需要时回滚到之前的版本。


例如,一个开发团队在某个程序中进行了一些修改,但是后来发现这些修改引入了一些问题。通过SAPlink,他们可以轻松地查看这些修改的历史记录,并且回滚到之前的一个稳定版本,从而解决问题。


3.社区支持和扩展性:

SAPlink是一个开源项目,有一个活跃的社区在维护和支持它。这意味着开发人员可以从社区中获取支持和帮助,并且可以参与到项目的开发和改进中来。此外,SAPlink还提供了丰富的插件和扩展,可以根据具体需求进行定制和扩展。


例如,有些开发团队可能需要额外的功能来集成SAPlink与他们的持续集成/持续交付(CI/CD)工作流程。他们可以开发自己的插件来实现这些功能,或者从社区中获取现成的插件。


4.与其他工具的集成:

SAPlink还可以与其他开发工具和平台进行集成,比如Git、Jenkins等。这样,开发人员可以更轻松地将ABAP开发集成到他们的工作流程中,提高开发效率和质量。


例如,一个团队可能使用Git作为版本控制系统,并且希望将ABAP开发纳入到他们的Git工作流程中。通过与SAPlink的集成,他们可以将ABAP对象导出为XML文件,然后提交到Git仓库中进行版本控制和管理。


5.支持各种ABAP对象:

SAPlink支持导出和导入各种类型的ABAP对象,包括但不限于:程序、函数模块、数据字典对象、表格、视图、类型、类等。这使得开发人员可以轻松地分享和重用他们的各种ABAP开发资源。


例如,一个团队可能开发了一组通用的函数模块,用于处理日期和时间相关的操作。通过SAPlink,他们可以将这些函数模块导出为XML文件,并且共享给其他团队使用。


6.简化团队协作:

最后,SAPlink还可以帮助简化团队协作,提高开发团队之间的沟通和协作效率。通过将ABAP对象导出为XML文件,开发人员可以轻松地共享他们的代码和对象,并且更容易地进行代码审查、调试和合并。


例如,一个团队可能希望将他们的ABAP代码提交到代码审查工具进行审查。通过SAPlink,他们可以将ABAP对象导出为XML文件,然后将这些文件提交到审查工具中进行审查,从而提高代码质量和可维护性。


相关文章
|
1月前
|
存储 数据处理 开发者
ABAP 如何把 unicode 代码点转换成字符
ABAP 如何把 unicode 代码点转换成字符
19 0
|
21天前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
21 0
|
5天前
|
人工智能 Python
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
24 0
|
1月前
|
JSON 数据可视化 Linux
安利3款Python三方库!轻松实现PDF转图片,最快的只需一行代码!
安利3款Python三方库!轻松实现PDF转图片,最快的只需一行代码!
|
1月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
15 0
|
1月前
|
存储
ABAP 代码从十进制转二进制的方法
ABAP 代码从十进制转二进制的方法
21 0
|
2月前
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
106 0
|
2月前
|
存储 传感器 编解码
CVPR 2023 最全分割类论文整理:图像/全景/语义/实例分割等【附PDF+代码】
CVPR 2023 最全分割类论文整理:图像/全景/语义/实例分割等【附PDF+代码】
120 1
|
6月前
|
存储 语音技术 UED
如何用 ABAP 代码进行文本转语音的输出工作
如何用 ABAP 代码进行文本转语音的输出工作
36 0
|
2月前
|
SQL 数据库
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
25 0