我希望能够为“销售订单号”提供多个范围选择。
问题是:当我按下标有绿色的按钮时,我收到错误“填写所有必填字段”。
我将我的主要处理块放在 START-OF-SELECTION 事件中。
怎么做才能不发生这种情况?在我看来,我应该能够添加多项选择,而无需先填写所有其他必填字段。
将参数/选择选项设置为 OBLIGATORY 时,这将不起作用。我前段时间遇到了同样的问题,默认情况下没有机会用有用的值填充 OBLIGATORY 输入参数,所以我做了以下操作:
代码:
AT SELECTION-SCREEN ON s_reswk.
IF sy-ucomm(1) <> '%' AND " sel screen action request
sy-ucomm(1) <> '_' AND " scope option
s_reswk IS INITIAL. " Obligatory input missing
MESSAGE text-e01 TYPE 'E'. " Error message
ENDIF.
以下是我发现的完全重现了强制添加所设置的行为:
1:取出“强制”添加。
2:在公益组织:
LOOP AT SCREEN.
IF screen-name cs 'name-of-your-select-options-or-parameter'.
screen-required = 2.
MODIFY SCREEN.
ENDIF.
3:在 PAI:
if sscrfields-ucomm = 'ONLI'.
if 'name of your select-option-or-parameter' is initial.
clear sscrfields.
message 'Fill in all required fields.'(009) type 'E'.
endif.
endif.
请注意第一个 if 语句包含一个“cs”逻辑运算符。那是因为您的控件名称也将包含其他奇怪的东西。例如 %_P_MATNR_% SCREEN %% (您的参数是 p_matnr)。
此外,声明 :TABLES sscrfields.
是必要的。