SAP ABAP 动态生成 ABAP 程序并动态调用的例子代码试读版

发布时间 2023-11-25 19:52:31作者: JerryWang_汪子熙

本文回答笔者知识星球一个朋友的提问:

汪老师您好,请教一个问题。ABAP 里的程序能够动态生成吗?我的意思是,ABAP 程序的源代码是从第三方传入的,然后在 ABAP 系统生成,并执行?有没有类似的例子可以参考?谢谢汪老师!

首先笔者要提醒的是,这种根据第三方输入,动态生成 ABAP 程序并且执行的方式,有非常严重的安全隐患

如果第三方传入的 ABAP 源代码,我们在凭借这些源代码动态生成 ABAP 程序时,没有对其使用的关键字进行安全检查,那么理论上有可能生成的 ABAP 程序,会执行一些会破坏 ABAP 系统,或者导致系统业务数据丢失的情况。比如传入的 ABAP 源代码,包含一行 DEELTE FROM XXX 的代码,那么生成的 ABAP 程序执行之后,会将当前系统名叫 XXX 的数据库表的全部内容进行删除。

所以本文介绍的这种理论上的技术办法,需要非常谨慎的使用。

下面是详细介绍。