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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

SAP CRM Service Order search Tool

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

Created by Jerry Wang, last modified on Mar 21, 2014

這個工具能夠根據UI 上的search條件( Main Category和Created on)搜索出對應的service order:

并且根據report指定的讀取條件使用function module CRM_ORDER_READ讀取對應的Service Order part( 第二個selection frame里對應的checkbox)

使用SAT即可分析Order read的性能:

report source code如下:

REPORT zorder_search1.CONSTANTS: c_oneorder TYPE crmt_aui_map_item_type VALUE 'ONEORDER',c_open TYPE crmt_aui_status VALUE '0001',c_inprocess TYPE crmt_aui_status VALUE '0002',c_complete TYPE crmt_aui_status VALUE '0003',c_not_comp TYPE crmt_aui_status VALUE '0004'.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,lo_order TYPE REF TO cl_crm_bol_entity,lo_header TYPE REF TO cl_crm_bol_entity,ls_query_parameters TYPE genilt_query_parameters,lv_order_guid TYPE crmt_object_guid,lt_order_guid TYPE crmt_object_guid_tab,lv_size TYPE i,lv_category_num TYPE i VALUE 0,lv_category TYPE crmt_aui_maincat,lt_native_status TYPE crmtt_aui_native_values,lv_native_status LIKE LINE OF lt_native_status,lv_type TYPE crmt_aui_maincat,lv_date_valid TYPE abap_bool,lv_status TYPE crmt_aui_status,lv_name TYPE vrm_id,lt_list TYPE vrm_values,ls_value LIKE LINE OF lt_list.SELECTION-SCREEN BEGIN OF BLOCK b1WITH FRAME TITLE txt1. SELECT-OPTIONS: tr_type FOR lv_type DEFAULT 'SRVO' OBLIGATORY. PARAMETERS: c_from TYPE crmt_posting_date DEFAULT '20140318',c_to TYPE crmt_posting_date DEFAULT '20140320',status(4) AS LISTBOX VISIBLE LENGTH 20 DEFAULT '0001'. SELECTION-SCREEN END OF BLOCK b1.SELECTION-SCREEN BEGIN OF BLOCK b2WITH FRAME TITLE txt2.PARAMETERS: p_head AS CHECKBOX DEFAULT 'X'. PARAMETERS: p_item AS CHECKBOX DEFAULT 'X'. PARAMETERS: p_prod AS CHECKBOX DEFAULT 'X'. PARAMETERS: p_se_h AS CHECKBOX DEFAULT 'X'. PARAMETERS: p_se_i AS CHECKBOX DEFAULT 'X'. PARAMETERS: p_st AS CHECKBOX DEFAULT 'X'. PARAMETERS: p_st_h AS CHECKBOX DEFAULT 'X'. SELECTION-SCREEN END OF BLOCK b2.SELECTION-SCREEN BEGIN OF BLOCK b3WITH FRAME TITLE txt3.PARAMETERS: p_op AS CHECKBOX DEFAULT 'X'. SELECTION-SCREEN COMMENT /1(78) outcom FOR FIELD p_op. SELECTION-SCREEN END OF BLOCK b3.INITIALIZATION.txt1 = 'Search Attribute for Service Order in IC'.txt2 = 'Specify which part of Service Order needs to be read via API'.txt3 = 'Output Service Order Detail retrieved by API'.outcom = 'If result set for Service Order is large, do not choose this flag'.AT SELECTION-SCREEN.PERFORM check_date CHANGING lv_date_valid.CHECK lv_date_valid = abap_true.AT SELECTION-SCREEN OUTPUT.ls_value-key = c_open.ls_value-text = 'Open'.APPEND ls_value TO lt_list.ls_value-key = c_inprocess.ls_value-text = 'In Process'.APPEND ls_value TO lt_list.ls_value-key = c_complete.ls_value-text = 'Completed'.APPEND ls_value TO lt_list.ls_value-key = c_not_comp.ls_value-text = 'Not Completed'.APPEND ls_value TO lt_list.CALL FUNCTION 'VRM_SET_VALUES'EXPORTINGid = 'status'values = lt_list.START-OF-SELECTION.PERFORM fill_search_para.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 ).CHECK lo_collection IS NOT INITIAL.lv_size = lo_collection->size( ).WRITE: / 'Number of Service Order found: ' , lv_size COLOR COL_POSITIVE.CHECK lv_size > 0.lo_order = lo_collection->get_first( ).WHILE lo_order IS NOT INITIAL.lo_header = lo_order->get_related_entity( 'BTOrderHeader' ).lv_order_guid = lo_header->get_property_as_string( 'GUID' ).INSERT lv_order_guid INTO TABLE lt_order_guid.lo_order = lo_collection->get_next( ).ENDWHILE.DATA: lt_header TYPE crmt_orderadm_h_wrkt,lt_item TYPE crmt_orderadm_i_wrkt,lt_product TYPE crmt_product_i_wrkt,lt_service_h TYPE crmt_service_h_wrkt,lt_service_i TYPE crmt_service_i_wrkt,lt_status TYPE crmt_status_wrkt,lt_status_h TYPE crmt_status_h_wrkt,lt_requested TYPE crmt_object_name_tab.IF p_head = abap_true.APPEND 'ORDERADM_H' TO lt_requested.ENDIF.IF p_item = abap_true.APPEND 'ORDERADM_I' TO lt_requested.ENDIF.IF p_prod = abap_true.APPEND 'PRODUCT_I' TO lt_requested.ENDIF.IF p_se_h = abap_true.APPEND 'SERVICE_H' TO lt_requested.ENDIF.IF p_se_i = abap_true.APPEND 'SERVICE_I' TO lt_requested.ENDIF.IF p_st = abap_true.APPEND 'STATUS' TO lt_requested.ENDIF.IF p_st_h = abap_true.APPEND 'STATUS_H' TO lt_requested.ENDIF.CALL FUNCTION 'CRM_ORDER_READ'EXPORTINGit_header_guid = lt_order_guidit_requested_objects = lt_requestedIMPORTINGet_orderadm_h = lt_headeret_orderadm_i = lt_itemet_product_i = lt_productet_service_h = lt_service_het_service_i = lt_service_iet_status = lt_statuset_status_h = lt_status_h.PERFORM print_title USING 'Header Information' lt_header.PERFORM print_result USING lt_header.PERFORM print_title USING 'Item Information' lt_header.PERFORM print_result USING lt_item.PERFORM print_title USING 'Product Information' lt_header.PERFORM print_result USING lt_product.PERFORM print_title USING 'Service Header Information' lt_header.PERFORM print_result USING lt_service_h.PERFORM print_title USING 'Service Item Information' lt_header.PERFORM print_result USING lt_service_i.PERFORM print_title USING 'Status Information' lt_header.PERFORM print_result USING lt_status.PERFORM print_title USING 'Status Header Information' lt_header.PERFORM print_result USING lt_status_h.FORM print_result USING it_table TYPE SORTED TABLE.FIELD-SYMBOLS: <item> TYPE any,<data> TYPE any.DATA: lo_struct TYPE REF TO cl_abap_structdescr,ls_comp LIKE LINE OF lo_struct->components.READ TABLE it_table ASSIGNING <item> INDEX 1.check sy-subrc = 0.lo_struct ?= cl_abap_structdescr=>describe_by_data( <item> ).READ TABLE it_table ASSIGNING <item> INDEX 1.LOOP AT it_table ASSIGNING <item>.WRITE: / '**************************************' COLOR COL_TOTAL.DO.ASSIGN COMPONENT sy-index OF STRUCTURE <item> TO <data>.IF sy-subrc <> 0.EXIT.ELSEIF <data> IS NOT INITIAL.READ TABLE lo_struct->components INTO ls_comp INDEX sy-index.WRITE: / 'Field Name: ', ls_comp-name COLOR COL_GROUP, 'Field value: ', <data> COLOR COL_NEGATIVE.ENDIF.ENDDO.ENDLOOP. ENDFORM.FORM print_title USING iv_title TYPE string it_table TYPE ANY TABLE.IF it_table IS NOT INITIAL.WRITE: / iv_title COLOR COL_POSITIVE.ENDIF. ENDFORM.FORM check_date CHANGING cv_valid TYPE abap_bool.cv_valid = abap_false.IF ( c_from IS INITIAL AND c_to IS NOT INITIAL ) OR ( c_from IS NOT INITIAL AND c_to IS INITIAL ).MESSAGE 'Specify both from and to date for Creation Date' TYPE 'E'.RETURN.ELSEIF c_from > c_to.MESSAGE 'Create from date must be earlier than to date' TYPE 'E'.RETURN.ENDIF.cv_valid = abap_true. ENDFORM.FORM fill_search_para.DATA: ls_type LIKE LINE OF tr_type[].LOOP AT tr_type[] INTO ls_type WHERE option = 'EQ'.CLEAR: ls_selection_parameter.ls_selection_parameter-attr_name = 'MAINCATEGORY'.ls_selection_parameter-option = 'EQ'.ls_selection_parameter-sign = 'I'.ls_selection_parameter-low = ls_type-low.APPEND ls_selection_parameter TO lt_selection_parameter.lv_category_num = lv_category_num + 1.lv_category = ls_type-low.ENDLOOP.ls_selection_parameter-attr_name = 'POSTING_DATE'.ls_selection_parameter-option = 'BT'.ls_selection_parameter-sign = 'I'.ls_selection_parameter-low = c_from.ls_selection_parameter-high = c_to.APPEND ls_selection_parameter TO lt_selection_parameter.IF status IS NOT INITIAL.lv_status = status.IF lv_category_num > 1.CLEAR: lv_category.ENDIF.lt_native_status = cl_crm_aui_service=>map_native_states(iv_item_type = c_oneorderiv_maincategory = lv_categoryiv_inbox_status = lv_status ).LOOP AT lt_native_status INTO lv_native_status.CLEAR: ls_selection_parameter.ls_selection_parameter-attr_name = 'STATUS'.ls_selection_parameter-option = 'EQ'.ls_selection_parameter-sign = 'I'.ls_selection_parameter-low = lv_native_status.APPEND ls_selection_parameter TO lt_selection_parameter.ENDLOOP.ENDIF. ENDFORM.

