functions processing date & on parameters
some useful functions processing date:
CALL FUNCTION 'DATE_GET_MONTH_LASTDAY' "获取本月最后一天
EXPORTING
i_date = l_tempdata_s
IMPORTING
e_date = l_tempdata_e.
CALL FUNCTION 'BKK_GET_MONTH_LASTDAY' "获取本月最后一天
EXPORTING
i_date = riqi1
IMPORTING
e_date = riqi2.
CALL FUNCTION 'MONTH_PLUS_DETERMINE' "获取N月前的日期
EXPORTING
months = -N
olddate = sy-datum
IMPORTING
NEWDATE = newdate.
CALL FUNCTION 'MONTHS_BETWEEN_TWO_DATES' "计算两个日期间的月份差
EXPORTING
i_datum_bis = p_l_startday
i_datum_von = P_l_endday
* I_KZ_INCL_BIS = ' '
IMPORTING
E_MONATE = p_l_months
---------------------------------------------
1、参数引用传递(Parameters Passed by Reference)
使用USING或CHANGING不带value关键字来声明参数引用传递。代码样例:
FORM subr USING p1 [{TYPE type}|{LIKE field}]
p2 [{TYPE type}|{LIKE field}]
...
CHANGING p1 [{TYPE type}|{LIKE field}]
p2 [{TYPE type}|{LIKE field}]
...
在引用传递的方式,参数不在堆中占有内存,传入的是变量的地址,在子程序中对变量的修改实际上是对实际参数的修改。在这种方式using和changing是等价的。
2、输入参数传值传递(Input Parameters That Pass Values)
使用USING带value关键字来声明输入参数传值传递。代码样例:
FORM subr USING value(p1) [{TYPE type}|{LIKE field}]
value(p2) [{TYPE type}|{LIKE field}]
...
在输入参数传值传递的方式,参数在堆中占有内存,传入的是变量的值,在子程序中对变量的修改不会对实际参数的造成修改。
3、输出参数传值传递(Output Parameters That Pass Values)
使用USING带value关键字来声明输入参数传值传递。代码样例:
FORM subr CHANGING value(p1) [{TYPE type}|{LIKE field}]
value(p2) [{TYPE type}|{LIKE field}]
...
在输出参数传值传递的方式,形式参数在堆中占有内存,传入的是变量的值,在子程序中对变量的修改只有正常结束 (Endform,CHECK,EXIT等语句结束)时才会有形式参数拷贝到对实际参数,如果是错误消息退出则不会影响实际参数。
posted on 2008-03-04 07:19 NextStep-V 阅读(188) 评论(0) 收藏 举报