Using drop down by key in webdynpro ABAP

Working with Drop Down by Key in Web Dynpro for ABAP to display drop down list using domain fixed values.




Drop Down by Index in Web Dynpro ABAP

Step1: Go to SE80, create a web dynpro component ZSAPN_DDK.

Drop Down by Index in Web Dynpro ABAP

A popup will come provide some description and enter, save in a local object.

Drop Down by Index in Web Dynpro ABAP

Step2: Double click on main menu, click on change, go to context tab, right click on context, create->node.

Drop Down by Index in Web Dynpro ABAP

A popup will come provide name as DDK, cardinality (1 – 1) and enter.

Drop Down by Index in Web Dynpro ABAP

Step3: Right click on node DDK, create->attribute, provide name as GENDER -> TYPE -> GENDER and enter.

Drop Down by Index in Web Dynpro ABAP

Drop Down by Index in Web Dynpro ABAP

Similarly create another attribute SELECTED -> TYPE -> CHAR30.

Drop Down by Index in Web Dynpro ABAP

Step4: Go to layout tab, right click on ROOTUIELEMENTCONTAINER -> Insert element.

Drop Down by Index in Web Dynpro ABAP

A popup will come, provide id: DDK, type: DropDownByKey and enter.

Drop Down by Index in Web Dynpro ABAP

Create binding by clicking on bind icon.

Drop Down by Index in Web Dynpro ABAP

A popup will come, select GENDER and enter.

Drop Down by Index in Web Dynpro ABAP

Similarly right click on ROOTUIELEMENTCONTAINER, insert element id: Test, type: TextView and enter.

Drop Down by Index in Web Dynpro ABAP

A popup will come select ‘SELECTED’, enter.

Drop Down by Index in Web Dynpro ABAP

Select DDK UI element, create action method.

Drop Down by Index in Web Dynpro ABAP

Step5: Go to actions tab, double click on ‘ON_SELECT’ method and add below code.

Drop Down by Index in Web Dynpro ABAP

  DATA LO_ND_DDK TYPE REF TO IF_WD_CONTEXT_NODE.
  DATA LO_EL_DDK TYPE REF TO IF_WD_CONTEXT_ELEMENT.
  DATA LS_DDK TYPE WD_THIS->ELEMENT_DDK.
  DATA LV_GENDER TYPE WD_THIS->ELEMENT_DDK-GENDER.

*   navigate from  to  via lead selection
  LO_ND_DDK = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_DDK ).

*   @TODO handle non existant child
*   IF lo_nd_ddk IS INITIAL.
*   ENDIF.

*   get element via lead selection
  LO_EL_DDK = LO_ND_DDK->GET_ELEMENT( ).
*   @TODO handle not set lead selection
  IF LO_EL_DDK IS INITIAL.
  ENDIF.

*   get single attribute
  LO_EL_DDK->GET_ATTRIBUTE(
    EXPORTING
      NAME =  `GENDER`
    IMPORTING
      VALUE = LV_GENDER ). "get selected drop down
  DATA LV_TEXT TYPE WD_THIS->ELEMENT_DDK-SELECTED.
  IF LV_GENDER = 'M'.
    LV_TEXT = 'Male Selected'.
  ELSEIF LV_GENDER = 'F'.
    LV_TEXT = 'Female selected'.
  ELSEIF LV_GENDER = 'N'.
    LV_TEXT = 'Neutral selected'.
  ENDIF.
*   get single attribute
  LO_EL_DDK->SET_ATTRIBUTE(
    EXPORTING
      NAME =  `SELECTED`
      VALUE = LV_TEXT ). "set text

Step6: Save, activate the component, create application and test.


Drop Down by Index in Web Dynpro ABAP

Step1: Go to SE80, create a web dynpro component ZSAPN_DDK.

Drop Down by Index in Web Dynpro ABAP

A popup will come provide some description and enter, save in a local object.

Drop Down by Index in Web Dynpro ABAP

Step2: Double click on main menu, click on change, go to context tab, right click on context, create->node.

Drop Down by Index in Web Dynpro ABAP

A popup will come provide name as DDK, cardinality (1 – 1) and enter.

Drop Down by Index in Web Dynpro ABAP

Step3: Right click on node DDK, create->attribute, provide name as GENDER -> TYPE -> GENDER and enter.

Drop Down by Index in Web Dynpro ABAP

Drop Down by Index in Web Dynpro ABAP

Similarly create another attribute SELECTED -> TYPE -> CHAR30.

Drop Down by Index in Web Dynpro ABAP

Step4: Go to layout tab, right click on ROOTUIELEMENTCONTAINER -> Insert element.

Drop Down by Index in Web Dynpro ABAP

A popup will come, provide id: DDK, type: DropDownByKey and enter.

Drop Down by Index in Web Dynpro ABAP

Create binding by clicking on bind icon.

Drop Down by Index in Web Dynpro ABAP

A popup will come, select GENDER and enter.

Drop Down by Index in Web Dynpro ABAP

Similarly right click on ROOTUIELEMENTCONTAINER, insert element id: Test, type: TextView and enter.

Drop Down by Index in Web Dynpro ABAP

A popup will come select ‘SELECTED’, enter.

Drop Down by Index in Web Dynpro ABAP

Select DDK UI element, create action method.

Drop Down by Index in Web Dynpro ABAP

Step5: Go to actions tab, double click on ‘ON_SELECT’ method and add below code.

Drop Down by Index in Web Dynpro ABAP

  DATA LO_ND_DDK TYPE REF TO IF_WD_CONTEXT_NODE.
  DATA LO_EL_DDK TYPE REF TO IF_WD_CONTEXT_ELEMENT.
  DATA LS_DDK TYPE WD_THIS->ELEMENT_DDK.
  DATA LV_GENDER TYPE WD_THIS->ELEMENT_DDK-GENDER.

*   navigate from  to  via lead selection
  LO_ND_DDK = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_DDK ).

*   @TODO handle non existant child
*   IF lo_nd_ddk IS INITIAL.
*   ENDIF.

*   get element via lead selection
  LO_EL_DDK = LO_ND_DDK->GET_ELEMENT( ).
*   @TODO handle not set lead selection
  IF LO_EL_DDK IS INITIAL.
  ENDIF.

*   get single attribute
  LO_EL_DDK->GET_ATTRIBUTE(
    EXPORTING
      NAME =  `GENDER`
    IMPORTING
      VALUE = LV_GENDER ). "get selected drop down
  DATA LV_TEXT TYPE WD_THIS->ELEMENT_DDK-SELECTED.
  IF LV_GENDER = 'M'.
    LV_TEXT = 'Male Selected'.
  ELSEIF LV_GENDER = 'F'.
    LV_TEXT = 'Female selected'.
  ELSEIF LV_GENDER = 'N'.
    LV_TEXT = 'Neutral selected'.
  ENDIF.
*   get single attribute
  LO_EL_DDK->SET_ATTRIBUTE(
    EXPORTING
      NAME =  `SELECTED`
      VALUE = LV_TEXT ). "set text

Step6: Save, activate the component, create application and test.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值