Quantcast
Channel: SCN: Message List - SAP CRM: Webclient UI - Framework
Viewing all articles
Browse latest Browse all 7775

Re: F4 help has another search component

$
0
0

Hi,

 

1.> Redefine Get_V_Attribute.

 

Create object using rv_descriptor and export your outboundplug let say Search_attribute

 

2.>  METHOD op_search_attribute.

* Added by wizard: Outbound plug 'SEARCH_ATTRIBUTE'

 

 

  CONSTANTS:

     lc_if_view_name  TYPE string VALUE 'MainWindow',

     lc_usage         TYPE string VALUE 'xyzValueHelp', "'   SEARCH_ATTRIBUTE',

     lc_event_name    TYPE string VALUE 'SEARCHATTRIBUTECLOSED'.

 

 

  DATA:

    lv_title                TYPE string,

    lr_col                  TYPE REF TO if_bol_bo_col,

    lr_cnode                TYPE REF TO cl_bsp_wd_context_node_asp,

    lr_qs                   TYPE REF TO cl_crm_bol_dquery_service,

    lr_msg_srv              TYPE REF TO cl_bsp_wd_message_service,

    lr_col_selection_params TYPE REF TO if_bol_bo_col,

    lr_current              TYPE REF TO cl_crm_bol_entity,

    lv_product              TYPE string,

    lv_event_string         TYPE string.

 

 

  cl_chtmlb_config_utility=>outbound_plug_event_info( EXPORTING iv_event_string = lv_event_string

                                                      IMPORTING ev_index        =    gv_index ).

 

  lr_current ?= xyz( )->get_bo_by_index( gv_index ).

 

  IF lr_current IS BOUND.

 

  ENDIF.

 

 

* create popup

  IF NOT search_attribute_popup IS BOUND.

    lv_title = text-001.

    search_campaign_popup = me->comp_controller->window_manager->create_popup(

      iv_usage_name          = lc_usage

      iv_interface_view_name = lc_if_view_name

      iv_title               = lv_title ).

  ENDIF.

 

 

* open popup

  IF search_attribute_popup IS BOUND.

 

 

    search_attribute_popup->set_on_close_event( iv_event_name = lc_event_name iv_view   = me ).

    search_campaign_popup->set_display_mode( if_bsp_wd_popup=>c_display_mode_surrounded ).

    search_campaign_popup->open( iv_inbound_plug = 'VALUEHELP' ).

 

   lr_cnode ?= search_attribute_popup->get_context_node( iv_cnode_name = 'ZSEARCH' ).

 

   CHECK lr_cnode IS BOUND.

 

 

    lr_qs ?= lr_cnode->collection_wrapper->get_current( ).

    CHECK lr_qs IS BOUND.

 

 

    lr_col_selection_params = lr_qs->get_selection_params( ).

 

 

    lr_col_selection_params->clear( ).

 

    CALL METHOD lr_qs->add_selection_param

      EXPORTING

        iv_attr_name = 'ATTR_ID'

        iv_sign      = 'I'

        iv_option    = 'EQ'

        iv_low       = lv_attr.

 

  ENDIF.

 

ENDMETHOD.

 

3.> Define On_attribute_popup closed

 

method EH_ONSEARCHATTRIBUTECLOSED.

 

 

  DATA:

   lv_attr_id    TYPE string,

   lv_attr_txt   TYPE string,

   lr_cnode          TYPE REF TO cl_bsp_wd_context_node,

   lr_attr       TYPE REF TO if_bol_bo_property_access,

   lr_current        TYPE REF TO if_bol_bo_property_access,

   lv_event_string   TYPE string,

   lr_entity         TYPE REF TO cl_crm_bol_entity,

   lv_outbound_plug  TYPE seocmpname.

 

 

  DATA: lr_root       TYPE REF TO if_bsp_wd_tree_node,

        lr_node       TYPE REF TO ZCL_IUICCON_xyz_CN02,

        lv_attribute  TYPE        string,

        lv_index      TYPE        string.

 

 

  CONSTANTS: lc_tab TYPE string VALUE 'table[',

             lc_attr TYPE string VALUE  '].attr_id'.

 

 

  CHECK  search_attr_popup IS BOUND.

  "Check if PopUp was closed by OK Button

  lv_outbound_plug = search_attr_popup->get_fired_outbound_plug( ).

  CHECK lv_outbound_plug = 'BACK'. "Otherwise PopUp/Search has been canceled

 

 

  "Get query result context node

  lr_cnode = search_campaign_popup->get_context_node( iv_cnode_name = 'ZRESULT' ).

  CHECK lr_cnode IS BOUND.

 

 

  lr_attr = lr_cnode->collection_wrapper->get_current( ).

  CHECK lr_attr IS BOUND.

 

 

  "Retrieve attribute field value using get_property_as_value.

 

  "Clean up result

  lr_cnode->collection_wrapper->clear( ).

 

Set attribute using set_property_as_value.

 

  CLEAR: search_attribute_popup,

 

endmethod.

 

 

Arun : Now compare your logic with this code.... hope it works..... reward if helpful.

Regards,

Sumeet


Viewing all articles
Browse latest Browse all 7775

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>