Select-选项作为FM参数

Select-options as FM parameter

如何将我的 select-选项作为功能模块参数传递?

我有一个带有一些参数的程序,需要将 select-options 参数传递给 Z_FM 以便在 select 语句中使用。

在您的功能模块定义中,在 tables 部分,定义一个 table LIKE RFG_RANGES.

你的 FM 看起来像

  TABLES
      range_table STRUCTURE  EFG_RANGES

然后您就可以像使用原始 select-options 参数一样使用它了。

WHERE field IN range_table

这在用作 RFC 的 FM 中有效 希望这有帮助

是的,它会转储长度错误。

解决方法是使用辅助table。

DATA t_aux TYPE STANDARD TABLE OF efg_ranges.

t_aux[] = param_range[];

CALL FUNCTION 'Z_MYFM'
  TABLES
    range_param = t-aux.

这应该有效。

问题是 select-option 根据用于定义 select-options 的 table-filed 设置低和高的长度。

rfg_ranges固定长度为45。

只是为了分享完整的解决方案。

参数:

SELECT-OPTIONS: p_docs FOR bkpf-belnr.

调用 FM。

DATA taux TYPE STANDARD TABLE OF efg_ranges.

taux[] = p_docs[].

CALL FUNCTION 'ZCRIP_GET_PG'
  EXPORTING
    soc           = p_bukrs
    fecha_ini     = fini
    fecha_fin     = ffin
  TABLES
    documentos    = taux.