惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
Cisco Talos Blog
Cisco Talos Blog
C
Check Point Blog
博客园_首页
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Martin Fowler
Martin Fowler
Recorded Future
Recorded Future
S
Security @ Cisco Blogs
L
LINUX DO - 最新话题
博客园 - 司徒正美
P
Privacy International News Feed
G
Google Developers Blog
I
Intezer
Hacker News - Newest:
Hacker News - Newest: "LLM"
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
C
Cybersecurity and Infrastructure Security Agency CISA
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Scott Helme
Scott Helme
K
Kaspersky official blog
I
InfoQ
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
Webroot Blog
Webroot Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
大猫的无限游戏
大猫的无限游戏
D
Docker
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
Microsoft Azure Blog
Microsoft Azure Blog
Spread Privacy
Spread Privacy
量子位
H
Hacker News: Front Page
Simon Willison's Weblog
Simon Willison's Weblog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
SecWiki News
SecWiki News
S
Security Affairs
Latest news
Latest news
人人都是产品经理
人人都是产品经理
C
CERT Recently Published Vulnerability Notes
S
Security Archives - TechRepublic
V
Visual Studio Blog
T
Troy Hunt's Blog
S
Secure Thoughts
F
Fortinet All Blogs
V
V2EX
The Register - Security
The Register - Security
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

博客园 - highmayor

在ABAP的SQL语句中写Oracle Hints Screen numbers ABAP 培训笔记 part 7 更改选择屏幕的GUI STATUS---RS_SET_SELSCREEN_STATUS 隐藏标准选择屏幕的执行按钮 SAP秀才-FI速成手册 FOR ALL ENTRIES的效率问题 SAP学习笔记(HR Develepment学习笔记1) 程序间的调用 abap技术问题中文 - highmayor - 博客园 闲说继承 oracle中使用SQL递归语句 oracle删除重复行 深度理解按位异或运算符 一个容易忽略的陷阱:修改字符串常量的值 - highmayor - 博客园 使用sqlplus copy 命令在两个数据库间转移数据 Oracle数据库 Exp/Imp工具性能调优 通过JDBC操作ORACLE数据库 算法的时间复杂度(计算实例)
函数组的文件结构
highmayor · 2010-10-09 · via 博客园 - highmayor

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

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

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

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


*******************************************************************
*???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>F???????????????????????
"?Subprograms
*?INCLUDE?L<fgroup>O???????????????????????"?PBO-Modules
*?INCLUDE?L<fgroup>I???????????????????????"?PAI-Modules

?

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


FUNCTION-POOL?zmdtext.??????????????????????"MESSAGE-ID?..

*?Other?Globle?Data

?

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

?


*****************************************************************
*???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

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

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

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

?

?