ABAP-程序开始语句(Introductory Statements)(三)——函数池
ABAP开始语句包含以下6种:
CLASS-POOL:开始一个类池
FUNCTION-POOL:开始一个函数组
INTERFACE-POOL:开始一个接口池
PROGRAM:开始一个模块池或者子例程池
REPORT:开始一个可执行程序
TYPE-POOL:开始一个类型池
函数池
函数池是一个ABAP程序,该程序只用于包含函数模块,通常通过函数模块的使用来加载。当前函数组可以只包含最多99个函数模块。支持自己的屏幕。
语法:FUNCTION-POOL fpool [list_options] [MESSAGE-ID mid]
FUNCTION-POOL语句引入一个函数组。在任何已存在的包含程序展开后,它必须是独立程序的第一个语句。对于FUNCTION-POOL语句,附加的条件同REPORT后面有同样的含义。
函数组可以使用ABAP工作台的函数构建器维护。工作台自动生成了一个框架程序和下面列出的包含程序。FUNCTION-POOL语句在top inlcude里被创建。
在仓库中函数组框架程序的完整命名 包含前缀SAPL和FUNCTION-POOL语句的名字fpool,(比如函数组为CV115,框架程序为SAPLCV115)
函数组以一个框架程序为函数模块服务,在包含程序中被组织如下:
-
一个top include,在函数组的声明部分,前缀‘L’,‘TOP’结尾。(如:LCV115TOP)
-
可选的包含程序,为了在top include中进行局部类的声明,前缀“L”,“D..”结尾。(如函数组LSVIM:LSVIM01,LSVIMDAT包含的是变量的声明)
-
一个包含程序,在函数组的实现部分,前缀“L”,“UXX”结尾。这个包含程序包含了以“U..”结尾的包含程序。为了实现函数组中的每个函数模块,这个结构是不能被改变的。(如LCV115UXX,在该包含程序中包含了LCV115U01,LCV115U02,....LCV115U52等,这些U..结尾的程序就是各个函数)。
-
可选的包含程序,为了在函数组中的实现部分中进行局部类中方法的实现,前缀“L”,“P..”结尾。(如函数组ABAP_DOCU,ABAP_DOCUP01,ABAP_DOCUP02等包含了类的实现)
-
可选的包含程序,为了在函数组中的实现部分进行PBO模块的实现,前缀“L”,“O..”结尾。(如函数组CV00中,LCV00O00,LCV00O01..LCV00O0Z等,包含了PBO模块的实现)。
-
可选的包含程序,为了在函数组中的实现部分进行PAI模块的实现,前缀“L”,“I..”结尾。(如函数组CV00中,LCV00I00,LCV00I01,..,LCV00I0Z等,包含PAI模块的实现。)
-
可选的包含程序,为了在函数组中的实现部分进行事件块的实现,前缀“L”,“E..”结尾。(如函数组ABAP_DOCU,LABAP_DOCUE00,LABAP_DOCUE01包含了屏幕事件如AT SELECTION-SCEEN,LOAD-OF-PROGRAM等)
-
可选的包含程序,为了在函数组中的实现部分进行子例程的实现,前缀“L”,“F..”结尾。(如:LCV115F01,LCV115F02...LCV115F10等,这些可选包含程序是函数组中子例程的实现。)
-
..代表两位数字,函数构建器的功能基于这个严格的命名约定。
例:对于函数组ABAP_DOCU来说:
函数组SAPLABAP_DOCU由以下包含程序构成:
INCLUDE LABAP_DOCUTOP. “Global declarations
INCLUDE LABAP_DOCUE00. ""Load of program
INCLUDE LABAP_DOCUUXX. ""Function Modules
INCLUDE LABAP_DOCUO01. ""PBO Modules
INCLUDE LABAP_DOCUI01. ""PAI Modules
INCLUDE LABAP_DOCUE01. ""Handling of Runtiom-Events
INCLUDE LABAP_DOCUP01. ""class implementations
INCLUDE LABAP_DOCUP02.
INCLUDE LABAP_DOCUP03.
INCLUDE LABAP_DOCUP04.
在第一个位置的是函数组中的top include程序;它包含FUNCTION-POOL语句和其他的为数据和类声明的包含程序。
inlcude LABAP_DOCUTOP:
FUNCTION-POOL abap_docu.
INCLUDE labap_docud00. ”屏幕的全局数据
INCLUDE labap_docud01. “”为了Docu显示的类

浙公网安备 33010602011771号