屏幕SELECT-OPTION的复数选择控制

控制SELECT-OPTION的复数选择项目。比如只有[指定值选择]和[指定范围选择],屏蔽掉[指定值以外选择]和[指定范围以外选择]。

[@more@] *&------------------------------------------------------------*
*& Report Y_TEST_200
*&
*&------------------------------------------------------------*
*& Ray' test
*&
*&------------------------------------------------------------*

REPORT Y_TEST_200.

TABLES MAKT.

TYPE-POOLS SSCR. "SELECT-OPTIONS制御用

SELECT-OPTIONS S_MATNR FOR MAKT-MATNR.

INITIALIZATION.

PERFORM F_SET_SCREEN.

START-OF-SELECTION.

END-OF-SELECTION.

*&-------------------------------------------------------*
*& Form F_SET_SCREEN
*&-------------------------------------------------------*
* スクリーンセット
*--------------------------------------------------------*
FORM F_SET_SCREEN .

DATA:
WL_RESTRICT TYPE SSCR_RESTRICT, "structure containing 2 tables
WL_OPTLIST TYPE SSCR_OPT_LIST, "header line for table 1
WL_ASS TYPE SSCR_ASS. "header line for table 2

* ローカル定数宣言
CONSTANTS:
CL_S TYPE CHAR1 VALUE 'S',
CL_X TYPE C VALUE 'X',
CL_I TYPE CHAR1 VALUE 'I',
CL_KEY1 TYPE CHAR10 VALUE 'KEY1',
CL_KEY2 TYPE CHAR10 VALUE 'KEY2',
CL_MATNR TYPE CHAR10 VALUE 'S_MATNR',
CL_MAKTX TYPE CHAR10 VALUE 'S_MAKTX'.

* 品目コードのセット
WL_OPTLIST-NAME = CL_KEY1.
WL_OPTLIST-OPTIONS-EQ = CL_X.
WL_OPTLIST-OPTIONS-BT = CL_X.
APPEND WL_OPTLIST TO WL_RESTRICT-OPT_LIST_TAB.
CLEAR: WL_OPTLIST.

WL_ASS-KIND = CL_S.
WL_ASS-NAME = CL_MATNR.
WL_ASS-SG_MAIN = CL_I.
WL_ASS-SG_ADDY = SPACE.
WL_ASS-OP_MAIN = CL_KEY1.
APPEND WL_ASS TO WL_RESTRICT-ASS_TAB.
CLEAR: WL_ASS.

CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
EXPORTING
RESTRICTION = WL_RESTRICT
EXCEPTIONS
TOO_LATE = 1
REPEATED = 2
SELOPT_WITHOUT_OPTIONS = 3
SELOPT_WITHOUT_SIGNS = 4
INVALID_SIGN = 5
EMPTY_OPTION_LIST = 6
INVALID_KIND = 7
REPEATED_KIND_A = 8
OTHERS = 9.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDFORM. " F_SET_SCREEN

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8356764/viewspace-1028039/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8356764/viewspace-1028039/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值