Created by Jerry Wang, last modified on Jan 06, 2015

执行report,输入如下参数:

A代表 text determination procedure 取customizing里第一个change type为A的entry:

执行完毕后打印成功创建text message:

可到UI上查看成功创建的text:


source code如下:

REPORT ztool_text_create.
PARAMETERS: id      TYPE crmd_orderadm_h-object_id OBLIGATORY DEFAULT '1767',type    TYPE crmd_orderadm_h-process_type OBLIGATORY DEFAULT 'ROPP',change  TYPE char1 OBLIGATORY DEFAULT 'A',content TYPE string OBLIGATORY LOWER CASE DEFAULT 'test'.
DATA: lt_guid_list                TYPE crmt_bsp_objectkey_tab.
DATA: lt_objects_to_save          TYPE crmt_object_guid_tab.
DATA: lt_objects_not_saved        TYPE crmt_object_guid_tab.
TYPES: text_line(cl_crm_odata_oppt_constant=>gc_oppt_notes_textlength) TYPE c.
DATA: lt_text_table               TYPE TABLE OF text_line.
DATA: ls_text                     TYPE crmt_text_com.
DATA: lt_text                     TYPE crmt_text_comt.
DATA: ls_log_key_text_int         TYPE crmst_text_log_int_key.
DATA: ls_input_fields             TYPE crmt_input_field.
DATA: lv_logical_key              TYPE crmt_logical_key.
DATA: ls_field_names              TYPE crmt_input_field_names.
DATA: lv_note                     TYPE string.
DATA: lt_orderadmh                TYPE crmt_orderadm_h_comt.
DATA: lt_input_fields             TYPE crmt_input_field_tab.
DATA: ls_input_field              TYPE crmt_input_field.
DATA: lt_input_field_names        TYPE crmt_input_field_names_tab.
DATA: ls_input_field_names        TYPE crmt_input_field_names.
DATA: lr_busi_exception           TYPE REF TO /iwbep/cx_mgw_busi_exception.
DATA: lt_saved_objects            TYPE crmt_return_objects.
DATA: lv_tdid                     TYPE tdid.
DATA: ls_notes                    TYPE crmt_odata_oppt_notes.
DATA: lv_temp                     TYPE CHAR3.
CONSTANTS: BEGIN OF cs_change_type,display type char1 VALUE 'C',log TYPE char1 value 'P',paste TYPE char1 value 'A',END OF cs_change_type.
INITIALIZATION.lv_temp = cs_change_type.
FORM get_guid USING iv_id LIKE id iv_type LIKE type CHANGING cv_guid TYPE crmd_orderadm_h-guid.SELECT SINGLE guid FROM crmd_orderadm_h INTO cv_guid WHERE object_id = iv_id AND process_type = iv_type.
ENDFORM.
FORM get_text_determine_id USING iv_process_type TYPE crmt_process_type iv_change TYPE char1 CHANGING cv_id TYPE tdid.DATA: lv_text_procedure     TYPE comt_text_det_procedure.DATA: lt_text               TYPE STANDARD TABLE OF comc_text_pd.DATA: ls_text               TYPE comc_text_pd.SELECT SINGLE text_procedure INTO lv_text_procedure FROM crmc_proc_typeWHERE process_type = iv_process_typeAND object_type = cl_crm_odata_oppt_constant=>gc_oppt_bus_object.CHECK sy-subrc EQ 0.SELECT object textprocedure textid seqno changeable INTO CORRESPONDING FIELDS OF TABLE lt_textFROM comc_text_pdWHERE object        = cl_crm_odata_oppt_constant=>gc_oppt_notes_tdobjectAND textprocedure = lv_text_procedureAND changeable    = iv_change.CHECK sy-subrc EQ 0.SORT lt_text BY seqno.READ TABLE lt_text INTO ls_text INDEX 1.IF sy-subrc EQ 0.cv_id = ls_text-textid.ENDIF.
ENDFORM.
START-OF-SELECTION.IF NOT ( change CA lv_temp ).WRITE:/ 'Invalid change type: ', change COLOR COL_NEGATIVE.RETURN.ENDIF.PERFORM get_guid USING id type CHANGING ls_notes-header_guid.PERFORM get_text_determine_id USING type change CHANGING lv_tdid.ls_notes-content = content.APPEND ls_notes-header_guid TO lt_objects_to_save.APPEND ls_notes-header_guid TO lt_guid_list.CLEAR lt_input_field_names.ls_input_field_names-fieldname = 'LINES'.APPEND ls_input_field_names TO lt_input_field_names.CLEAR ls_input_field_names.ls_input_field_names-fieldname = 'TDFORM'.APPEND ls_input_field_names TO lt_input_field_names.CLEAR ls_input_field_names.ls_input_field_names-fieldname = 'TDID'.APPEND ls_input_field_names TO lt_input_field_names.CLEAR ls_input_field_names.ls_input_field_names-fieldname = 'TDSPRAS'.APPEND ls_input_field_names TO lt_input_field_names.CLEAR ls_input_field_names.ls_input_field_names-fieldname = 'TDSTYLE'.APPEND ls_input_field_names TO lt_input_field_names.CLEAR ls_input_field_names.ls_text-ref_handle = '0000000000'.ls_text-ref_guid = ls_notes-header_guid.ls_text-ref_kind = 'A'.ls_text-tdid = lv_tdid.ls_text-tdspras = sy-langu.ls_text-mode = 'A'.lv_note = ls_notes-content.DO.APPEND lv_note TO lt_text_table[].SHIFT lv_note BY cl_crm_odata_oppt_constant=>gc_oppt_notes_textlength PLACES LEFT.IF ( lv_note IS INITIAL ).EXIT.ENDIF.ENDDO.CALL FUNCTION 'CONVERT_STREAM_TO_ITF_TEXT'EXPORTINGlanguage    = sy-langu
*     LF          = ' 'TABLEStext_stream = lt_text_tableitf_text    = ls_text-lines.CLEAR ls_input_fields.ls_input_fields-ref_guid = ls_notes-header_guid.ls_input_fields-ref_kind = 'A'.ls_input_fields-objectname = 'TEXTS'.ls_log_key_text_int-tdid = ls_text-tdid.ls_log_key_text_int-tdspras = ls_text-tdspras.lv_logical_key = ls_log_key_text_int.ls_input_fields-logical_key = lv_logical_key.CLEAR ls_input_fields-field_names.APPEND LINES OF lt_input_field_names TO ls_input_fields-field_names.INSERT ls_input_fields INTO TABLE lt_input_fields.APPEND ls_text TO lt_text.CLEAR ls_text.CALL FUNCTION 'CRM_ORDER_MAINTAIN'EXPORTINGit_text           = lt_textCHANGINGct_orderadm_h     = lt_orderadmhct_input_fields   = lt_input_fieldsEXCEPTIONSerror_occurred    = 1document_locked   = 2no_change_allowed = 3no_authority      = 4OTHERS            = 5.ASSERT sy-subrc EQ 0.CALL FUNCTION 'CRM_ORDER_SAVE'EXPORTINGit_objects_to_save   = lt_objects_to_saveiv_update_task_local = abap_trueIMPORTINGet_saved_objects     = lt_saved_objectset_objects_not_saved = lt_objects_not_savedEXCEPTIONSdocument_not_saved   = 1OTHERS               = 2.ASSERT sy-subrc EQ 0.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGwait = abap_true.WRITE: / 'Text created successfully'.

