关于sap:SAP-ABAP-Function-Module-的动态调用方式使用方式介绍试读版

55次阅读

共计 771 个字符,预计需要花费 2 分钟才能阅读完成。

在本教程后面的步骤 7,咱们介绍了 ABAP Function Module 的根本应用办法:

  • 7. ABAP function module 的应用

最近我的常识星球有敌人发问:

大佬,我想问一下动静获取到物料主数据的字段名之后,如何将获取到的字段名去与 bapi 中的字段名对应起来从而去批改物料主数据中对应的字段值呢?

这个需要看起来有点简单,但只有把握了本文介绍的动静调用 ABAP Function Module 的技巧之后,就不难实现了。

为了将 ABAP Function Module 动静调用的场景同常识星球里对于物料主数据相干的构造抽离进去,我设计了这样一个场景来模仿。

我创立了一个测试用的 ABAP Function Module,接管 4 个输出参数,全副选取了 Optional 的 checkbox,意思是全副为可选参数。消费者调用时,能够仅传入局部输出参数甚至一个也不传入。

函数体的实现也较为简单,应用 IS SUPPLIED 检测到如果有对应输出参数传入,则打印对应的输出参数值。

假如咱们通过某种逻辑,比方调用其余的函数,或者从数据库配置表里读取到了以后应该调用这个函数的输出参数名称为 iv_id1iv_text3, 以及对应的输出参数值为 test data1test data3, 如何来调用这个函数呢?

最傻的写法当然是老老实实把第一个参数和第三个参数值传递进去:

REPORT zlocal.

CALL FUNCTION 'ZDYNAMIC_FM'
  EXPORTING
    iv_id1   = 'test data1'
    iv_text3 = 'test data3'.

严格来说,这种写法基本不合要求,因为待传递的输出参数值,是通过调用其余函数或者从数据库表里获取的,咱们在编写这段代码的时候基本不晓得有哪些参数须要传递,所以无奈把这些参数,通过惯例形式传入到函数内,而只能采取动静传递的形式。

上面是具体的实现步骤。

正文完
 0