總結

以上是生活随笔為你收集整理的SAP CRM Service Order search Tool的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 中国色视频 | 人妻互换一区二区三区四区五区 | 久久精品6 | 男人天堂网av | 国产一线二线三线在线观看 | 成人av免费在线播放 | 91无限观看| 国产精品区二区三区日本 | www一区二区 | 国产精品不卡一区 | 伊人婷婷久久 | 成人免费在线网站 | 亚洲精品一二三四 | 午夜精品久久久久久久久久久 | 美女av影院 | 五月婷婷丁香激情 | 中文字幕日韩欧美在线 | 色婷婷社区 | 抖音视频在线观看 | 亚洲精品久久 | 久久99视频 | japanese24hdxxxx日韩 | 国产a级精品 | 国产精品免费久久 | 日韩少妇| 国产乱子伦精品无码码专区 | av在线电影院 | 成人在线天堂 | 玖玖爱精品 | 成人国产精品久久久 | 欧美日韩黄 | 视频一区三区 | 91精品国产自产91精品 | 欧美日韩成人在线播放 | 国产拍拍视频 | 亚洲综合在线观看视频 | 免费看污片的网站 | 亚洲在线网站 | 九九精品在线播放 | 激情综合久久 | 自拍偷拍色综合 | 日韩专区一区二区三区 | 99国产视频在线 | 在线观看国产黄色 | 久久久久久91亚洲精品中文字幕 | 一区二区在线视频免费观看 | 国产成人综合视频 | 致单身男女免费观看完整版 | 久久久久亚洲av片无码v | 久久久久人妻一区精品 | 午夜宅男影院 | 精品欧美黑人一区二区三区 | 国产一区不卡在线观看 | 性欧美极品另类 | 日本无遮挡边做边爱边摸 | 中文字幕av免费观看 | 国产综合激情 | 日韩欧美精品一区二区三区 | 国产一区在线免费 | 亚洲激情免费视频 | 少妇做爰免费视频播放 | 日本美女三级 | 久久久影院 | 深夜天堂 | 久久国产精品二区 | 囯产精品久久久久久 | 91桃色在线 | 清冷学长被爆c躁到高潮失禁 | 草久免费视频 | 亚洲男人天堂2017 | 四虎影视成人永久免费观看亚洲欧美 | 国产乱性| 91av麻豆| 人人干人人插 | 高潮毛片7777777毛片 | 国产少妇一区二区 | 91蜜桃网 | av国产在线观看 | 丰满双乳秘书被老板狂揉捏 | 男人的天堂a在线 | 亚洲人成人网 | 麻豆午夜 | 中文免费av | 肥老熟妇伦子伦456视频 | 殴美黄色大片 | 亚洲熟乱 | 熟妇高潮一区二区三区在线播放 | 日本3p视频 | 91国产在线播放 | 亚洲色图36p | 91网站永久免费看nba视频 | 欧美壮男野外gaytube | 6090伦理| a级黄色网址 | 久久久久久久久久一区二区三区 | 一区二区三区四区高清视频 | 97自拍视频 | 亚洲一级黄色大片 | 97国产精品人人爽人人做 |