ABAP 程序有哪些类型

ABAP 程序有哪些类型,第1张

具体的可以在程序属性的程序类型选择列表里面看到,主要是下面这几类:

1、可执行程序 (stand-along program类型为 1) ,特点是可以直接执行,而无需事务码,这个也是一般报表开发最常用的程序类型。

2、为屏幕绘制器画出的屏幕所用的模块池 (module pool程序类型为 M) ,包含了来自业务的屏幕模块的处理步骤,它只能通过事务码或者菜单功能调用。

3、包含程序 (include program程序类型为 I) ,包含了不能独立运行的程序代码,也就是说,无论你是在 SE38 里用执行功能还是通过事务码或菜单调用,都无法打开一个包含程序。它们的作用主要是让程序变得清晰和可以被重用,在其他程序里,用 INCLUDE 语句可以把一个包含程序加到程序里。最终的效果相当于用被包含的程序里的全部内容替换调 INCLUDE 语句。

4、子程序 (subroutine pool程序类型为 S) ,这种类型的程序里只包含被外部 PERFORM 语句调用的程序块。也就是说,只包含形如 FORM ENDFORM 块的程序代码,从外部程序里,用 PERFORM IN PROGRAM [IF FOUND] 来调用。

5、函数组 (function group程序类型为 F) ,这类程序包含了函数模块。函数组和函数模块用函数制作器进行管理,事务码 SE37。在创建函数组和函数模块时,函数制作器把程序类型设置为 F。

6、接口池 (interface definitions程序类型为 J) 包含了接口。类和接口都在类制作器中管理,事务码 SE24。

7、类池 (class definitions程序类型为 K) ,包含了类。类和接口都在类制作器中管理,事务码 SE24。

ABAP程序的源代码结构主要包括数据定义和处理块两部分

1)数据定义:整个程序中可见的全局数据类型和数据对象、选择屏幕元素以及ABAP Object中自定义的类和接口。

2)处理块(Processing Blocks):是ABAP的主要哦结构单元,定义程序在不同状态下执行的具体功能,在编译运行中,每一块都是一个独立的实体。数据(包括选择屏幕元素)定义和声明语句是独立于任何处理块的,其他的所有语句都必须隶属于某个处理块。

1、ABAP程序包含3种类型的处理块

(1)事件块(Event Blocks):每一个事件都需要有一个时间关键字引导,并单独构成一个语句,其后续语句隶属于该关键字代表的时间块,直到下一个关键字出现为止,包括报表事件、列表事件、屏幕事件等。

1)初始化:INITIALIATION

2)数据选择开始:START-OF-SELECTION

3)列表行选择:ATLINE-SELECTION

4)屏幕输出前处理:PROCESS BEFORE OUTPUT

5)屏幕输入后处理:PORCESS AFTER INPUT

(2)对话模块(Dialog Modules):开始和结束都有相关的关键字作为标志,是相对独立的程序单元。

(3)过程(Procedures):代码部分的开始和结束都有相关的关键字,也是相对独立的程序单元。过程包括功能模块和子程序,以及对象中类方法。可以被其他的模块调用,实现程序模块化和代码复用。

2、处理块调用

处理块是程序代码模块,也是远行期间的单元,其具体出现的顺序与其在程序代码中的先后顺序无关。

3、事件驱动

在各种处理块中,系统对事件块的调用过程有其特殊性:其调用总是与某件事地发生相关,也成为事件的触发。

4、处理块与工作过程

通过调度机(Dispatcher)把应用程序的各个代码模块分解成许多对话步骤,并通过工作过程(Work Processes,是系统的软件元素)在系统的应用层的虚拟机上进行处理,这保证了ABAP程序运行时的系统硬件平台无关性。

这个没有特别的规定的。在使用以前就可以,具体时间点根据自己需要来就好了。select以前或read以前清空是最保险的。

建议如果内表的数据确认不需要了就要即使清理及时释放占用的内存空间。ABAP程序对内存的使用很多人都不关心, 潜意思里面内存似乎可以无限使用,几乎看到所有自开发程序都是使用的内存空间不断上升,一直到程序结束才由系统一次性全部释放, 如果有很多这样的程序在系统中运行就会造成系统内存不够,出现大量swap甚至dump的情况。而对ABAP人员来说,及时释放一下内存只是举手之劳

以上就是关于ABAP 程序有哪些类型全部的内容,包括:ABAP 程序有哪些类型、ABAP程序设计语言的主要结构单元、ABAP 一般什么时候清空工作区和内表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9619316.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存