Opportunity text creation tool相关推荐

  1. One order text browser tool

    Created by Jerry Wang on Dec 24, 2014 执行report: 该report以XML的方式输出该one order instance拥有的所有text: 上图的A00 ...

  2. 如何利用 Media Creation Tool 来创建安装介质或下载 ISO 文件

    使用 Media Creation Tool 来创建安装介质 注意事项 创建步骤 Window 10 Media Creation Tool 的另一个功能是它可以帮助你为另一台 PC 创建安装介质或下 ...

  3. Use BAdI to link appointment to a given opportunity during creation

    Requirement This requirement is raised by customer. They have extended a new field "Opportunity ...

  4. Product mass creation tool

    Created by Jerry Wang on Mar 13, 2014 很多时候为了进行性能测试,需要在系统里准备大量的测试数据. 下面这个工具可以按照输入产生指定的大量Product数据. 指定 ...

  5. 创建win10介质进度为0_win10介质创建工具(media creation tool)下载

    win10介质创建工具是一款win10的安装程序.如果你想要安装或重新安装 Windows 10,通过win10介质创建工具可以是使用U盘或者光碟创建自己的安装介质 注意事项 确保你具有以下内容: I ...

  6. Log and display Log text type in Account Overview page

    Created by Jerry Wang, last modified on Jan 15, 2015 Account overview page里Note assignment block: 后台 ...

  7. GP学习(四)—Running a geoprocessing tool using background geoprocessing

    声明:仅做自己学习整理用,内容拷贝自ArcEngine SDK开发文档 Running a geoprocessing tool using background geoprocessing Summ ...

  8. java开发机器人聊天_聊天机器人与Web开发的未来

    java开发机器人聊天 Since Facebook launched their annual F8 conference for bot developers in 2016 and Micros ...

  9. C/C++ 框架,类库,资源集合

    很棒的 C/C++ 框架,类库,资源集合. Awesome C/C++ Standard Libraries Frameworks Artificial Intelligence Asynchrono ...

