dynamic dropdown list

8
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.

Upload: anil-kumar-neegineni

Post on 22-May-2015

1.625 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Dynamic dropdown list

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'.

Page 2: Dynamic dropdown list

  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'.

Page 3: Dynamic dropdown list

  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.

Page 4: Dynamic dropdown list

  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)

Page 5: Dynamic dropdown list

Content Type contains Two Types Char, Numeric

Char type Contains A,B,C

Numeric type Contains 1,2,3

Page 6: Dynamic dropdown list

Requirement is based on the content type content value will come.

In Char Content Type

Case1

Case2

Case3

Page 7: Dynamic dropdown list

In Numeric Content Type

Case1

Case2

Case3

Page 8: Dynamic dropdown list

By Anil [email protected]