聊聊 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++ 实现的技术细节。感谢阅读。


目录
相关文章
|
5月前
|
算法 程序员 编译器
C++与C语言的差异:编程语言之间的奥秘探索
C++与C语言的差异:编程语言之间的奥秘探索
82 0
|
5月前
|
程序员
什么是 ABAP 编程语言里的 Exception 断点
什么是 ABAP 编程语言里的 Exception 断点
|
Shell Linux 应用服务中间件
ABAP 面试题:如何使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令?
ABAP 面试题:如何使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令?
|
26天前
|
Unix 编译器 Shell
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
本文回顾了计算机语言与操作系统的起源,探讨了早期 Unix 操作系统及其与 C 语言的相互促进发展。Unix 最初用汇编语言编写,运行在 PDP-7 上,后来 Thompson 和 Ritchie 开发了 C 语言及编译器,使 Unix 重写并成功编译。1974 年 Ritchie 发表论文,Unix 开始被学术界关注,并逐渐普及。伯克利分校也在此过程中发挥了重要作用,推动了 Unix 和 C 语言的广泛传播。
40 9
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
WK
|
2月前
|
人工智能 算法 C语言
为什么C语言不是人工智能领域的首选编程语言?
尽管多种编程语言在人工智能领域均有应用,Python却因其独特优势成为了首选。Python的简洁语法提高了开发效率与易用性;其庞大的生态系统,尤其是丰富的AI库和框架如TensorFlow、PyTorch等,简化了算法实现过程;Python适用于快速原型设计与实验,加速项目迭代;良好的跨平台兼容性减少了配置负担;庞大的社区支持与丰富的文档资源便于学习和技术交流。尽管如此,C语言在性能等方面仍具优势,在特定场景下不可或缺。
WK
163 60
|
5月前
|
程序员
开发语言漫谈-ABAP
ABAP是SAP公司专门用于SAP软件环境的专门语言
|
5月前
|
数据库 开发者
什么是 ABAP 编程语言里的 sy-subrc
什么是 ABAP 编程语言里的 sy-subrc
|
5月前
|
C语言 iOS开发 MacOS
Objective-C是一种面向对象的编程语言,它扩展了C语言,添加了面向对象编程的特性
【5月更文挑战第9天】Objective-C是苹果公司的面向对象编程语言,用于iOS和macOS应用开发。它扩展了C语言,包含类定义(接口和实现)、对象创建、消息传递、属性、协议、块和类别等语法特性。例如,类通过`@interface`和`@implementation`定义,对象用`alloc`和`init`创建,方法通过消息传递调用。属性简化变量声明,协议定义可选方法集合,块支持代码块作为参数,类别用于扩展已有类。错误处理常使用NSError对象。要深入了解,建议查阅相关教程和文档。
49 0
|
5月前
|
Java Unix C语言
在我掉入计算机的大坑并深陷其中时,一门名为“C语言”的编程语言让我沉迷
在我掉入计算机的大坑并深陷其中时,一门名为“C语言”的编程语言让我沉迷
|
5月前
|
大数据 数据处理 云计算
道家学派创始人老子,对 SAP ABAP 这门编程语言的客观评价
道家学派创始人老子,对 SAP ABAP 这门编程语言的客观评价
下一篇
无影云桌面