Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Fields as Radio Button on View

Hi Experts,

My requirement is to add to fields (Flags X & Y) on the Quotation screen BT115QH_SLSQ/Details

as radio buttons so that out of these two I can select only one of them.

I can add these Z* fields using EEWB or append CRMD_ORDERADM_H.

But how to display those as radio button in CRM Web UI (2007) using component workbench?

Thanks in advance!

Regards,

Spiarte

Tags:
Former Member
Former Member replied

Hi,

First of all, you can achieve this by creating just one field on EEWB. You dont need to create 2 fields.

Here is what you do.

1. In EEWB, As you already did, add a field of type char with length 1. Based on the radio button selected, the value that gets stored in this field can be controlled through your code.

2. Do not add your field yet to the Web UI.

3. Open your view in component workbench, navigate to your attribute in the context node and right click and regenerate get_i methods first.

4. Double click and create GET_P method for your custom field.

Within this method, add the following code:

CASE iv_property.

WHEN if_bsp_wd_model_setter_getter=>fp_fieldtype.

rv_value = cl_bsp_dlc_view_descriptor=>field_type_radio. "This is to display field as Radio button

WHEN if_bsp_wd_model_setter_getter=>fp_radio_cols.

rv_value = 2. "This will display 2 radio buttons on screen

WHEN if_bsp_wd_model_setter_getter=>fp_group.

rv_value = 'R1'. "This is to set the radio button group so that the radio button selection is mutually exclusive

ENDCASE.

5. Add a global attribute GR_RADIO_DDLB of type ref to CL_CRM_UIU_DDLB to the context class.

6. Double click and create GET_V method for your custom field. Within this method add the following code.

DATA: lt_ddlb TYPE bsp_wd_dropdown_table,

ls_ddlb TYPE bsp_wd_dropdown_line.

IF gr_radio_ddlb IS NOT BOUND.

CREATE OBJECT gr_radio_ddlb

EXPORTING

iv_source_type = 'T'.

CLEAR : ls_ddlb.

ls_ddlb-key = 'P'. "Value for the First Radio button

ls_ddlb-value = 'Radio 1'. "Label for first radio button

APPEND ls_ddlb TO lt_ddlb.

CLEAR : ls_ddlb.

ls_ddlb-key = 'A'. "Value for the Second Radio Button

ls_ddlb-value = 'Radio 1'. "Label for second radio button

APPEND ls_ddlb TO lt_ddlb.

gr_radio_ddlb->set_selection_table( lt_ddlb ).

ENDIF.

rv_valuehelp_descriptor = gr_radio_ddlb.

7.Now try to add the field to the Web UI and you can see that the field type is already displayed as "Radio button group".

Hope this helps.

Regards

Krishna

Edited by: kkp on May 10, 2009 10:04 AM

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question