日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

重用CL_CRM_QUERYAUI_RUN_BTIL实现order search

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 重用CL_CRM_QUERYAUI_RUN_BTIL实现order search 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Created by Jerry Wang on Mar 20, 2014

如果需要使用代碼實現下面的search 功能:

我們可以使用如下代碼,通過重用BOL 層的query來實現搜索。

DATA: lo_core TYPE REF TO cl_crm_bol_core,lo_collection TYPE REF TO if_bol_entity_col,lv_query_name TYPE crmt_ext_obj_name,lt_selection_parameter TYPE genilt_selection_parameter_tab,ls_selection_parameter TYPE genilt_selection_parameter,ls_query_parameters TYPE genilt_query_parameters.ls_selection_parameter-attr_name = 'MAINCATEGORY'. ls_selection_parameter-option = 'EQ'. ls_selection_parameter-sign = 'I'. ls_selection_parameter-low = 'SRVO'. APPEND ls_selection_parameter TO lt_selection_parameter.ls_selection_parameter-attr_name = 'POSTING_DATE'. ls_selection_parameter-option = 'BT'. ls_selection_parameter-sign = 'I'. ls_selection_parameter-low = '20140318'. ls_selection_parameter-high = '20140320'. APPEND ls_selection_parameter TO lt_selection_parameter.ls_query_parameters-max_hits = 1. lv_query_name = 'BTAdvQueryAUI'.lo_core = cl_crm_bol_core=>get_instance( ). lo_core->load_component_set( 'BT' ).lo_collection = lo_core->dquery(iv_query_name = lv_query_nameit_selection_parameters = lt_selection_parameteris_query_parameters = ls_query_parameters ).當然我們也可以更深入一層,重用Genil layer的實現代碼來執行搜索:代碼如下:DATA: lo_tool TYPE REF TO zcl_crm_queryaui_run_btil.DATA: lt_parameter TYPE crmt_name_value_pair_tab,ls_parameter LIKE LINE OF lt_parameter,lt_sel_para TYPE genilt_selection_parameter_tab,ls_sel_para LIKE LINE OF lt_sel_para.ls_parameter-name = 'MAINCATEGORY'. ls_parameter-value = 'SRVO'. APPEND ls_parameter TO lt_parameter.ls_parameter-name = 'POSTING_DATE'. ls_parameter-value = '20140318'. APPEND ls_parameter TO lt_parameter.ls_sel_para-attr_name = 'MAINCATEGORY'. ls_sel_para-sign = 'I'. ls_sel_para-option = 'EQ'. ls_sel_para-low = 'SRVO'. APPEND ls_sel_para TO lt_sel_para.ls_sel_para-attr_name = 'POSTING_DATE'. ls_sel_para-sign = 'I'. ls_sel_para-option = 'BT'. ls_sel_para-low = '20140318'. ls_sel_para-high = '20140320'. APPEND ls_sel_para TO lt_sel_para.CREATE OBJECT lo_tool EXPORTING iv_objname = 'BTAdvQueryAUI'.lo_tool->read( i_param_tab = lt_parameterit_selection_parameters = lt_sel_paraiv_advanced_search = abap_true ).DATA(result) = lo_tool->get( ).

這里的zcl_crm_queryaui_run_btil是一個新的class,繼承自cl_crm_queryaui_run_btil。繼承的原因是我們需要使用GET_RESULT_LIST和READ_BUSINESS_TRANSACTIONS這兩個protected方法。sub class的代碼如下:

