使用CRM_ORDER_MAINTAIN修改SAP CRM订单抬头的描述信息
发布日期:2021-06-30 14:06:38
浏览次数:2
分类:技术文章
本文共 2716 字,大约阅读时间需要 9 分钟。
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: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 . APPEND -guid TO lt_to_be_save. ENDLOOP.ENDFORM.FORM fill_header_tab. FIELD-SYMBOLS: LIKE LINE OF lt_to_be_save. LOOP AT lt_to_be_save ASSIGNING . ls_header-guid = . ls_header-description = txt. APPEND ls_header TO lt_header. ls_changed_input-ref_guid = . 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的原创文章,请关注公众号"汪子熙":
转载地址:https://jerry.blog.csdn.net/article/details/104034295 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月17日 17时28分17秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java程序运行机制
2019-05-01
包机制介绍
2019-05-01
JavaDoc---生成自己的API文档
2019-05-01
Scanner对象的介绍
2019-05-01
Java三种流程结构介绍
2019-05-01
Java 方法(函数)详解
2019-05-01
Java数组详解
2019-05-01
Java面向对象详解
2019-05-01
Java static 关键字
2019-05-01
Java抽象类
2019-05-01
Java接口介绍
2019-05-01
Java内部类
2019-05-01
在Debian 8上使用Apt-Get安装Java
2019-05-01
vs中动态DLL与静态LIB工程中加入版本信息的方法
2019-05-01
大数据分析技术与应用一站式学习(值得收藏)_v20200418
2019-05-01
ios开发手册_v20200718
2019-05-01
TortoiseGit客户端设置中文显示
2019-05-01
Qt 在windows下的串口读写
2019-05-01