Opportunity text creation tool
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相关推荐
- One order text browser tool
Created by Jerry Wang on Dec 24, 2014 执行report: 该report以XML的方式输出该one order instance拥有的所有text: 上图的A00 ...
- 如何利用 Media Creation Tool 来创建安装介质或下载 ISO 文件
使用 Media Creation Tool 来创建安装介质 注意事项 创建步骤 Window 10 Media Creation Tool 的另一个功能是它可以帮助你为另一台 PC 创建安装介质或下 ...
- 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 ...
- Product mass creation tool
Created by Jerry Wang on Mar 13, 2014 很多时候为了进行性能测试,需要在系统里准备大量的测试数据. 下面这个工具可以按照输入产生指定的大量Product数据. 指定 ...
- 创建win10介质进度为0_win10介质创建工具(media creation tool)下载
win10介质创建工具是一款win10的安装程序.如果你想要安装或重新安装 Windows 10,通过win10介质创建工具可以是使用U盘或者光碟创建自己的安装介质 注意事项 确保你具有以下内容: I ...
- 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: 后台 ...
- GP学习(四)—Running a geoprocessing tool using background geoprocessing
声明:仅做自己学习整理用,内容拷贝自ArcEngine SDK开发文档 Running a geoprocessing tool using background geoprocessing Summ ...
- java开发机器人聊天_聊天机器人与Web开发的未来
java开发机器人聊天 Since Facebook launched their annual F8 conference for bot developers in 2016 and Micros ...
- C/C++ 框架,类库,资源集合
很棒的 C/C++ 框架,类库,资源集合. Awesome C/C++ Standard Libraries Frameworks Artificial Intelligence Asynchrono ...
最新文章
- access vba表字段_【Access】创建数据表并新增字段
- 秀,用NBA球员数据学透K-Means聚类
- STEAM教育风口正劲,如何培养STEAM思维?
- 1003 阶乘后面0的数量
- Mac OS 如何更改文件的默认打开方式
- matlab相机标定 外参数,相机外参数的标定.doc
- 华为笔记本matebook13_华为引领“第三代移动办公”新纪元 华为MateBook开启“智慧化办公”新赛道...
- 手把手教你用OpenCV实现机器学习最简单的k-NN算法(附代码)
- Python演示正多边形逼近圆周过程中计算圆周率近似值
- python——若一个list中的元素都是dict,要获取该list中的某个dict中的某个value所在的dict在list中的索引
- 呈现模式_曝光 | 福特Mustang Mach-E将提供三种驾驶模式
- 我是真的傻,她被超市安保罚了100元,我居然给她50元
- HTML5与phonegap接口对比
- iOS 简易音乐播放界面
- REGEXP_REPLACE SQL正则表达式
- 数据结构-顺序表(SqList)
- OpenCL(matmpy)
- 周志华揭开机器学习本质的57张PPT
- 计算机动漫游戏与制作,计算机动漫与游戏制作标准规范.doc
- mysql火焰图_如何读懂火焰图?
热门文章
- IOS开发之小实例--UIImagePickerController
- 《C#高级编程》中文第七版 读书笔记(目录阐述)
- C#里的一些加密解密标准函数示例——DES,SHA1,RSA
- apk 签名v1与v2的区别
- 比较 J2EE,eclipse adt扩展和Android studio几个类似IDE菜单的异同点
- 文献学习(part72)--Learning the parts of objects by non-negative matrix factorization
- R语言观察日志(part3)--repeat循环
- 今日代码(200612)--数据录入(python+mysql)
- python与正则表达式(part1)--元字符
- Docker 实战教程之从入门到提高 (四)