ABAP-04 子程序&INCLUDE程序&SQL

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值