* 主程序 REPORT z_main_program. INCLUDE Z_GLOBAL_CONSTANTS. " 包含常量定义 INCLUDE Z_GLOBAL_FUNCTIONS. " 包含函数定义
START-OF-SELECTION. DATA: lv_result TYPE i. * 使用包含的函数 lv_result = calculate_discount( 1000, 10 ). WRITE: / 'Discount Amount:', lv_result.
3. 子程序示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
REPORT z_subroutine_example.
* 定义子程序 FORM calculate_tax USING iv_amount TYPE p CHANGING cv_tax_amount TYPE p. DATA: lv_rate TYPE p VALUE 0.10. cv_tax_amount = iv_amount * lv_rate. ENDFORM.
* 调用子程序 DATA: lv_amount TYPE p VALUE 1000, lv_tax TYPE p.
PERFORM calculate_tax USING lv_amount CHANGING lv_tax.
WRITE: / 'Tax Amount:', lv_tax.
🎯 模块化最佳实践
1. 模块设计原则
graph LR
A[模块设计原则] --> B[单一职责]
A --> C[高内聚低耦合]
A --> D[接口清晰]
A --> E[功能独立]