hhhhhh.

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显示的类

posted @ 2022-03-11 15:07  iceyou  阅读(470)  评论(0)    收藏  举报