[英]How to select multiple ranges for a parameter WITHOUT first filling all other required parameters?
我希望能够为“销售订单号”选择多个范围。
问题是:当我按下标有绿色的按钮时,出现错误“填写所有必填字段”。
我将我的主要处理块放在 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:在 PBO:
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.
是必要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.