Tables
使用TABLES语句定义ABAP数据字典中的数据表、视图、结构体,会生成与ABAP数据字典具有相同结构的数据对象。这种表工作区,在程序中与结构体的用法相同。
定义:Tables:表名称
使用:
select * from 表名称 where 字段名 = ’‘.
endselect.
调用子程序(Form)
1、form的定义
子程序是以form开始,以endform结束
定义
form 子程序名称.
`代码内容`
exit--直接跳出子程序
check--满足条件执行为假跳出子程序
endform.
form 子程序名称 using 参数名称1 Type/like 类型
参数名称2 Type/like 类型.
`代码内容`
endform.
form 子程序名称 changing 参数名称1 Type/like 类型
参数名称2 Type/like 类型.
`代码内容`
endform.
form 子程序名称 using 参数名称1 Type/like 类型 参数名称2 Type/like 类型 changing 参数名称3 Type/like 类型.
.
`代码内容`
endform.
form 子程序名称 using 参数名称1 Type/like 类型 参数名称2 Type/like 类型 value(参数名称3).
.
`代码内容`
endform.
2、form的调用
调用内部子程序:
perform 子程序名称.
perform 子程序名称 using 参数.
perform 子程序名称 changing 参数.
perform 子程序名称 using 参数1 参数1 changing 参数3. --参数1,2,3可在子程序中变化后返回出来
perform 子程序名称 using 参数1 参数1 参数3. -- 参数1,2可在子程序中变化后返回出来;参数3可在子程序中变化但不会返回出来
调用外部子程序
perform 子程序名称(程序名) if found --[if found]意思是当找到这个程序的时候调用
宏与INCLUDE程序的应用
1、宏(macro)的定义与应用
如果我们想在程序中多次重复使用同一组语句,我们需要将它们包含在宏中。
局部宏:只能在定义它的程序中使用宏。宏定义应在程序中使用宏之前发生。
全局宏:TRMAC
定义
DEFINE macro_name.
&1--第一个参数
&2--第二个参数
有几个参数传几个参
END-OF-DEFINITION.
使用
macro_name '' '' --后面是参数
定义宏
define mac_1.
write: / 'this is mac &1'.
end-of-definition.
定义屏幕
parameters p1 type c as checkbox. --定义勾选框
parameters p2 type c as checkbox.--定义勾选框
parameters p3 type c as checkbox.--定义勾选框
start-of-selection.
if p1 = 'X'. --如果p1被选中
mac_1 1. --调用宏并传参
endif.
if p2 = 'X'. --如果p3被选中
mac_1 2. --调用宏并传参
endif.
if p3 = 'X'. --如果p3被选中
mac_1 3. --调用宏并传参
endif.
2、Include 的用法
Include 调用的东西可以在其他程序内调用,只要参数合法都存在就可以
INCLUDE程序是用于模块化源代码的全局存储库对象。
INCLUDE结构复用
INCLUDE {
{
TYPE struc_type} | {
STRUCTURE struc} }
--该语句只能用在定义结构的BEGIN O


1887

被折叠的 条评论
为什么被折叠?



