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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

批量修改Service Order description的report

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

Created by Jerry Wang on Apr 05, 2014

執行report,report會自動找出系統里指定數量的狀態處于open的service order,將其description設置成report指定的新的內容。

并打印出總共花費的時間(以微秒為單位,包含save)

REPORT ZORDER_MODIFY_LAUNCHER.PARAMETERS: num type i OBLIGATORY DEFAULT 1,txt type char20 OBLIGATORY DEFAULT 'new text'.DATA: lt_rspar TYPE TABLE OF rsparams,ls_rspar LIKE LINE OF lt_rspar,lt_order_index TYPE STANDARD TABLE OF crmd_order_index-header,lt_order_tab TYPE STANDARD TABLE OF crmd_orderadm_h-object_id,lv_order_id LIKE LINE OF lt_order_tab.AT SELECTION-SCREEN.CHECK num > 0.PERFORM fill_order_tab. START-OF-SELECTION.LOOP AT lt_order_tab INTO lv_order_id.ls_rspar = VALUE #( selname = 'ORDERID'kind = 'S'sign = 'I'option = 'EQ'low = lv_order_id ).APPEND ls_rspar TO lt_rspar.ls_rspar = VALUE #( selname = 'TXT'kind = 'P'low = txt ).APPEND ls_rspar TO lt_rspar.ENDLOOP.submit zorder_modify WITH SELECTION-TABLE lt_rspar.FORM fill_order_tab.CLEAR: lt_order_index.SELECT DISTINCT crmd_order_index~HEADER INTO TABLE @lt_order_indexup to @num rows FROM CRMD_ORDER_INDEX INNER JOIN CRM_JEST ON CRM_JEST~OBJNR = CRMD_ORDER_INDEX~HEADERWHERE CRMD_ORDER_INDEX~PROCESS_TYPE_IX = 'SRVO' ANDCRMD_ORDER_INDEX~STAT_OPEN = 'X' ANDCRM_JEST~INACT = @abap_false AND CRM_JEST~STAT IN ('E0001', 'I1002') ANDCRMD_ORDER_INDEX~OBJECT_TYPE = 'BUS2000116'.CHECK lt_order_index IS NOT INITIAL.SELECT object_id INTO TABLE lt_order_tab FROM CRMD_ORDERADM_H FOR ALL ENTRIES IN lt_order_indexWHERE guid = lt_order_index-table_line.ENDFORM.REPORT zorder_modify.DATA: lt_exception TYPE crmt_exception_t,ls_exception LIKE LINE OF lt_exception,lt_header TYPE crmt_orderadm_h_comt,lt_saved_object TYPE crmt_return_objects,lt_save_failed TYPE crmt_object_guid_tab,lt_to_be_save TYPE crmt_object_guid_tab,lt_changed_input TYPE crmt_input_field_tab,ls_changed_input LIKE LINE OF lt_changed_input,ls_header LIKE LINE OF lt_header,lv_start TYPE i,lv_end TYPE i,lv_object_id TYPE crmd_orderadm_h-object_id.SELECTION-SCREEN BEGIN OF BLOCK b1WITH FRAME TITLE txt1. SELECT-OPTIONS: orderid FOR lv_object_id OBLIGATORY. "DEFAULT '8000000110' OBLIGATORY. PARAMETERS: txt TYPE char20 OBLIGATORY."DEFAULT 'new description'. SELECTION-SCREEN END OF BLOCK b1.INITIALIZATION.txt1 = 'Specify Service order ID and new description to be changed.'.START-OF-SELECTION.PERFORM get_guid_by_id.PERFORM fill_header_tab.GET RUN TIME FIELD lv_start.CALL FUNCTION 'CRM_ORDER_MAINTAIN'IMPORTINGet_exception = lt_exceptionCHANGINGct_orderadm_h = lt_headerct_input_fields = lt_changed_inputEXCEPTIONSerror_occurred = 1document_locked = 2no_change_allowed = 3no_authority = 4OTHERS = 5.IF sy-subrc <> 0 OR lt_exception IS NOT INITIAL.WRITE: / 'Modify API call failed.' COLOR COL_NEGATIVE.LOOP AT lt_exception INTO ls_exception.WRITE: / ls_exception-code COLOR COL_GROUP.ENDLOOP.RETURN.ENDIF.CALL FUNCTION 'CRM_ORDER_SAVE'EXPORTINGit_objects_to_save = lt_to_be_saveIMPORTINGet_saved_objects = lt_saved_objectet_exception = lt_exceptionet_objects_not_saved = lt_save_failedEXCEPTIONSdocument_not_saved = 1.IF sy-subrc <> 0 OR lt_exception IS NOT INITIAL OR lt_save_failed IS NOT INITIAL.WRITE: / 'Save API call failed.' COLOR COL_NEGATIVE.RETURN.ENDIF.COMMIT WORK AND WAIT.GET RUN TIME FIELD lv_end.lv_end = lv_end - lv_start.FIELD-SYMBOLS: <line> LIKE LINE OF orderid.LOOP AT orderid ASSIGNING <line>.WRITE: / 'Order saved successfully: ' , <line>-low COLOR COL_TOTAL.ENDLOOP.WRITE:/ 'Time spent(microsecond): ', lv_end COLOR COL_POSITIVE.FORM get_guid_by_id.DATA: lt_temp TYPE STANDARD TABLE OF crmd_orderadm_h.FIELD-SYMBOLS:<line> TYPE crmd_orderadm_h.SELECT guid INTO CORRESPONDING FIELDS OF TABLE lt_temp FROM crmd_orderadm_h WHERE object_id IN orderid ANDprocess_type = 'SRVO'.LOOP AT lt_temp ASSIGNING <line>.INSERT <line>-guid INTO TABLE lt_to_be_save.ENDLOOP. ENDFORM.FORM fill_header_tab.FIELD-SYMBOLS: <guid_line> LIKE LINE OF lt_to_be_save.LOOP AT lt_to_be_save ASSIGNING <guid_line>.ls_header-guid = <guid_line>.ls_header-description = txt.APPEND ls_header TO lt_header.clear: ls_changed_input.ls_changed_input-ref_guid = <guid_line>.ls_changed_input-objectname = 'ORDERADM_H'.APPEND 'DESCRIPTION' TO ls_changed_input-field_names.APPEND ls_changed_input TO lt_changed_input.ENDLOOP. ENDFORM.

總結

以上是生活随笔為你收集整理的批量修改Service Order description的report的全部內容,希望文章能夠幫你解決所遇到的問題。

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