如何用代码的方式动态创建ABAP subroutine
代码 如何 方式 ABAP 动态创建
2023-09-14 09:02:49 时间
REPORT ZSUBROUTINE.
DATA: prog TYPE string,
tab TYPE STANDARD TABLE OF string,
mess TYPE string,
sid TYPE string.
APPEND 'PROGRAM subpool.' TO tab.
APPEND `DATA spfli_tab TYPE TABLE OF spfli.` TO tab.
APPEND `LOAD-OF-PROGRAM.` TO tab.
APPEND ` SELECT *` &
` FROM spfli` &
` INTO TABLE spfli_tab.` TO tab.
APPEND `FORM loop_at_tab.` TO tab.
APPEND ` DATA spfli_wa TYPE spfli.` TO tab.
APPEND ` LOOP AT spfli_tab INTO spfli_wa.` TO tab.
APPEND ` PERFORM evaluate_wa USING spfli_wa.` TO tab.
APPEND ` ENDLOOP.` TO tab.
APPEND `ENDFORM.` TO tab.
APPEND `FORM evaluate_wa USING l_wa TYPE spfli.` TO tab.
APPEND ` WRITE: / l_wa-carrid, l_wa-connid.` TO tab.
APPEND `ENDFORM.` TO tab.
GENERATE SUBROUTINE POOL tab NAME prog
MESSAGE mess
SHORTDUMP-ID sid.
IF sy-subrc = 0.
PERFORM ('LOOP_AT_TAB') IN PROGRAM (prog) IF FOUND.
ELSEIF sy-subrc = 4.
MESSAGE mess TYPE 'I'.
ELSEIF sy-subrc = 8.
MESSAGE sid TYPE 'I'.
ENDIF.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关文章
- 作业总结:磨皮滤镜(双边滤波bilateralFilter)代码实现[通俗易懂]
- 通过逆向工程学习如何读懂二进制代码
- 一日一技:如何正确为历史遗留代码补充单元测试?
- 如何将代码写的更加优雅?
- PHP正则匹配日期和时间(时间戳转换)的实例代码
- 在 PHP 中如何通过一行代码就交换两个变量的值
- Facebook 是如何进行大规模代码部署的
- Golang 之禅: 如何写优质代码
- PHP如何使用Redis连接: 代码实例(php连接redis代码)
- 如何在Linux系统下有效地启动Java程序,让你的代码在Linux中也能正常运行?(linux下启动java)
- 用javascript实现代替marquee的滚动字幕效果代码
- androidBitmap圆角与倒影的具体实现代码
- MySQL获取系统性能和状态代码
- 往光标所在位置插入值的js代码
- 纯js简单日历实现代码