将SELECT-OPTIONS表作为参数传递给子程序?

vla*_*ean 3 parameters sap abap

所以我有这个:

SELECT-OPTIONS gr_saord FOR gv_sales_order OBLIGATORY.

然后

PERFORM check_values CHANGING gr_saord.

然后

FORM check_values CHANGING p_gr_saord TYPE selopt.

我也尝试过而不是结构SELOPT使用表类型piq_selopt_t而不是传递gr_saord给传递gr_saord[].

所呈现的代码版本和替代结果都在相同的错误消息中:

在PERFORM或CALL FUNCTION"CHECK_VALUES"中,实际参数"GS_SAORD"与形式参数"P_GR_SAORD"不兼容.

基本上我想简单地将一个SELECT-OPTIONS表作为参数传递,并且无法设法做到这一点.

Bry*_*ain 8

这是因为selopt和piq_selopt_t不适用于vbak-vbeln.与您的选择选项相比,这些数据类型的低和高输入方式不同.

这应该工作

data: gv_sales_order type vbap-vbeln.

types: tr_vbeln like RANGE OF gv_sales_order.

SELECT-OPTIONS: gs_saord for gv_sales_order.


perform check_values CHANGING gs_saord[].

form check_values CHANGING p_gr_saord TYPE tr_vbeln.

endform.
Run Code Online (Sandbox Code Playgroud)