聊聊 C 语言和 ABAP 这两门编程语言的关系(三)

简介: TIOBE 2022年3月的编程语言排行榜显示:https://www.tiobe.com/tiobe-index/C 语言和 C++ 分别名列第二和第四位:

测试1

修改透明表的描述信息,然后重新激活透明表。


执行 RSDEPEND, 可以看到只有透明表的 Last Changed 字段发生了变化,ABAP Time Stamp 和 Screen Time Stamp 都不变,这是我们期望的结果,因为我们只是修改了透明表的描述信息,并未修改结构。

image.png

再次执行测试报表 ZTESTLOAD, 用 RSDEPEND 检测,发现测试报表的 ABAP Load 时间戳没有发生变化,这说明:即使依赖的透明表的描述信息发生变化,使用了该透明表的 ABAP 报表不需要重新编译,因为透明表描述信息不需要在报表执行期使用。


测试2

给透明表增加新的一列,再次激活。

image.png

此时通过 RSDEPEND 发现,透明表的三个时间戳全部发生了变化,如下图蓝色矩形框所示。然而测试报表 ABAP Load 本身的时间戳仍然未变,这也是合理的,因为我们给透明表里增加了新的列后,还未执行测试报表。

image.png

再次执行 ZTESTLOAD 后,这次发现它的 ABAP Load 已经被自动 invalidate 了,时间戳从 07:21:02 变成了 07:36:02。

image.png

这也解释了一个现象:有的朋友们观察到,当系统刚升完级后,或者有一批新的传输请求导入到系统后,第一次使用 SAP 应用时,系统响应速度很慢。原因其实通过前文的两个测试已经说明了:系统在花费时间去做相关 ABAP Load invalidation. 在应用依赖的这些 Load invalidation 没有结束之前,系统无法响应用户请求。


为了避免用户在第一次使用应用时长时间等待,可以使用事务码 SGEN 预先进行 Load invalidation.


总结

C/C++ 与 ABAP 有着不同的语法和各自的应用场景,然而 ABAP Kernel 和 ABAP 运行时都是基于 C/C++ 实现,因此使用 ABAP 编写的程序随处可见 C/C++ 的影子,比如 ABAP 里的 Field Symbol 和 Reference,同 C 语言里的指针用法高度相似。本文从 C 语言一个 Hello World 程序的编译过程出发,分享了 ABAP 编程语言一些基于 C/C++ 实现的技术细节。感谢阅读。


目录
相关文章
|
1月前
|
算法 程序员 编译器
C++与C语言的差异:编程语言之间的奥秘探索
C++与C语言的差异:编程语言之间的奥秘探索
50 0
|
2月前
|
程序员
什么是 ABAP 编程语言里的 Exception 断点
什么是 ABAP 编程语言里的 Exception 断点
18 0
|
7月前
|
存储 SQL 网络协议
ABAP 编程语言中 Class(类)的设计原理剖析
ABAP 编程语言中 Class(类)的设计原理剖析
91 2
|
7月前
|
Shell Linux 应用服务中间件
ABAP 面试题:如何使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令?
ABAP 面试题:如何使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令?
113 0
|
7月前
|
Shell Linux 应用服务中间件
使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令
使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令
68 0
|
6月前
|
Java 编译器 BI
关于 ABAP 这门编程语言的编译器和解释器
关于 ABAP 这门编程语言的编译器和解释器
30 0
|
7月前
|
存储
什么是 ABAP 编程语言的 Used Memory 和 Allocated Memory
什么是 ABAP 编程语言的 Used Memory 和 Allocated Memory
54 0
|
7月前
ABAP 编程语言里的 Reference Semantic - 引用语义
ABAP 编程语言里的 Reference Semantic - 引用语义
41 0
|
7月前
使用 SAP ABAP 编程语言调用 Windows10 操作系统的 Powershell 命名并打印出执行结果
使用 SAP ABAP 编程语言调用 Windows10 操作系统的 Powershell 命名并打印出执行结果
43 0
|
7月前
|
存储 Java BI
聊聊 C 语言和 ABAP 这两门编程语言的关系
聊聊 C 语言和 ABAP 这两门编程语言的关系
57 0