class ZCL_CRM_QUERYAUI_RUN_BTIL definitionpublicinheriting from CL_CRM_QUERYAUI_RUN_BTILfinalcreate public .public section.methods READimporting!I_PARAM_TAB type CRMT_NAME_VALUE_PAIR_TAB optional!IT_SELECTION_PARAMETERS type GENILT_SELECTION_PARAMETER_TAB optional!IV_ADVANCED_SEARCH type CRMT_BOOLEAN default ABAP_FALSE .methods GETimporting!IT_PARAMETERS type CRMT_NAME_VALUE_PAIR_TAB optionalreturningvalue(RR_RESULT_LIST) type ref to CRMT_REPORT_LOCATORLIST_TA . protected section.methods GET_RESULT_LISTredefinition .methods READ_BUSINESS_TRANSACTIONSredefinition . private section. ENDCLASS.CLASS ZCL_CRM_QUERYAUI_RUN_BTIL IMPLEMENTATION.* <SIGNATURE>---------------------------------------------------------------------------------------+ * | Instance Public Method ZCL_CRM_QUERYAUI_RUN_BTIL->GET * +-------------------------------------------------------------------------------------------------+ * | [--->] IT_PARAMETERS TYPE CRMT_NAME_VALUE_PAIR_TAB(optional) * | [<-()] RR_RESULT_LIST TYPE REF TO CRMT_REPORT_LOCATORLIST_TA * +--------------------------------------------------------------------------------------</SIGNATURE>method GET. CALL METHOD me->GET_RESULT_LISTEXPORTINGit_parameters = it_parametersRECEIVINGRR_RESULT_LIST = rr_result_list.endmethod.* <SIGNATURE>---------------------------------------------------------------------------------------+ * | Instance Protected Method ZCL_CRM_QUERYAUI_RUN_BTIL->GET_RESULT_LIST * +-------------------------------------------------------------------------------------------------+ * | [--->] IT_PARAMETERS TYPE CRMT_NAME_VALUE_PAIR_TAB(optional) * | [<-()] RR_RESULT_LIST TYPE REF TO CRMT_REPORT_LOCATORLIST_TA * +--------------------------------------------------------------------------------------</SIGNATURE>method GET_RESULT_LIST. CALL METHOD SUPER->GET_RESULT_LISTEXPORTINGit_parameters = it_parametersRECEIVINGRR_RESULT_LIST = rr_result_list.endmethod.* <SIGNATURE>---------------------------------------------------------------------------------------+ * | Instance Public Method ZCL_CRM_QUERYAUI_RUN_BTIL->READ * +-------------------------------------------------------------------------------------------------+ * | [--->] I_PARAM_TAB TYPE CRMT_NAME_VALUE_PAIR_TAB(optional) * | [--->] IT_SELECTION_PARAMETERS TYPE GENILT_SELECTION_PARAMETER_TAB(optional) * | [--->] IV_ADVANCED_SEARCH TYPE CRMT_BOOLEAN (default =ABAP_FALSE) * +--------------------------------------------------------------------------------------</SIGNATURE>method READ. CALL METHOD me->READ_BUSINESS_TRANSACTIONSEXPORTINGi_param_tab = i_param_tabit_selection_parameters = it_selection_parametersiv_advanced_search = iv_advanced_search.endmethod.* <SIGNATURE>---------------------------------------------------------------------------------------+ * | Instance Protected Method ZCL_CRM_QUERYAUI_RUN_BTIL->READ_BUSINESS_TRANSACTIONS * +-------------------------------------------------------------------------------------------------+ * | [--->] I_PARAM_TAB TYPE CRMT_NAME_VALUE_PAIR_TAB(optional) * | [--->] IT_SELECTION_PARAMETERS TYPE GENILT_SELECTION_PARAMETER_TAB(optional) * | [--->] IV_ADVANCED_SEARCH TYPE CRMT_BOOLEAN (default =ABAP_FALSE) * +--------------------------------------------------------------------------------------</SIGNATURE>method READ_BUSINESS_TRANSACTIONS. CALL METHOD SUPER->READ_BUSINESS_TRANSACTIONSEXPORTINGi_param_tab = i_param_tabit_selection_parameters = it_selection_parametersiv_advanced_search = iv_advanced_search.endmethod. ENDCLASS.

總結

以上是生活随笔為你收集整理的重用CL_CRM_QUERYAUI_RUN_BTIL实现order search的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。