使用CRM_ORDER_MAINTAIN修改SAP CRM订单抬头的描述信息
SAP 修改 信息 CRM 订单 order 描述 使用
2023-09-14 09:02:49 时间
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_object_id TYPE crmd_orderadm_h-object_id.
SELECTION-SCREEN BEGIN OF BLOCK b1
WITH FRAME TITLE txt1.
SELECT-OPTIONS: orderid FOR lv_object_id DEFAULT '8000000110' OBLIGATORY.
PARAMETERS: txt TYPE char20 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.
CALL FUNCTION 'CRM_ORDER_MAINTAIN'
IMPORTING
et_exception = lt_exception
CHANGING
ct_orderadm_h = lt_header
ct_input_fields = lt_changed_input
EXCEPTIONS
error_occurred = 1
document_locked = 2
no_change_allowed = 3
no_authority = 4
OTHERS = 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'
EXPORTING
it_objects_to_save = lt_to_be_save
IMPORTING
et_saved_objects = lt_saved_object
et_exception = lt_exception
et_objects_not_saved = lt_save_failed
EXCEPTIONS
document_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.
WRITE: / 'order saved'.
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.
LOOP AT lt_temp ASSIGNING <line>.
APPEND <line>-guid TO 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.
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.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关文章
- 如何修改 SAP ABAP OData 模型,使其支持 $expand 操作试读版
- SAP UI5 sap.ui.export.Spreadsheet API 介绍
- SAP 新增移动类型
- SAP Debug 修改表中数据
- SAP UI5 sap.ui.Device.media 的使用介绍
- SAP UI5 sap.ui.Device.media 公有方法介绍
- SAP UI5 sap.ui.Device.media.initRangeSet 方法的单步调试
- SAP Web IDE环境搭建 – 详细指导
- 使用 Excel cdata addmin 连接 SAP ABAP 系统时需要填写的参数定义解释
- 160. 如何根据 SAP Fiori UI 界面上的错误消息,找到后台 ABAP 对应的消息 ID
- SAP MM MR21修改过的移动平均价才能出现在该物料主数据修改历史
- SAP MM 物料移动平均价的修改历史(续集)
- 澄清一些对 SAP UI5 响应式表格 sap.m.Table 的常见理解误区试读版
- SAP UI5 表格 Click to Select 文本的来源
- ORA-06805: TLI Driver: could not send datagram SAP packet for SPX ORACLE 报错 故障修复 远程处理
- SAP 修改数据元素 注意事项详解编程语言
- SAP中删除假脱机请求详解编程语言
- SAP 预制发票时扣除已预制的数据详解编程语言
- SAP客户主数据相关表详解编程语言
- SAP定义物料组详解编程语言
- SAP 采购收货时与FICO科目的对应关系,关联点 Account Assignment Category详解编程语言
- SAP S4 BP事务代码的业务伙伴和供应商,客户之间的表关系详解编程语言
- SAP 开发介绍之 R3开发平台详解编程语言
- 系统SAP在Linux系统上的开启之旅(sap启动linux)
- SAP vs Oracle:差异点与解析(sap和oracle的区别)
- 比拼Oracle与SAP的优劣对比(oracle与sap优劣)
- 聘请高级Oracle与SAP顾问,拓展业务潜力(oracle sap顾问)
- Oracle SAP系统深入探索管理系统之魅力(oracle sap系统)