函数组的文件结构

初学 ABAP 函数模块的的朋友经常会被函数组整体的复杂结构搞晕,弄不清楚函数模块跟函数组有什么关系,全局数据又是什么东西,其实只要稍微整理一下,函数组的整体结构就很清楚了,下面我就用一个实例说明一下。

假设,函数组的名称为 <fgroup>,其中包含两个函数模块 <fmodule1> <fmodule2>。这里用尖括号是为了更好的区分 SAP 自动添加的命名规则和用户定义的名称。

则整个函数组就包含下列文件(ABAP 概念的文件,或者叫程序更准确一些)。

SAPL<fgroup>:这个是函数组主文件,内容如下:

ContractedBlock.gif ExpandedBlockStart.gif Code
*******************************************************************
*   System-defined Include-files.                                 *
*******************************************************************
  INCLUDE L
<fgroup>TOP.                       " Global Data
  INCLUDE L<fgroup>UXX.                       " Function Modules

*******************************************************************
*   User-defined Include-files (if necessary).                    *
*******************************************************************
* INCLUDE L<fgroup>Fdot.gif                       " Subprograms
* INCLUDE L<fgroup>Odot.gif                       " PBO-Modules
* INCLUDE L<fgroup>Idot.gif                       " PAI-Modules

 

然后,包含文件 L<fgroup>TOP 中是函数组定义和全局数据,内容如下:

ContractedBlock.gif ExpandedBlockStart.gif Code
FUNCTION-POOL zmdtext.                      "MESSAGE-ID ..

* Other Globle Data

 

而包含文件 L<fgroup>UXX 中则又包含了两个包含文件,并且它是不允许用户手工修改,而是 SAP 自动管理:

 

ContractedBlock.gif ExpandedBlockStart.gif Code
*****************************************************************
*   THIS FILE IS GENERATED BY THE FUNCTION LIBRARY.             *
*   NEVER CHANGE IT MANUALLY, PLEASE!                           *
*****************************************************************
INCLUDE L
<fgroup>U01.
                    
"<fmodule1>
INCLUDE L<fgroup>U02.
                    
"<fmodule2>

 

名为  L<fgroup>Uxx 的包含程序则每个包含了一个函数模块的定义 FUNCTION <fmodulexx> ... ENDFUNCTION

用户还可以在函数组的主程序中添加其它包含文件或代码,用来存储子程序、PAI、PBO 等数据。

用一个树型结构展开如下:

SAPL<fgroup>
 L<fgroup>TOP
 L<fgroup>UXX
  L<fgroup>U01
  L<fgroup>U02
  L<fgroup>U....
 L<fgroup>F
 L<fgroup>O
 L<fgroup>I

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值