最新文章

  1. access vba表字段_【Access】创建数据表并新增字段
  2. 秀,用NBA球员数据学透K-Means聚类
  3. STEAM教育风口正劲,如何培养STEAM思维?
  4. 1003 阶乘后面0的数量
  5. Mac OS 如何更改文件的默认打开方式
  6. matlab相机标定 外参数,相机外参数的标定.doc
  7. 华为笔记本matebook13_华为引领“第三代移动办公”新纪元 华为MateBook开启“智慧化办公”新赛道...
  8. 手把手教你用OpenCV实现机器学习最简单的k-NN算法(附代码)
  9. Python演示正多边形逼近圆周过程中计算圆周率近似值
  10. python——若一个list中的元素都是dict,要获取该list中的某个dict中的某个value所在的dict在list中的索引
  11. 呈现模式_曝光 | 福特Mustang Mach-E将提供三种驾驶模式
  12. 我是真的傻,她被超市安保罚了100元,我居然给她50元
  13. HTML5与phonegap接口对比
  14. iOS 简易音乐播放界面
  15. REGEXP_REPLACE SQL正则表达式
  16. 数据结构-顺序表(SqList)
  17. OpenCL(matmpy)
  18. 周志华揭开机器学习本质的57张PPT
  19. 计算机动漫游戏与制作,计算机动漫与游戏制作标准规范.doc
  20. mysql火焰图_如何读懂火焰图?

热门文章

  1. IOS开发之小实例--UIImagePickerController
  2. 《C#高级编程》中文第七版 读书笔记(目录阐述)
  3. C#里的一些加密解密标准函数示例——DES,SHA1,RSA
  4. apk 签名v1与v2的区别
  5. 比较 J2EE,eclipse adt扩展和Android studio几个类似IDE菜单的异同点
  6. 文献学习(part72)--Learning the parts of objects by non-negative matrix factorization
  7. R语言观察日志(part3)--repeat循环
  8. 今日代码(200612)--数据录入(python+mysql)
  9. python与正则表达式(part1)--元字符
  10. Docker 实战教程之从入门到提高 (四)