浅谈 ABAP 程序运行时出现『内存耗尽』错误的问题试读版

本专栏计划的文章数在 300 篇左右,到 2023年1月8日为止,目前已经更新了 78 篇,专栏完成度为 26%

笔者这套零基础快速学习 ABAP从 2021年4月10日写下第一篇文章以来,感谢广大学习者一如既往的支持。本教程计划花费 150 左右的篇幅,向大家详细介绍 SAP ABAP 开发的方方面面。

大家在学习教程过程中,如果有任何关于 SAP ABAP 开发方面想了解的内容,可以直接在教程各篇文章下评论留言,也可以在《零基础快速学习 ABAP 读者意见反馈和下一步写作计划表》里留言。我会将大家的意见统一汇总,作为我更新教程的内容参考来源之一。

零基础 ABAP 学习教程系列文章的目录

ABAP 基础知识

Office 专题

ALV 开发专题

更多文章正在写作中

我们用一个简单的 ABAP 程序来引出本文的讲解。

ABAP 系统的 TADIR 这张数据库表,作用很像 Windows 操作系统的注册表。我们在 Windows 系统里每安装一个软件,会在注册表里写入一些对应的记录。

同理,每次在 ABAP 系统创建新的『全局』资源,比如 ABAP 类,ABAP Function Module,ABAP 字典对象等等,就会在 TADIR 表里写入记录。在我的一个 ABAP 系统里,这张表有 200 多万条数据。

更多详情参考我的文章:SAPGUI 和 Windows 操作系统里的注册表

浅谈 ABAP 程序运行时出现『内存耗尽』错误的问题试读版_第1张图片

看下面这个简单的 ABAP 程序:我们把数据库表 TADIR 的全部记录读取出来,存放到内表 lt_tadir 里,然后在一个无限循环里,将这个内表的全部内容,拷贝到另一张内表 lt_result 里。

浅谈 ABAP 程序运行时出现『内存耗尽』错误的问题试读版_第2张图片

水满则溢,月盈则亏。所以内表 lt_result 不可能无限容纳来自其他内表的内容,什么时候会被 "撑爆"呢?

实际运行一下便知。

本文余下部分,介绍这个包含无限循环的 ABAP 应用,执行后会出现的情况和背后的知识点。

你可能感兴趣的:(浅谈 ABAP 程序运行时出现『内存耗尽』错误的问题试读版)