cancel
Showing results for 
Search instead for 
Did you mean: 

Dropdown using ADD_PARAMETER_FIELD

Former Member
0 Kudos

Hi,

How to use method ADD_PARAMETER_FIELD for dropdown and i need to set one value from the dropdown as default

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Please use the following code

data: lt_value type wdy_key_value table,

wa_value type wdy_key_value,

LR_VALUE TYPE REF TO DATA.

FIELD-SYMBOLS: <FS_HDL> TYPE STRING.

CREATE DATA LR_VALUE TYPE STRING.

ASSIGN LR_VALUE->* TO <FS_HDL>.

WD_THIS->M_HANDLER->ADD_PARAMETER_FIELD(

I_ID = 'HDL'

I_DESCRIPTION = 'Highest Degree Level'

I_AS_DROPDOWN = 'X'

IT_VALUE_SET = LT_VALUE ).

Former Member
0 Kudos

Hi,

The following code will help you to create a dropdown field with default value in it,

The code to be written in the DOINIT of the view where you are using dropdown field.

DATA: LR_VALUE TYPE REF TO DATA.

DATA: LT_RANGE_TABLE TYPE REF TO DATA,

RT_RANGE_TABLE TYPE REF TO DATA,

READ_ONLY TYPE ABAP_BOOL,

TYPENAME TYPE STRING.

DATA:

L_REF_CMP_USAGE TYPE REF TO IF_WD_COMPONENT_USAGE.

DATA: LR_VALUE TYPE REF TO DATA.

FIELD-SYMBOLS: <FS_BEGDA> TYPE BEGDA,

<FS_ENDDA> TYPE ENDDA.

  • create the used component

L_REF_CMP_USAGE = WD_THIS->WD_CPUSE_SELECT_OPTIONS( ).

IF L_REF_CMP_USAGE->HAS_ACTIVE_COMPONENT( ) IS INITIAL.

L_REF_CMP_USAGE->CREATE_COMPONENT( ).

ENDIF.

WD_THIS->M_WD_SELECT_OPTIONS = WD_THIS->WD_CPIFC_SELECT_OPTIONS( ).

  • init the select screen

WD_THIS->M_HANDLER = WD_THIS->M_WD_SELECT_OPTIONS->INIT_SELECTION_SCREEN( ).

*Set the Global options

WD_THIS->M_HANDLER->SET_GLOBAL_OPTIONS(

I_DISPLAY_BTN_CANCEL = ABAP_FALSE

I_DISPLAY_BTN_CHECK = ABAP_FALSE

I_DISPLAY_BTN_RESET = ABAP_FALSE

I_DISPLAY_BTN_EXECUTE = ABAP_FALSE ).

*Input field Operating Division

  • create a range table that consists of this new data element

LT_RANGE_TABLE = WD_THIS->M_HANDLER->CREATE_RANGE_TABLE(

I_TYPENAME = 'PLVAR' ).

  • add a new field to the selection

WD_THIS->M_HANDLER->ADD_SELECTION_FIELD(

I_ID = 'PLVAR'

I_VALUE_HELP_STRUCTURE = 'HRP5125'

I_VALUE_HELP_STRUCTURE_FIELD = 'PLVAR'

IT_RESULT = LT_RANGE_TABLE I_READ_ONLY = READ_ONLY ).

*Input field Application Source type

  • create a range table that consists of this new data element

LT_RANGE_TABLE = WD_THIS->M_HANDLER->CREATE_RANGE_TABLE(

I_TYPENAME = 'RCF_APPL_SOURCE_TYPE' ).

  • add a new field to the selection

WD_THIS->M_HANDLER->ADD_SELECTION_FIELD(

I_ID = 'RCF_APPL_SOURCE_TYPE'

I_VALUE_HELP_TYPE =

IF_WD_VALUE_HELP_HANDLER=>CO_PREFIX_OVS

IT_RESULT = LT_RANGE_TABLE I_READ_ONLY = READ_ONLY ).

*Input field Application Source

  • create a range table that consists of this new data element

LT_RANGE_TABLE = WD_THIS->M_HANDLER->CREATE_RANGE_TABLE(

I_TYPENAME = 'RCF_APPL_SOURCE' ).

  • add a new field to the selection

WD_THIS->M_HANDLER->ADD_SELECTION_FIELD(

I_ID = 'RCF_APPL_SOURCE'

I_VALUE_HELP_TYPE =

IF_WD_VALUE_HELP_HANDLER=>CO_PREFIX_OVS

IT_RESULT = LT_RANGE_TABLE I_READ_ONLY = READ_ONLY ).

*Input field Requisition Created from

CREATE DATA LR_VALUE TYPE BEGDATUM.

ASSIGN LR_VALUE->* TO <FS_BEGDA>.

WD_THIS->M_HANDLER->ADD_PARAMETER_FIELD(

I_ID = 'BEGDATUM'

I_DESCRIPTION = 'Requisition Start date'

I_VALUE_HELP_STRUCTURE = 'HRP5125'

I_VALUE_HELP_STRUCTURE_FIELD = 'AEDTM'

I_OBLIGATORY = ABAP_TRUE

I_VALUE = LR_VALUE ).

*Input field Requisition Created to

CREATE DATA LR_VALUE TYPE ENDDATUM.

ASSIGN LR_VALUE->* TO <FS_ENDDA>.

WD_THIS->M_HANDLER->ADD_PARAMETER_FIELD(

I_ID = 'ENDDATUM'

I_DESCRIPTION = 'Requisition End date'

I_VALUE_HELP_STRUCTURE = 'HRP5125'

I_VALUE_HELP_STRUCTURE_FIELD = 'AEDTM'

I_OBLIGATORY = ABAP_TRUE

I_VALUE = LR_VALUE ).

DATA: LT_VALUE TYPE WDY_KEY_VALUE_TABLE,

WA_VALUE TYPE WDY_KEY_VALUE.

FIELD-SYMBOLS: <FS_HDL> TYPE ANY.

CREATE DATA LR_VALUE TYPE STRING.

ASSIGN LR_VALUE->* TO <FS_HDL>.

<FS_HDL> = '1'.

CLEAR WA_VALUE.

WA_VALUE-KEY = '1'.

WA_VALUE-VALUE = 'Yes'.

APPEND WA_VALUE TO LT_VALUE.

CLEAR WA_VALUE.

WA_VALUE-KEY = '2'.

WA_VALUE-VALUE = 'No'.

APPEND WA_VALUE TO LT_VALUE.

ASSIGN LR_VALUE->* TO <FS_HDL>.

WD_THIS->M_HANDLER->ADD_PARAMETER_FIELD(

I_ID = 'HDL'

I_DESCRIPTION = 'Highest Degree Level'

I_AS_DROPDOWN = 'X'

IT_VALUE_SET = LT_VALUE

I_VALUE = LR_VALUE ).

Former Member
0 Kudos

Hi,

Solved my self.

Edited by: Dande on Jul 15, 2009 11:12 AM