dynamic dropdown list

Post on 22-May-2015

1.625 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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