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.
如何将我的 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.