One order text browser tool
生活随笔
收集整理的這篇文章主要介紹了
One order text browser tool
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Created by Jerry Wang on Dec 24, 2014
執(zhí)行report:
該report以XML的方式輸出該one order instance擁有的所有text:
上圖的A002和Note對應SPRO里的如下customizing:
source code:
?
One order text change toolCreated by Jerry Wang, last modified on Jan 01, 2015使用report 修改之前: 執(zhí)行report, source code: REPORT tool_text_change_one_order.PARAMETERS: id TYPE crmd_orderadm_h-object_id OBLIGATORY DEFAULT '1656',type TYPE crmd_orderadm_h-process_type OBLIGATORY DEFAULT 'ASOP',tid TYPE stxh-tdname OBLIGATORY DEFAULT '0090FA0D8DC21EE3ABCE672A80C1470C',new TYPE string OBLIGATORY DEFAULT 'new' LOWER CASE,over TYPE char1 AS CHECKBOX DEFAULT 'X'.TYPES: text_line(cl_crm_odata_oppt_constant=>gc_oppt_notes_textlength) TYPE c.DATA: lv_char32 TYPE char32, " CRMD_ORDERADM_H-guid,lv_textname TYPE string,lv_id LIKE id,lv_guid TYPE crmd_orderadm_h-guid,lt_stxh TYPE STANDARD TABLE OF stxh,ls_stxh LIKE LINE OF lt_stxh,ls_notes TYPE crmt_odata_oppt_notes.DATA: ls_thead TYPE thead.DATA: lt_text_table TYPE TABLE OF text_line.DATA: ls_bupa_addr TYPE bapiaddr3.DATA: ls_return TYPE STANDARD TABLE OF bapiret2.DATA: lt_lines TYPE STANDARD TABLE OF tline,ls_line LIKE LINE OF lt_lines.DATA: lt_objects_to_save TYPE crmt_object_guid_tab.DATA: lt_objects_not_saved TYPE crmt_object_guid_tab.DATA: lt_saved_objects TYPE crmt_return_objects.lv_id = id.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput = lv_idIMPORTINGoutput = lv_id.SELECT SINGLE guid FROM crmd_orderadm_h INTO lv_guid WHERE object_id = id AND process_type = type.IF sy-subrc <> 0.WRITE: / 'No opportunity found' COLOR COL_GROUP.RETURN.ENDIF.lv_char32 = lv_guid.CONCATENATE lv_char32 '%' INTO lv_textname.SELECT * FROM stxh INTO TABLE lt_stxhWHERE tdobject EQ 'CRM_ORDERH'AND tdname EQ tid.IF lines( lt_stxh ) <> 1.WRITE: / 'Cound not read given text' COLOR COL_NEGATIVE.RETURN.ENDIF.READ TABLE lt_stxh INTO ls_stxh INDEX 1.CALL FUNCTION 'READ_TEXT'EXPORTINGid = ls_stxh-tdidlanguage = ls_stxh-tdsprasname = ls_stxh-tdnameobject = ls_stxh-tdobjectIMPORTINGheader = ls_theadTABLESlines = lt_linesEXCEPTIONSOTHERS = 1.CHECK sy-subrc EQ 0.CALL FUNCTION 'CONVERT_ITF_TO_STREAM_TEXT'TABLESitf_text = lt_linestext_stream = lt_text_table.CONCATENATE LINES OF lt_text_table INTO ls_notes-content RESPECTING BLANKS.DATA: lt_text TYPE crmt_text_comt,ls_text LIKE LINE OF lt_text,ls_input_fields TYPE crmt_input_field,lv_logical_key TYPE crmt_logical_key,ls_field_names TYPE crmt_input_field_names.DATA: lt_input_field_names TYPE crmt_input_field_names_tab,ls_input_field_name LIKE LINE OF lt_input_field_names.DATA: lt_input_fields TYPE crmt_input_field_tab.ls_text-ref_handle = '0000000000'.ls_text-ref_guid = lv_guid.ls_text-ref_kind = 'A'.ls_text-text_object = cl_crm_odata_oppt_constant=>gc_oppt_notes_tdobject.MOVE-CORRESPONDING ls_stxh TO ls_text.ls_text-lines = lt_lines.ls_text-mode = 'B'.ls_line-tdformat = '*'.ls_line-tdline = new.IF over = abap_true.CLEAR: ls_text-lines.ENDIF.APPEND ls_line TO ls_text-lines.APPEND ls_text TO lt_text.CLEAR ls_input_fields.ls_input_fields-ref_guid = lv_guid.ls_input_fields-ref_kind = 'A'.ls_input_fields-objectname = 'TEXTS'.CONCATENATE ls_text-tdid ls_text-tdspras INTO lv_logical_key.ls_input_fields-logical_key = lv_logical_key. " use handle or guid ?CLEAR ls_input_fields-field_names.ls_input_field_name-fieldname = 'LINES'.APPEND ls_input_field_name TO 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.CALL FUNCTION 'CRM_ORDER_MAINTAIN'EXPORTINGit_text = lt_textCHANGINGct_input_fields = lt_input_fieldsEXCEPTIONSerror_occurred = 1document_locked = 2no_change_allowed = 3no_authority = 4.IF sy-subrc <> 0 .WRITE: / 'text modify failed: ' COLOR COL_NEGATIVE, sy-subrc COLOR COL_TOTAL.RETURN.ENDIF.APPEND lv_guid TO lt_objects_to_save.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.IF sy-subrc EQ 0 AND lt_saved_objects IS NOT INITIAL.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGwait = abap_true.WRITE: / 'text changed successfully' COLOR COL_NEGATIVE.ELSE.WRITE: / 'text changed failed' COLOR COL_POSITIVE.ENDIF.BREAK-POINT. |
One order text display tool
Created by Jerry Wang, last modified on Dec 24, 2014
執(zhí)行report,輸入opportunity id, process type和text guid:
輸出文本內(nèi)容:
text guid可以通過one order text browser tool來獲得:
source code:
REPORT znote_display_tool.PARAMETERS: id TYPE crmd_orderadm_h-object_id OBLIGATORY DEFAULT '1656',type TYPE crmd_orderadm_h-process_type OBLIGATORY DEFAULT 'ASOP',tid TYPE stxh-tdname OBLIGATORY DEFAULT '0090FA0D8DC21EE3ABCE672A80C1470C'.TYPES: text_line(cl_crm_odata_oppt_constant=>gc_oppt_notes_textlength) TYPE c.DATA: lv_char32 TYPE char32, " CRMD_ORDERADM_H-guid,lv_textname TYPE string,lv_id LIKE id,lv_guid TYPE crmd_orderadm_h-guid,lt_stxh TYPE STANDARD TABLE OF stxh,ls_stxh LIKE LINE OF lt_stxh,ls_notes TYPE crmt_odata_oppt_notes.DATA: ls_thead TYPE thead.DATA: lt_text_table TYPE TABLE OF text_line.DATA: ls_bupa_addr TYPE bapiaddr3.DATA: ls_return TYPE STANDARD TABLE OF bapiret2.DATA: lt_lines TYPE STANDARD TABLE OF tline.lv_id = id.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput = lv_idIMPORTINGoutput = lv_id.SELECT SINGLE guid FROM crmd_orderadm_h INTO lv_guid WHERE object_id = id AND process_type = type.IF sy-subrc <> 0.WRITE: / 'No opportunity found' COLOR COL_GROUP.RETURN.ENDIF.lv_char32 = lv_guid.CONCATENATE lv_char32 '%' INTO lv_textname.SELECT * FROM stxh INTO TABLE lt_stxhWHERE tdobject EQ 'CRM_ORDERH'AND tdname EQ tid.IF lines( lt_stxh ) <> 1.WRITE: / 'Cound not read given text' COLOR COL_NEGATIVE.RETURN.ENDIF.READ TABLE lt_stxh INTO ls_stxh INDEX 1.CALL FUNCTION 'READ_TEXT'EXPORTINGid = ls_stxh-tdidlanguage = ls_stxh-tdsprasname = ls_stxh-tdnameobject = ls_stxh-tdobjectIMPORTINGheader = ls_theadTABLESlines = lt_linesEXCEPTIONSOTHERS = 1.CHECK sy-subrc EQ 0.CALL FUNCTION 'CONVERT_ITF_TO_STREAM_TEXT'TABLESitf_text = lt_linestext_stream = lt_text_table.CONCATENATE LINES OF lt_text_table INTO ls_notes-content RESPECTING BLANKS.CALL METHOD cl_demo_output=>display_text( ls_notes-content ).?
?
總結(jié)
以上是生活随笔為你收集整理的One order text browser tool的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 狼人杀狼人玩法经验分享 狼人杀狼人怎么玩
- 下一篇: 饥荒蜂刺怎么获得?《饥荒》海难蜂刺刷法一