程序模块化处理会大大增加可读性,减少多余的代码,让代码重复利用率增加。ABAP里最常见的模块化处理主要有下面向种INCLUDE,FUNCTION,PERFORM。我们来 SAP培训一下。
1,INCLUDE
INCLUDE是写好一段代码A,在另一程序B里如果要用这个代码的话,可以在B程序里用 INCLUDE 程序名 把这个程序A加入到B中,从而可以使用A里面的代码,所有有的ABAPer就可以把定义的变量部分放到一个INCLUDE里,定义的变量部分放到另一个INCLUDE里,主程序又放到其他INCLUDE里,我在一项目里有一小弟,他是富士康出身的,就持别喜欢用INCLUDE,可能跟富士康编程代码习惯有关吧。例
REPORT zexcel_wh_upload MESSAGE-ID zmes.
INCLUDE zexcel_top01.
INCLUDE zexcel_sel01.
INCLUDE zexcel_inf01.
2,FUNCTION
FUNCTION是在SE37里定义的,系统把一些常用的功能代码封装成函数,函数有输入参数和输出参数,系统提供了足够多的函数。用户自己也可以自定义函数。在主程序里使用语句CALL FUNCTION语句调用就可以了。关于函数我们在ABAP进阶里会再介绍。例
CALL FUNCTION 'TRUNCATE_MULTIPLE_BYTE_STRING'
EXPORTING
STRING = IT_SORT-NAMES
TARGET_LENGTH = 35
IMPORTING
USE_LENGTH = L_WK_LENGTH.
3,PERFORM
PERFORM是在主程序里,把程序模块化的一种,它可以分为传递参数和不传递参数两种。
a,无传递参数
PERFORM SELECT_MAKT.
b,传递参数
传递侧
PERFORM WRITE_DETAIL USING WA_VBAP-VBELN
WA_VBAP
IT_VBAP
CHANGING WK_MATNR.
接受侧
|