Skip to Content
0
Jun 17, 2009 at 06:39 PM

FM u2018SELECT_OPTIONS_RESTRICTu2019 but it is not working.

63 Views

I am trying to restrict the selection options using FM u2018SELECT_OPTIONS_RESTRICTu2019 but it is not working. Here is the code I am using and it is not changing any option for S_CoCd. Please help me out.

TYPE-POOLS SSCR.

DATA: T_ASS_TAB TYPE SSCR_ASS, "select-options to be restricted

T_OPT_LIST TYPE SSCR_OPT_LIST, "switches controlling each option

RESTRICT TYPE SSCR_RESTRICT. "structure holding above 2 tables

  • SELECTION SCREEN

selection-screen begin of block box1 with frame title text-t01.

select-options: S_CoCd for CoCd obligatory DEFAULT 'US10'.

selection-screen end of block box1.

  • Initialize Selection Screen

initialization.

  • Create t_opt_list entry to specify capabilities of S_CoCd.

CLEAR T_OPT_LIST.

T_OPT_LIST-NAME = 'S_CoCd'."This must match ass_tab-op_main

T_OPT_LIST-OPTIONS-BT = SPACE. "Do not permit BETWEEN

T_OPT_LIST-OPTIONS-CP = SPACE. "Do not permit MATCHES-PATTERN

T_OPT_LIST-OPTIONS-EQ = 'X'. " Permit EQUALS

T_OPT_LIST-OPTIONS-GE = SPACE. "Do not permit GREATER-OR-EQUAL

T_OPT_LIST-OPTIONS-GT = SPACE. "Do not permit GREATER-THAN

T_OPT_LIST-OPTIONS-LE = SPACE. "Do not permit LESS-OR-EQUAL

T_OPT_LIST-OPTIONS-LT = SPACE. "Do not permit LESS-THAN

T_OPT_LIST-OPTIONS-NB = SPACE. "Do not permit NOT-BETWEEN

T_OPT_LIST-OPTIONS-NE = SPACE. "Do not permit NOT-EQUAL

T_OPT_LIST-OPTIONS-NP = SPACE. "Do not permit NO-PATTERN-MATCH

APPEND T_OPT_LIST TO RESTRICT-OPT_LIST_TAB.

  • Create t_ass_tab entry to show we're restricting select-option S_CoCd.

CLEAR T_ASS_TAB.

T_ASS_TAB-KIND = 'S'. "Apply only to the named SELECT-OPTION

T_ASS_TAB-NAME = 'S_CoCd'. "This is name of the SELECT-OPTION

T_ASS_TAB-SG_MAIN = 'I'. "I = ONLY Inclusions; * = Both

T_ASS_TAB-SG_ADDY = Space.

T_ASS_TAB-OP_MAIN = 'S_CoCd'. "This must match opt_list-name

APPEND T_ASS_TAB TO RESTRICT-ASS_TAB.

  • Call function to restrict the capabilities of select-option

CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'

EXPORTING

RESTRICTION = 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.

  • Provide error if attempt to restrict capabilities of S_BUKRS failed.

IF SY-SUBRC <> 0.

MESSAGE E089(ZZ) WITH SY-REPID

SY-SUBRC

'SELECT_OPTIONS_RESTRICT'.

ENDIF.

Edited by: Rajesh Hemnani on Jun 17, 2009 11:42 AM