DATA: lv_name TYPE string VALUE '张三', lv_age TYPE i VALUE 25, lv_result TYPE string.
* 调用带参数的子程序 PERFORM display_info USING lv_name lv_age CHANGING lv_result.
WRITE: / lv_result.
FORM display_info USING iv_name TYPE string iv_age TYPE i CHANGING cv_result TYPE string. DATA: lv_info TYPE string. CONCATENATE '姓名:' iv_name ', 年龄:' iv_age INTO lv_info. cv_result = lv_info. WRITE: / lv_info. ENDFORM. " display_info
🎯 子程序的优势
1. 代码重用
1 2 3 4 5 6 7 8 9
* 多次调用同一子程序 PERFORM calculate_tax USING 1000 CHANGING lv_tax1. PERFORM calculate_tax USING 2000 CHANGING lv_tax2. PERFORM calculate_tax USING 3000 CHANGING lv_tax3.
FORM calculate_tax USING iv_amount TYPE p CHANGING cv_tax TYPE p. cv_tax = iv_amount * 0.10. ENDFORM.