Using drop down by key in webdynpro ABAP

WebDynpro ABAP下拉框实现
本文介绍如何在WebDynpro for ABAP中使用DropDownByKey组件展示基于域固定值的下拉列表,并通过示例步骤展示了创建组件、设置属性、绑定数据及响应选择事件的全过程。

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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值