dynamic dropdown list
Post on 22-May-2015
1.625 Views
Preview:
TRANSCRIPT
REPORT ZAN_DD_TEST.
TYPE-POOLS VRM.
TABLES SSCRFIELDS.
DATA : L_NAME1 TYPE VRM_ID, L_NAME2 TYPE VRM_ID, LI_LIST1 TYPE VRM_VALUES, LI_LIST2 TYPE VRM_VALUES, L_VALUE1 TYPE VRM_VALUE, L_VALUE2 TYPE VRM_VALUE.
SELECTION-SCREEN BEGIN OF BLOCK A.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(15) TEXT-002. " Content Type
PARAMETERS P_DEPMNT TYPE NAME1 AS LISTBOX VISIBLE LENGTH 26 USER-COMMAND ONE.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(15) TEXT-001. " Content Value
PARAMETERS : P_DESNTN TYPE STEXT AS LISTBOX VISIBLE LENGTH 20 USER-COMMAND TWO.
PARAMETERS P_TEXT2 TYPE C MODIF ID M1.
PARAMETERS P_TEXT TYPE NAME1 MODIF ID M1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK A.
INITIALIZATION.
REFRESH LI_LIST1.
L_VALUE1-KEY = 'C'. L_VALUE1-TEXT = 'Char'. APPEND L_VALUE1 TO LI_LIST1. CLEAR L_VALUE1.
L_VALUE1-KEY = 'N'.
L_VALUE1-TEXT = 'Numeric'. APPEND L_VALUE1 TO LI_LIST1. CLEAR L_VALUE1.
L_NAME1 = 'P_DEPMNT'.
CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = L_NAME1 VALUES = LI_LIST1 EXCEPTIONS ID_ILLEGAL_NAME = 1 OTHERS = 2. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.
AT SELECTION-SCREEN.
CASE SSCRFIELDS.WHEN 'ONE'.
REFRESH LI_LIST2[].
CLEAR : P_DESNTN, P_TEXT.
IF P_DEPMNT = 'N'.
L_VALUE2-KEY = '1'. L_VALUE2-TEXT = '1'. APPEND L_VALUE2 TO LI_LIST2. CLEAR L_VALUE2.
L_VALUE2-KEY = '2'. L_VALUE2-TEXT = '2'. APPEND L_VALUE2 TO LI_LIST2. CLEAR L_VALUE2.
L_VALUE2-KEY = '3'. L_VALUE2-TEXT = '3'. APPEND L_VALUE2 TO LI_LIST2. CLEAR L_VALUE2.
L_NAME2 = 'P_DESNTN'.
CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = L_NAME2 VALUES = LI_LIST2 EXCEPTIONS ID_ILLEGAL_NAME = 1 OTHERS = 2. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.
ELSEIF P_DEPMNT = 'C'.
L_VALUE2-KEY = 'A'. L_VALUE2-TEXT = 'A'. APPEND L_VALUE2 TO LI_LIST2. CLEAR L_VALUE2.
L_VALUE2-KEY = 'B'. L_VALUE2-TEXT = 'B'. APPEND L_VALUE2 TO LI_LIST2. CLEAR L_VALUE2.
L_VALUE2-KEY = 'C'. L_VALUE2-TEXT = 'C'. APPEND L_VALUE2 TO LI_LIST2. CLEAR L_VALUE2.
L_NAME2 = 'P_DESNTN'.
CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = L_NAME2 VALUES = LI_LIST2 EXCEPTIONS ID_ILLEGAL_NAME = 1 OTHERS = 2. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.
ENDIF.
WHEN 'TWO'.
CLEAR P_TEXT.
IF P_DESNTN = 'A'. P_TEXT = 'A'.
ELSEIF P_DESNTN = 'B'.
P_TEXT = 'B'.
ELSEIF P_DESNTN = 'C'.
P_TEXT = 'C'.
ELSEIF P_DESNTN = '1'.
P_TEXT = '1'.
ELSEIF P_DESNTN = '2'.
P_TEXT = '2'.
ELSEIF P_DESNTN = '3'.
P_TEXT = '3'.
ENDIF.
ENDCASE.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M1'. SCREEN-DISPLAY_3D = 0. SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
After F8(Execution)
Content Type contains Two Types Char, Numeric
Char type Contains A,B,C
Numeric type Contains 1,2,3
Requirement is based on the content type content value will come.
In Char Content Type
Case1
Case2
Case3
In Numeric Content Type
Case1
Case2
Case3
By Anil anil.neegineni@gmail.com
top related