3

だから私はこれを持っています:

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、テーブルタイプを使用する構造の代わりに、 passに渡すpiq_selopt_t代わりにでした。gr_saordgr_saord[]

提示されたバージョンのコードと代替の結果は、どちらも同じエラーメッセージになります。

PERFORMまたはCALLFUNCTION"CHECK_VALUES"で、実際のパラメーター"GS_SAORD"は仮パラメーター"P_GR_SAORD"と互換性がありません。

基本的に、私は単にSELECT-OPTIONSテーブルをパラメータとして渡したいのですが、それを行うことができません。

4

2 に答える 2

8

これは、seloptとpiq_selopt_tがvbak-vbeln用ではないためです。LowとHighは、選択したオプションと比較して、これらのデータ型で異なる方法で入力されます。

これはうまくいくはずです

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.
于 2012-07-24T12:56:48.097 に答える
0

怠惰で(そして渡すための多くの選択オプションがあり)、それらをFORM内のselectステートメントに渡す必要がある場合は、型の定義をスキップして、フォームを次のように定義できます。

perform check_values CHANGING gs_saord[].

form check_values CHANGING p_gr_saord TYPE standard table.

endform.
于 2012-07-25T14:55:52.757 に答える