cancel
Showing results for 
Search instead for 
Did you mean: 

how to add F4 pop-up to a zfield (appended in the structure) in the search.

Former Member
0 Kudos

Hi Friends,

I have a doubt and need your help to get it resolved.

I have a search view, and i have appended a field Product_hierarchy to it. now the field is displayed in the UI .

I have added the component usage of the product category search help in my component also.

now i tried to put the code in get_dquery_valuehelps:

WHEN 'ZZPROD_HIERARCHY'.

CALL METHOD cl_crm_uiu_bp_cust_get=>get_values_for_field

EXPORTING

iv_fieldname = ................................... ( what should i enter here)

  • IV_PARTNER =

RECEIVING

rt_value = lt_ddlb

or i should follow some other approach. right now i am getting Prod_hierarchy in UI with the DDLB showing message 'This Method is not implimented yet'

Please suggest.

Regards,

VD

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

You need to implement get_v method.

also implement an outbound plug

also implement an event eg: SEL_IBASECOMPONENT. this gets called when you close the popup

Example --

method GET_V_IBASE_COMPONENT.

create object rv_valuehelp_descriptor type cl_bsp_wd_valuehelp_navdescr

exporting

iv_outbound_plug = 'OP_FINDIBASECOMPONENT'.

endmethod.

method OP_FINDIBASECOMPONENT.

data:

lv_title type string.

IF ibcompvaluehelp_popup IS NOT BOUND.

lv_title = cl_wd_utilities=>get_otr_text_by_alias( 'CRM_UIU_BT/IBCOMP_SEARCH' ).

ibcompvaluehelp_popup = comp_controller->window_manager->create_popup(

iv_interface_view_name = 'MainWindow'

iv_usage_name = 'ZWTS_IBaseVH' "the comp usage name in the component

iv_title = lv_title ).

ENDIF.

ibcompvaluehelp_popup->set_on_close_event( iv_view = me iv_event_name = 'SEL_IBASECOMPONENT' ).

ibcompvaluehelp_popup->set_display_mode( if_bsp_wd_popup=>c_display_mode_surrounded ).

ibcompvaluehelp_popup->open( iv_inbound_plug = 'SEARCH_COMP_F4' ). "look at the child component to find plug.. you can assign "DEFAULT" if not sure

endmethod.

METHOD eh_onsel_ibasecomponent.

lv_context_node = ibcompvaluehelp_popup->get_context_node( iv_cnode_name = 'IBCOMPONENTLIST' ). "look the child component and find the context node related to the search help result list

lv_col_wrapper = lv_context_node->collection_wrapper.

lv_current ?= lv_col_wrapper->get_current( ). "the selected record from the search help(child component) will be available here

"then pass value from this entity current to your own context node(parent component)

Former Member
0 Kudos

Hi,

Thanks for your reply but i have done this earlier and has solved the issue.

But now i have another requirement,

The field that i added in search i want the same in the OV page also and this is not the custom field it is allredy present in the system but in another business object.

I want to add this Zfield which is present in the ONEORDER but in another business object to the different Business object of ONEORDER.

Now should i use EEWB, and then search logic also need to implimened. or if i add another context node in my component having this field. and then display in UI.

Please Suggest.

former_member214667
Contributor
0 Kudos

Hi VD,

Please refer to the following article:

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/d0646247-efe2-2b10-3b99-c1a12ef2d...

You need to refer to the section that describes how to add a value help in advanced search.

Regards,

Shiromani

Former Member
0 Kudos

Hi Shirimoni,

thanks for the reply but i didnt get.

in the ppt, we have

CALL METHOD SUPER->GET_DQUERY_DEFINITIONS

RECEIVING

RT_RESULT = rt_result.

  • F4-help for field 'ORDER_NUMBER

read table rt_result with key field = 'ORDER_NUMBER' assigning

<rt_result>.

if sy-subrc = 0.

<rt_result>-help_id-help_id = 'CRM_ORDER_BY_OBJECT_ID'.

<rt_result>-input_mapping-CONTEXT_ATTR = 'ORDER_NUMBER'.

<rt_result>-input_mapping-F4_ATTR = 'OBJECT_ID'.

<rt_result>-output_mapping-CONTEXT_ATTR = 'ORDER_NUMBER'.

<rt_result>-output_mapping-F4_ATTR = 'OBJECT_ID'.

endif.

Here the line 'read table rt_result with key field = 'ORDER_NUMBER' assigning

<rt_result>.'

here in place of field should i write Prod_hierarchy. i have not tried this but i can not understand how this will bring the Value help pop-up.

and what should i mention in Context_attr and F4_attr , My context attribute is zzprod_hierarchy and my F4 attribute should be the one which is standard means prod_hierarchy?

Please suggest.

and means i need not write any thing in get_dquery_valuehelps.

former_member214667
Contributor
0 Kudos

Hi VD,

The code they have mentioned is to load a value help popup. For this, you need an elementary search help in your data dictionary. So in this case, the fields mean the following:

<rt_result>-help_id = <This is the name of an elementary search help.>

<rt_result>-input_mapping-CONTEXT_ATTR = <This will be left blank.>

<rt_result>-input_mapping-F4_ATTR = <This will be left blank.>

<rt_result>-output_mapping-CONTEXT_ATTR = <This is the attribute of your search structure from where value help was triggered.>

<rt_result>-output_mapping-F4_ATTR = <This is an exporting parameter of the search help whose value is to be passed back to the field from where value help was triggered.>

In case you rather want a DDLB, you can fill only the following table:

<rt_result>-ddlb_options

You need to get your DDLB entries as KEY-VALUE pairs for this.

Regards,

Shiromani

Former Member
0 Kudos

Hi shiromani,

i tried what you have mentioned but dnt knw why it is showing my field as input field without and F4 .

or i am doing something wrong.

CALL METHOD super->get_dquery_definitions

RECEIVING

rt_result = rt_result.

FIELD-SYMBOLS:<fs_result> TYPE crms_thtmlb_search_field_info.

read table rt_result with key field = 'ZZPROD_HIERARCHY' assigning

<fs_result>.

if sy-subrc = 0.

<fs_result>-help_id-help_id = ' '. (i kept it blank because i am not clear about it)

<fs_result>-input_mapping-CONTEXT_ATTR = ' '.

<fs_result>-input_mapping-F4_ATTR = ' '.

<fs_result>-output_mapping-CONTEXT_ATTR = 'ZZPROD_HIERARCHY'.

<fs_result>-output_mapping-F4_ATTR = 'PROD_HIERARCHY'.

endif.

me->typed_context->contextnode->build_parameter_tab( ).

Any thing else is required or i have comment my code from the get_dquery_valuehelps do i need to maintain something there also.

Please suggest

Thanks,

VD

former_member214667
Contributor
0 Kudos

Hi VD,

help_id field is mandatory and it should be an elementary search help that already exists in the data dictionary. You need to figure out if an elementary search help that you can use already exists (tx se11). Otherwise you need to create one and pass its name in the help_id field.

Regards,

Shiromani