控制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/