function-pool:里面定义的都是全局性变量。可以起到数据共享的作用,即在每个具体的funciton里,第一次对变量赋值后,后续的都可以使用该值,除非退出该function重新登录。
例如:
FUNCTION-POOL ztest1. "MESSAGE-ID ..
DATA:l_prognam LIKE ytmod-progm,
l_parmt LIKE ytmod-parmt.
RANGES: r_exclude_lgort FOR ytmod-low.
DEFINE exclude_lgort.
l_prognam = 'ZPPR0110A'.
l_parmt = 'PLUSN'.
call function 'Z_GET_PROG_PARAM'
exporting
prog = l_prognam
parmt = l_parmt
tables
i_param = r_exclude_lgort
exceptions
program_not_found = 1
param_not_found = 2
param_maxlen_low = 3
others = 4.
END-OF-DEFINITION.
在function ZTEST里代码如下
if r_exclude_lgort is initial.
exclude_lgort.
read table r_exclude_lgort index 1.
name1 = r_exclude_lgort-low.
else.
read table r_exclude_lgort index 2.
name1 = r_exclude_lgort-low.
endif.
第一次执行时,是一个初始值。后续的值都一样了。