Vous êtes sur la page 1sur 41

METHOD if_ex_order_save~prepare. DATA: ev_header_guid TYPE crmt_object_guid.

DATA:lt_crm_jcds TYPE TABLE OF crm_jcds, ls_crm_jcds LIKE LINE OF lt_crm_jcds, lv_status TYPE tj30t-txt30, lv_note(30) TYPE c, cnt TYPE i VALUE 0. DATA: lt_orderadm_h TYPE crmt_orderadm_h_comt, lt_text TYPE crmt_text_wrkt, ls_text LIKE LINE OF lt_text, lt_tlines TYPE TABLE OF tline, lx_tlines LIKE LINE OF lt_tlines, ld_string TYPE string, ld_action TYPE string, ld_result TYPE string, lt_ztb_textsave01 TYPE TABLE OF ztb_textsave01, lx_ztb_textsave01 TYPE ztb_textsave01, lt_ztb_textsave01a TYPE TABLE OF ztb_textsave01, lx_ztb_textsave01a TYPE ztb_textsave01, ld_lines(3) TYPE n, ld_duration TYPE sytabix, ld_second TYPE i, lt_partner TYPE crmt_partner_external_wrkt, lx_partner LIKE LINE OF lt_partner, lx_centraldataperson TYPE bapibus1006_central_person, ld_partner TYPE bu_partner, ld_status TYPE j_estat, ld_time TYPE uzeit, ld_description TYPE crmt_process_description, ld_description2 TYPE crmt_process_description. DATA: et_orderadm_i TYPE crmt_orderadm_i_wrkt, es_orderadm_i LIKE LINE OF et_orderadm_i. DATA: DATA: DATA: DATA: DATA: lt_header_guid TYPE crmt_object_guid_tab. et_text_wa TYPE crmt_text_wrk. et_text_wa2 TYPE comt_text_lines_t. tlines_wa TYPE tline. lslines_wa TYPE tline, text(1000) TYPE c, text1(10000) TYPE c, lv_text2(10000) TYPE c, lv_text3(10000) TYPE c, lv_text4(10000) TYPE c, lv_text6(10000) TYPE c, tlines2 TYPE comt_text_lines_t, tlines_wa2 TYPE tline, text2(1000) TYPE c.

DATA: var(3) TYPE c, count TYPE i VALUE 0, lv_fname TYPE but000-mc_name1, lv_lname TYPE but000-mc_name2. INSERT iv_guid INTO TABLE lt_header_guid. DATA: header TYPE thead. DATA: header2 TYPE thead.

DATA lv_guid(70) TYPE c. DATA: lines TYPE TABLE OF tline. " occurs 0 with header line. DATA: lines_wa LIKE LINE OF lines. DATA: newheader TYPE thead. DATA: it TYPE TABLE OF crmd_orderadm_h, ix TYPE crmd_orderadm_h. DATA: ev_itemguid TYPE crmt_object_guid, lt_status TYPE crmt_status_wrkt , ls_status LIKE LINE OF lt_status, lt_savetext TYPE TABLE OF ztext_save1, lt_savetext2 TYPE TABLE OF ztext_save1, lt_savetext1 TYPE TABLE OF ztext_save1, rat on 06/02/2008 lt_savetext1_wa TYPE ztext_save1, rat on 06/02/2008 ls_savetext LIKE LINE OF lt_savetext, ls_savetext1 LIKE LINE OF lt_savetext, ls_savetext2 LIKE LINE OF lt_savetext, lv_text_end(70) TYPE c, lv_text TYPE string, lv_check TYPE string, lv_hdguid(70) TYPE c, lt_txt TYPE TABLE OF string, lv_counter TYPE i VALUE 0. DATA:es_orderadm_i_wrk TYPE crmt_orderadm_i_wrk. DATA: tlines TYPE i. DATA: p_dest(10) TYPE c, p_time(10) TYPE c, lv_time(2) TYPE c, ls_orderadm_h_wrk TYPE crmt_orderadm_h_wrk. DATA: BEGIN OF lv_conctext1_type , " added by samrat on 06/02/2008 ind TYPE i, str TYPE string, END OF lv_conctext1_type, lv_conctext1 LIKE STANDARD TABLE OF lv_conctext1_type," added by samra t on 06/02/2008 lv_strnglth TYPE i, lv_strnglth1 TYPE i, lv_divres TYPE i, counter TYPE i VALUE 0, lv_offsetvar TYPE i VALUE 0, lv_lsoffset TYPE i VALUE 0, lv_strtext TYPE string. *** Begin of change mukul * DATA: lines1 TYPE TABLE OF tline. DATA: header1 TYPE thead. DATA: newheader1 TYPE thead. DATA: perno TYPE ad_persnum, name1 TYPE ad_namefir, name2 TYPE ad_namelas. DATA: wa_escal TYPE zescaltickets.

"Added by Sam "Added by Sam

DATA: strng1 TYPE string. DATA : index(3) TYPE c, index2(3) TYPE c, lv_index(3) TYPE c. DATA : cont TYPE i VALUE 0, cont2 TYPE i. ****************************More data definitions added on 07/02/2008 added by S amrat****************** DATA: dat(10) TYPE c, tim(10) TYPE c , usr(12) TYPE c, stat(30) TYPE c. ****************************Data definitions added by Samrat on 06.03.2008****** *************************** DATA: dat_temp(10) TYPE c, tim_temp(10) TYPE c. DATA : lv_name TYPE sy-uname. DATA: et_orderadm_h wa_orderadm_h it_header_guid wa_header_guid wa_orderadm_i et_service_os wa_service_os wa_osset et_subject wa_subject it_srv_subject wa_srv_subject TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE LIKE crmt_orderadm_h_wrkt, crmt_orderadm_h_wrk, crmt_object_guid_tab, crmt_object_guid, crmt_orderadm_i_wrk, crmt_srv_osset_wrkt, crmt_srv_osset_wrk, crmt_srv_osset_wrk1, crmt_subject_wrkt, crmt_subject_wrk, TABLE OF crmd_srv_subject, LINE OF it_srv_subject.

DATA: et_partner TYPE crmt_partner_external_wrkt, wa_partner TYPE crmt_partner_external_wrk, et_doc_flow TYPE crmt_doc_flow_wrkt, wa_doc_flow TYPE crmt_doc_flow_wrk, w_ml_guid_h TYPE crmt_im_guid, w_sum TYPE i. DATA: et_orderadm_i1 TYPE crmt_orderadm_i_wrkt, wa_orderadm_i1 TYPE crmt_orderadm_i_wrk, wa_crmd_link TYPE crmd_link, et_service_os1 TYPE crmt_srv_osset_wrkt, wa_service_os1 TYPE crmt_srv_osset_wrk. TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE crmt_object_guid_tab, crmt_orderadm_h_wrkt, crmt_orderadm_h_wrk, crmt_orderadm_i_wrkt, crmt_orderadm_i_wrk, crmt_refobj_wrkt, crmt_refobj_wrk, sy-tabix, text40, text30, ibib1,

DATA : lt_header_guid1 lt_orderadm_h1 wa_orderadm_wh1 lt_orderadm_i1 wa_orderadm_wi1 lt_refobj1 wa_refobj1 lv_lines lv_text40 lv_text30 ls_ibib1

ls_father ls_component lt_ecomp lt_attr wa_service_os2 wa_osset2 lt_refobj2 wa_refobj2 lt_osset2 lt_service_os2 lt_inputfields2 wa_inputfields2 lt_names wa_names

TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE

ibap_dat1, crmt_icss_ibase_component2, ibap_dat1, TABLE OF crmt_icss_attr_values, crmt_srv_osset_com, crmt_srv_osset_com1, crmt_srv_refobj_comt, crmt_srv_refobj_com, crmt_srv_osset_comt1, crmt_srv_osset_comt, crmt_input_field_tab, crmt_input_field, crmt_input_field_names_tab, crmt_input_field_names.

**Remove By SAP_Maulana *lv_name = 'WMUSER'. *if sy-uname <> lv_name and sy-uname <> 'WEBMETHODS'. lv_hdguid = iv_guid. IF iv_guid = '000000000000000000000000000000'.. MESSAGE s016(rp) WITH 'Guid Header Number Empty'. EXIT. ENDIF. **********************Mengisi Ibase yang Hilang APPEND lv_hdguid TO lt_header_guid1. CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = lt_header_guid1 IMPORTING et_orderadm_h = lt_orderadm_h1 et_orderadm_i = lt_orderadm_i1 et_refobj = lt_refobj1 EXCEPTIONS document_not_found = 1 error_occurred = 2 document_locked = 3 no_change_authority = 4 no_display_authority = 5 no_change_allowed = 6 OTHERS = 7. READ TABLE lt_orderadm_h1 INTO wa_orderadm_wh1 INDEX 1. IF sy-subrc = 0. READ TABLE lt_orderadm_i1 INTO wa_orderadm_wi1 WITH KEY parent = '0000000000 0000000000000000000000'. IF sy-subrc = 0. DESCRIBE TABLE lt_refobj1 LINES lv_lines. IF lv_lines NE 0. READ TABLE lt_refobj1 INTO wa_refobj1 INDEX 1. wa_service_os2-ref_guid = wa_orderadm_wi1-guid. wa_service_os2-ref_kind = 'B'. wa_osset2-ref_guid = wa_orderadm_wi1-guid. wa_osset2-profile_type = 'A'. wa_refobj2-ref_handle = 1.

wa_refobj2-main_object = 'X'. wa_refobj2-mode = 'A'. wa_refobj2-ib_instance = wa_refobj1-ib_instance. APPEND wa_refobj2 TO lt_refobj2. wa_osset2-refobject = lt_refobj2. APPEND wa_osset2 TO lt_osset2. wa_service_os2-osset = lt_osset2. APPEND wa_service_os2 TO lt_service_os2. wa_inputfields2-ref_guid = wa_orderadm_wi1-guid. wa_inputfields2-ref_kind = 'B'. wa_inputfields2-objectname = 'SERVICE_OS'. wa_names-fieldname = 'ALTID_TYPE'. APPEND wa_names TO lt_names. wa_names-fieldname = 'IB_IBASE'. APPEND wa_names TO lt_names. wa_names-fieldname = 'IB_INSTANCE'. APPEND wa_names TO lt_names. wa_names-fieldname = 'ID_FROM'. APPEND wa_names TO lt_names. wa_names-fieldname = 'ID_TO'. APPEND wa_names TO lt_names. wa_names-fieldname = 'INST_DISM_INFO'. APPEND wa_names TO lt_names. wa_names-fieldname = 'MAIN_OBJECT'. APPEND wa_names TO lt_names. wa_names-fieldname = 'PART_CAUS_FAIL'. APPEND wa_names TO lt_names. wa_names-fieldname = 'PRODUCT_ID'. APPEND wa_names TO lt_names. wa_names-fieldname = 'SERIAL_NUMBER'. APPEND wa_names TO lt_names. wa_inputfields2-field_names[] = lt_names[]. APPEND wa_inputfields2 TO lt_inputfields2. CALL FUNCTION 'CRM_ORDER_MAINTAIN' EXPORTING it_service_os = lt_service_os2 CHANGING * CT_ORDERADM_H = * CT_ORDERADM_I = ct_input_fields = lt_inputfields2. ENDIF. ENDIF. ENDIF. ********End ngisi Ibase yang hilang. CALL FUNCTION 'CRM_ORDERADM_H_READ_OB'

EXPORTING iv_guid = iv_guid IMPORTING es_orderadm_h_wrk = ls_orderadm_h_wrk EXCEPTIONS parameter_error = 1 record_not_found = 2 at_least_one_record_not_found = 3 OTHERS = 4. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. IF ( * ls_orderadm_h_wrk-process_type r service dives * ls_orderadm_h_wrk-process_type r service dives ls_orderadm_h_wrk-process_type ls_orderadm_h_wrk-process_type ls_orderadm_h_wrk-process_type ls_orderadm_h_wrk-process_type ls_orderadm_h_wrk-process_type ls_orderadm_h_wrk-process_type ls_orderadm_h_wrk-process_type ls_orderadm_h_wrk-process_type ls_orderadm_h_wrk-process_type ls_orderadm_h_wrk-process_type ls_orderadm_h_wrk-process_type = 'Z_SC' OR = 'ZDST' OR = = = = = = = = = = = 'ZM/T' 'ZTCL' 'ZTFL' 'ZMTP' 'ZTPO' 'ZBCC' 'ZCMT' 'ZCTD' 'ZCPI' 'ZCSI' 'ZCBC' OR OR OR OR OR OR OR OR OR OR ). "DR "add by jay 2012.02.04 fo "add by jay 2012.02.04 fo

**************************************************Time and Date Formatting****** ******************************************* CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL' EXPORTING date_internal = sy-datum IMPORTING date_external = p_dest EXCEPTIONS date_internal_is_invalid = 1 OTHERS = 2. CONCATENATE sy-uzeit+0(2) sy-uzeit+2(2) sy-uzeit+4(2) INTO p_time SEPARATED BY ':'. *************************************************End**************************** ************************************************ CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL' EXPORTING date_internal = sy-datum IMPORTING date_external = p_dest EXCEPTIONS date_internal_is_invalid = 1 OTHERS = 2. CALL FUNCTION 'CRM_INTLAY_GET_ITEM_GUID'

IMPORTING ev_item_guid = ev_itemguid. lv_guid = ev_itemguid. SELECT * FROM crmd_orderadm_h INTO TABLE it WHERE guid = iv_guid. IF sy-subrc = '0'. CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = lt_header_guid IMPORTING et_text = lt_text et_partner = lt_partner et_status = lt_status. *ADD 3AS Save et_text to ztable 17032011 READ TABLE lt_text INTO ls_text WITH KEY stxh-tdid = '0001'. IF sy-subrc EQ 0. lt_tlines[] = ls_text-lines[]. * * * * * * * * ** ** * * header2-tdobject = 'CRM_ORDERH'. header2-tdname = iv_guid."ES_ORDERADM_I-GUID ."ev_itemguid. header2-tdid = 'ZSOL'."Changed from C to S header2-tdspras = 'E'. CALL FUNCTION 'SAVE_TEXT' EXPORTING header = header2 IMPORTING newheader = newheader TABLES lines = lt_tlines. ENDIF. CLEAR ld_string. LOOP AT lt_tlines INTO lx_tlines. IF lx_tlines-tdformat EQ '*'. CONCATENATE ld_string '|X|' lx_tlines-tdline INTO ld_string. ELSEIF lx_tlines-tdformat EQ space. CONCATENATE ld_string lx_tlines-tdline INTO ld_string. ELSEIF lx_tlines-tdformat EQ '='. CONCATENATE ld_string lx_tlines-tdline INTO ld_string. ENDIF. ENDLOOP. SPLIT ld_string AT '[RESULT]' INTO ld_action ld_result. REPLACE FIRST OCCURRENCE OF '[ACTION]|X|' IN ld_action WITH space. READ TABLE it INTO ix INDEX 1. IF sy-subrc EQ 0. SELECT * FROM ztb_textsave01 INTO TABLE lt_ztb_textsave01 WHERE object_id = ix-object_id AND textid EQ '0001'. SORT lt_ztb_textsave01 BY id DESCENDING. READ TABLE lt_ztb_textsave01 INTO lx_ztb_textsave01 INDEX 1. IF sy-subrc EQ 0.

CLEAR ld_duration. CALL FUNCTION 'SWI_DURATION_DETERMINE' EXPORTING start_date = lx_ztb_textsave01-sdate end_date = sy-datum start_time = lx_ztb_textsave01-stime end_time = sy-uzeit IMPORTING duration = ld_duration. CLEAR ld_second. ld_second = ld_duration. ld_lines = lx_ztb_textsave01-id + 1. ld_status = lx_ztb_textsave01-status_no. ENDIF. CLEAR lx_ztb_textsave01. lx_ztb_textsave01-object_id = ix-object_id. lx_ztb_textsave01-id = ld_lines. lx_ztb_textsave01-textid = '0001'. lx_ztb_textsave01-action_text = ld_action. lx_ztb_textsave01-result_text = ld_result. DELETE lt_status WHERE kind NE 'A'. DELETE lt_status WHERE status(1) NE 'E'. READ TABLE lt_status INTO ls_status WITH KEY guid = iv_guid. IF sy-subrc EQ 0. lx_ztb_textsave01-status_no = ls_status-status. lx_ztb_textsave01-status_desc = ls_status-txt30. IF ld_status EQ 'E0001'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = ld_second. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0002'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0003'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = 0. lx_ztb_textsave01-response_topo = ld_second. lx_ztb_textsave01-response_atpo = ld_second. ELSEIF ld_status EQ 'E0004'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0005'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = 0. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = ld_second. ELSEIF ld_status EQ 'E0006'. lx_ztb_textsave01-response = 0. lx_ztb_textsave01-response_atdc = 0. lx_ztb_textsave01-response_topo = 0.

* * * * * * * OD'.

lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0007'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0008'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0012'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0013'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = 0. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = ld_second. ELSEIF ld_status EQ 'E0014'. lx_ztb_textsave01-response = 0. lx_ztb_textsave01-response_atdc = 0. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ENDIF. IF ld_status EQ 'E0006' OR ld_status EQ 'E0007' OR ld_status EQ 'E0008'. lx_ztb_textsave01-response = 0. ELSE. lx_ztb_textsave01-response = ld_second. ENDIF. IF ls_status-status EQ 'E0003'. READ TABLE lt_partner INTO lx_partner WITH KEY partner_fct = 'ZEMPPR IF sy-subrc EQ 0. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = lx_partner-partner_no IMPORTING output = lx_partner-partner_no. ld_partner = lx_partner-partner_no. CALL FUNCTION 'BAPI_BUPA_CENTRAL_GETDETAIL' EXPORTING businesspartner = ld_partner IMPORTING centraldataperson = lx_centraldataperson. CONCATENATE lx_centraldataperson-firstname lx_centraldataperson-la

stname INTO lx_ztb_textsave01-product_owner SEPARATED BY space. ENDIF. ELSEIF ls_status-status EQ 'E0004'. READ TABLE lt_partner INTO lx_partner WITH KEY partner_fct = 'ZEMPPR EN'. IF sy-subrc EQ 0. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = lx_partner-partner_no

IMPORTING output = lx_partner-partner_no. ld_partner = lx_partner-partner_no. CALL FUNCTION 'BAPI_BUPA_CENTRAL_GETDETAIL' EXPORTING businesspartner = ld_partner IMPORTING centraldataperson = lx_centraldataperson. CONCATENATE lx_centraldataperson-firstname lx_centraldataperson-la stname INTO lx_ztb_textsave01-product_eng SEPARATED BY space. ENDIF. ENDIF. ENDLOOP. ENDIF. CLEAR ld_postdate. SELECT SINGLE post_date FROM ztb_textsave01 INTO ld_postdate WHERE object_id EQ ix-object_id AND id EQ '00' AND textid EQ '0001'. IF sy-subrc EQ 0. lx_ztb_textsave01-post_date = ld_postdate. ELSE. lx_ztb_textsave01-post_date = sy-datum. ENDIF. CLEAR ld_time. CONVERT TIME STAMP ix-created_at TIME ZONE sy-zonlo INTO DATE lx_ztb_textsave01-post_date TIME ld_time. CLEAR: ld_description, ld_description2. SELECT SINGLE description FROM ztb_textsave01 INTO ld_description WHERE object_id EQ ix-object_id AND id EQ 0 AND textid EQ '0001'. IF sy-subrc EQ 0 AND ld_description NE space. lx_ztb_textsave01-description = ld_description. ELSE. SELECT SINGLE description FROM crmd_orderadm_h INTO ld_description2 WHERE object_id EQ ix-object_id. IF sy-subrc EQ 0. lx_ztb_textsave01-description = ld_description2. ENDIF. ENDIF. lx_ztb_textsave01-sname = sy-uname. lx_ztb_textsave01-sdate = sy-datum. lx_ztb_textsave01-stime = sy-uzeit. IF ls_status-user_stat_proc EQ 'Z_ST_ST' AND IF ld_string CP '|X|[CL*' OR ld_string CP '|X|Status: Cleared*' OR ld_string CP '|X|Tenoss:*' . "Do Nothing" ELSE. INSERT into ztb_textsave01 values lx_ztb_textsave01. ENDIF. CLEAR lx_ztb_textsave01.

* * * * * * * * * * *

* *

DATA : lx_text_line TYPE tline, lt_text_line TYPE TABLE OF tline, ld_lenght TYPE i, ld_div TYPE i, lt_action_text TYPE string_table, lx_action_text TYPE string, lt_result_text TYPE string_table, lx_result_text TYPE string, lt_ebis_text TYPE string_table, lx_ebis_text TYPE string, lx_text_line2 TYPE tline, lt_text_line2 TYPE TABLE OF tline, ld_date2(10), ld_time2(8), ld_status2 TYPE string, ld_ebis TYPE string. break abyor01. LOOP AT lt_text INTO et_text_wa WHERE stxh-tdid = 'ZSS'. IF et_text_wa-lines[] IS NOT INITIAL. CALL FUNCTION 'DELETE_TEXT' EXPORTING id = 'ZSS' language = 'E' name = lv_hdguid object = 'CRM_ORDERH'. ENDIF. ENDLOOP. * * * * * * * * * * * * *EBIS CLEAR: et_text_wa, lt_tlines[], lx_tlines. READ TABLE lt_text INTO et_text_wa WITH KEY stxh-tdid = 'C001' ref_guid = iv_guid. IF sy-subrc EQ 0. lt_tlines[] = et_text_wa-lines[]. CLEAR ld_ebis. LOOP AT lt_tlines INTO lx_tlines. CONCATENATE ld_ebis lx_tlines-tdline INTO ld_ebis. ENDLOOP. lx_text_line-tdline = 'Informasi Data EBIS'. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. lx_text_line-tdline = '-------------------'. lx_text_line-tdformat = '*'. LOOP AT lt_text INTO et_text_wa WHERE stxh-tdid = 'ZET'. IF et_text_wa-lines[] IS NOT INITIAL. CALL FUNCTION 'DELETE_TEXT' EXPORTING id = 'ZET' language = 'E' name = lv_hdguid object = 'CRM_ORDERH'. ENDIF. ENDLOOP.

INSERT lx_text_line INTO TABLE lt_text_line. SPLIT ld_ebis AT '||' INTO TABLE lt_ebis_text. LOOP AT lt_ebis_text INTO lx_ebis_text. CLEAR: ld_lenght, ld_div. ld_lenght = STRLEN( lx_ebis_text ). IF ld_lenght GT 132. ld_div = ld_lenght DIV 132. lx_text_line-tdline = lx_ebis_text(132). lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_ebis_text BY 132 PLACES. ld_div = ld_div - 1. DO ld_div TIMES. lx_text_line-tdline = lx_ebis_text(132). lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_ebis_text BY 132 PLACES. ENDDO. lx_text_line-tdline = lx_ebis_text. lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. ELSE. lx_text_line-tdline = lx_ebis_text. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. ENDIF. ENDLOOP. lx_text_line-tdline = space. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. ENDIF. SELECT * FROM ztb_textsave01 INTO TABLE lt_ztb_textsave01a WHERE object_id = ix-object_id AND textid EQ '0001'. * DELETE lt_ztb_textsave01a WHERE id EQ '00'. SORT lt_ztb_textsave01a BY id ASCENDING. LOOP AT lt_ztb_textsave01a INTO lx_ztb_textsave01a. CLEAR: ld_date2, ld_time2, ld_status2. CONCATENATE lx_ztb_textsave01a-sdate+6(2) '/' lx_ztb_textsave01a-sdate +4(2) '/' lx_ztb_textsave01a-sdate(4) INTO ld_date2. CONCATENATE lx_ztb_textsave01a-stime(2) ':' lx_ztb_textsave01a-stime+2 (2) ':' lx_ztb_textsave01a-stime+4(2) INTO ld_time2. CONCATENATE 'by' lx_ztb_textsave01a-sname '( Status :' lx_ztb_textsave 01a-status_desc ')' INTO ld_status2 SEPARATED BY space. CLEAR lx_text_line. CONCATENATE ld_date2 ld_time2 ld_status2 INTO lx_text_line-tdline SEPA RATED BY space. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. * CLEAR lx_text_line.

* CONCATENATE '[ ACTION' lx_ztb_textsave01a-id ']' INTO lx_text_line-td line SEPARATED BY space. * lx_text_line-tdformat = '*'. * INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_ztb_textsave01a-action_text BY 3 PLACES. IF lx_ztb_textsave01a-id lt 100. CONCATENATE 'ACTION' lx_ztb_textsave01a-id+1(2) lx_ztb_textsave01a-a ction_text INTO lx_ztb_textsave01a-action_text SEPARATED BY space. ELSE. CONCATENATE 'ACTION' lx_ztb_textsave01a-id lx_ztb_textsave01a-action _text INTO lx_ztb_textsave01a-action_text SEPARATED BY space. ENDIF. SPLIT lx_ztb_textsave01a-action_text AT '|X|' INTO TABLE lt_action_tex t. * DELETE lt_action_text INDEX 1. LOOP AT lt_action_text INTO lx_action_text. CLEAR: ld_lenght, ld_div. ld_lenght = STRLEN( lx_action_text ). IF ld_lenght GT 132. ld_div = ld_lenght DIV 132. lx_text_line-tdline = lx_action_text(132). lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_action_text BY 132 PLACES. ld_div = ld_div - 1. DO ld_div TIMES. lx_text_line-tdline = lx_action_text(132). lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_action_text BY 132 PLACES. ENDDO. lx_text_line-tdline = lx_action_text. lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. ELSE. lx_text_line-tdline = lx_action_text. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. ENDIF. ENDLOOP.

* CLEAR lx_text_line. * CONCATENATE '[ RESULT' lx_ztb_textsave01a-id ']' INTO lx_text_line-td line SEPARATED BY space. * lx_text_line-tdformat = '*'. * INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_ztb_textsave01a-result_text BY 3 PLACES. IF lx_ztb_textsave01a-id lt 100. CONCATENATE 'RESULT' lx_ztb_textsave01a-id+1(2) lx_ztb_textsave01a-r esult_text INTO lx_ztb_textsave01a-result_text SEPARATED BY space. ELSE. CONCATENATE 'RESULT' lx_ztb_textsave01a-id lx_ztb_textsave01a-result _text

INTO lx_ztb_textsave01a-result_text SEPARATED BY space. ENDIF. SPLIT lx_ztb_textsave01a-result_text AT '|X|' INTO TABLE lt_result_tex t. * DELETE lt_result_text INDEX 1. LOOP AT lt_result_text INTO lx_result_text. CLEAR: ld_lenght, ld_div. ld_lenght = STRLEN( lx_result_text ). IF ld_lenght GT 132. ld_div = ld_lenght DIV 132. lx_text_line-tdline = lx_result_text(132). lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_result_text BY 132 PLACES. ld_div = ld_div - 1. DO ld_div TIMES. lx_text_line-tdline = lx_result_text(132). lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_result_text BY 132 PLACES. ENDDO. lx_text_line-tdline = lx_result_text. lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. ELSE. lx_text_line-tdline = lx_result_text. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. ENDIF. ENDLOOP. lx_text_line-tdline = '--->'. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. REFRESH: lt_action_text[], lt_result_text[]. ENDLOOP. CLEAR header2. header2-tdobject = 'CRM_ORDERH'. header2-tdname = iv_guid."ES_ORDERADM_I-GUID ."ev_itemguid. header2-tdid = 'ZSS'."Changed from C to S header2-tdspras = 'E'. CALL FUNCTION 'SAVE_TEXT' EXPORTING header = header2 TABLES lines = lt_text_line. * * * * * * * * CLEAR header2. header2-tdobject = 'CRM_ORDERH'. header2-tdname = iv_guid. header2-tdid = 'ZET'. header2-tdspras = 'E'. CLEAR lt_text_line2[]. IF lx_ztb_textsave01a-level_eskalasi EQ '1'.

* * * * * '. * * )'. * * * * * * * * * * * *

lx_text_line2-tdline = 'Telah dieskalasi ELSEIF lx_ztb_textsave01-level_eskalasi EQ lx_text_line2-tdline = 'Telah dieskalasi ELSEIF lx_ztb_textsave01-level_eskalasi EQ lx_text_line2-tdline = 'Telah dieskalasi

sampai level 1 (Ass Man)'. '2'. sampai Level 2 (Manager)'. '3'. sampai Level 3 (SM/GM/DGM)

ELSEIF lx_ztb_textsave01-level_eskalasi EQ '4'. lx_text_line2-tdline = 'Telah dieskalasi sampai Level 4 (Deputy EGM ELSEIF lx_ztb_textsave01-level_eskalasi EQ '5'. lx_text_line2-tdline = 'Telah dieskalasi sampai Level 5 (EGM)'. ENDIF. lx_text_line2-tdformat = '*'. INSERT lx_text_line2 INTO TABLE lt_text_line2. CALL FUNCTION 'SAVE_TEXT' EXPORTING header = header2 TABLES lines = lt_text_line2.

ENDIF. *END 3AS *Remarks by 3AS 07012012 ****************************** deleting the existing summary Text*************** *********************************************** * LOOP AT lt_text INTO et_text_wa WHERE stxh-tdid = 'ZSS'. * IF et_text_wa-lines[] IS NOT INITIAL. * * CALL FUNCTION 'DELETE_TEXT' * EXPORTING * id = 'ZSS' * language = 'E' * name = lv_hdguid * object = 'CRM_ORDERH'. * * ENDIF. * ENDLOOP. ********************************End of deletion of existing summary Text******** ****************************************** *End Remarks REFRESH lt_text. CLEAR et_text_wa. ENDIF. CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = lt_header_guid IMPORTING et_text = lt_text et_status = lt_status. LOOP AT lt_text INTO et_text_wa . "required to find item guid while using ic web client.

lv_guid = et_text_wa-ref_guid. ENDLOOP. CLEAR lt_text. *********************************Second call to CRM_ORDER_READ (commented by Sam rat 0n 07/02/2008)***************************************************** * CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = lt_header_guid IMPORTING et_text = lt_text et_status = lt_status. *******************************************End Second call to CRM_ORDER_READ**** ************************************************** ************************* Determination of Current Status********************** *************************************************** IF ( ls_orderadm_h_wrk-process_type = 'Z_SC' OR ls_orderadm_h_wrk-process_ type = 'ZTCL' OR ls_orderadm_h_wrk-process_type = 'ZTPO' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'Z_ST_ST' AND acti ve = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. IF ( ls_orderadm_h_wrk-process_type = 'ZCBC' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZCBC0001' AND act ive = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. "DR iIF ( ls_orderadm_h_wrk-process_type = 'ZCSI' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'Z_CIS_ST' AND act ive = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. *-----------add by jay 2012.02.04 for service dives-----------IF ( ls_orderadm_h_wrk-process_type = 'ZDST' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'Z_CIS_ST' AND act ive = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. *-----------end add by jay 2012.02.04 for service dives-----------IF ( ls_orderadm_h_wrk-process_type = 'ZM/T' OR ls_orderadm_h_wrk-proces s_type = 'ZTFL' OR ls_orderadm_h_wrk-process_type = 'ZMTP' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZMAS/TID' AND act ive = 'X'.

lv_status = ls_status-txt30. ENDLOOP. ENDIF. IF ( ls_orderadm_h_wrk-process_type = 'ZEST' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'Z_EC_ST' AND acti ve = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. IF ( ls_orderadm_h_wrk-process_type = 'ZBCC' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZCISCBIL' AND act ive = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. IF ( ls_orderadm_h_wrk-process_type = 'ZCMT' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZCIST/M' AND acti ve = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. IF ( ls_orderadm_h_wrk-process_type = 'ZCPI' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZCISPO' AND activ e = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. IF ( ls_orderadm_h_wrk-process_type = 'ZCTD' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZCIST/M' AND acti ve = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. ***********************************End of status determination****************** *************************************************** *Remarks old Syntax saving text into ztable * CLEAR: et_text_wa. * LOOP AT lt_text INTO et_text_wa. * * LOOP AT et_text_wa-lines INTO tlines_wa. * **** add by sap_maulana. * CLEAR : lv_text2, lv_text3. * * ADD 1 TO cont. * ADD 1 TO cont2. * index = cont. * * READ TABLE et_text_wa-lines INTO tlines_wa INDEX index. * CLEAR : lv_text2, lv_text3. * IF sy-subrc = 0. * * REFRESH :tlines2. * APPEND LINES OF et_text_wa-lines TO tlines2.

* * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

READ TABLE tlines2 INTO tlines_wa2 INDEX cont2. CLEAR : lv_text2, lv_text3. IF sy-subrc = 0. IF tlines_wa-tdformat = '*' AND tlines_wa-tdline NE space. CASE tlines_wa2-tdformat. WHEN '*'. CLEAR : index2,lv_index, lv_text2. lv_text2 = tlines_wa2-tdline. WHEN '='. CLEAR : index2,lv_index, lv_text2. lv_text2 = ''. WHEN ''. CLEAR : index2,lv_index, lv_text2. lv_text2 = ''. ENDCASE. ENDIF. ENDIF. CLEAR : tlines_wa2-tdline. CLEAR index2. ADD 1 TO cont2. index2 = cont2. READ TABLE et_text_wa-lines INTO tlines_wa INDEX index2. IF sy-subrc = 0. CASE tlines_wa-tdformat. WHEN ''. CLEAR : lv_text3. IF tlines_wa-tdline NE space. lv_text3 = tlines_wa-tdline. ELSE. cont2 = cont2 - 1. ENDIF. WHEN '='. CLEAR : lv_text3. IF tlines_wa-tdline NE space. lv_text3 = tlines_wa-tdline. ELSE. cont2 = cont2 - 1. ENDIF. WHEN '*'. CLEAR : lv_text3. lv_text3 = ''. cont2 = cont2 - 1. ENDCASE. ENDIF. CLEAR : lv_text4, tlines_wa-tdline. CONCATENATE lv_text2 lv_text3 INTO lv_text4 SEPARATED BY space. CLEAR : lv_text2, lv_text3. CLEAR :lv_strnglth. lv_strnglth = STRLEN( lv_text4 ). IF lv_strnglth = 34. CONCATENATE lv_text4 '.' INTO lv_text4 SEPARATED BY space. ENDIF.

* CLEAR : ls_savetext. * LOOP AT et_text_wa-lines INTO tlines_wa. * IF lv_text4 IS NOT INITIAL. * ls_savetext-guid = iv_guid. * ls_savetext-textid = et_text_wa-stxh-tdid. * ls_savetext-dat = p_dest. * ls_savetext-tim = p_time. * ls_savetext-usr = sy-uname. * ls_savetext-stat = lv_status. * ls_savetext-stime = sy-uzeit. * ls_savetext-sdate = sy-datum. * ls_savetext-ind = cnt + sy-tabix. * ls_savetext-text = lv_text4. * ELSE. * CONCATENATE ls_savetext-text tlines_wa-tdline INTO ls_savetext-tex t. * ENDIF. * * APPEND ls_savetext TO lt_savetext. * * LOOP AT et_text_wa-lines INTO tlines_wa. * IF tlines_wa-tdline = lv_text2 OR * tlines_wa-tdline = lv_text3. * INSERT into ztext_save1 values ls_savetext. * EXIT. * ENDIF. * ENDLOOP. * * AT LAST. * INSERT into ztext_save1 values ls_savetext. * ENDAT. * ENDLOOP. * CLEAR ls_savetext. * REFRESH lt_savetext. * CLEAR var. * CLEAR text1. * ENDLOOP. * ENDLOOP. * * SELECT * FROM ztext_save1 INTO CORRESPONDING FIELDS OF TABLE * lt_savetext WHERE guid = iv_guid . "order by clause added by Samrat on 06/02/2008 * * DELETE ADJACENT DUPLICATES FROM lt_savetext[] COMPARING stime. * DELETE ADJACENT DUPLICATES FROM lt_savetext[] COMPARING guid dat usr stat t ext. * **** Changes to delete the escalation note duplicate entry from summary text **** Begin of change mukul * SORT lt_savetext BY text. * LOOP AT lt_savetext INTO ls_savetext * WHERE textid EQ 'ZET' OR textid EQ 'Z004' OR textid EQ 'ZSOL' OR textid E Q 'ZSID'. * * IF strng1 = ls_savetext-text. * DELETE lt_savetext. * CLEAR: strng1. * ENDIF. * strng1 = ls_savetext-text. * ENDLOOP.

* **** End of change mukul * SORT lt_savetext BY sdate ASCENDING stime ASCENDING textid ASCENDING ind A SCENDING. **** Changes to fecth the users first name and last name instead of userid. * * DELETE ADJACENT DUPLICATES FROM lt_savetext[] COMPARING stime guid dat usr stat text. * LOOP AT lt_savetext INTO ls_savetext. * CLEAR text1. * CLEAR lv_strtext. * CLEAR lv_note. * * IF ls_savetext-textid = '0001'. * lv_note = 'Header Note'. * ELSEIF ls_savetext-textid = 'C001'. * lv_note = 'Complaint Text'. * ELSEIF ls_savetext-textid = 'Z004'. * lv_note = 'Product Owner Note'. * ELSEIF ls_savetext-textid = 'Z003'. * lv_note = 'Product Engineer Note'. * ELSEIF ls_savetext-textid = 'Z001'. * lv_note = 'Customer Note for Serv.Ticket'. * ELSEIF ls_savetext-textid = 'ZET'. * lv_note = 'Escalation Note'. * ELSEIF ls_savetext-textid = 'ZSID'. * lv_note = 'Service ID from TeNOSS'. * ELSEIF ls_savetext-textid = 'ZSOL'. * lv_note = 'Solution From TeNOSS'. * ELSEIF ls_savetext-textid = 'Z005'. * lv_note = 'Call Center Agent Note'. * ELSEIF ls_savetext-textid = 'Z010'. * lv_note = 'Account Manager Note'. * ELSEIF ls_savetext-textid = 'Z011'. * lv_note = 'Billing Employee / QOS Note'. * ENDIF. ** COUNT = COUNT + 1. ** VAR = COUNT. * ************************ Added by Samrat on 07/02/2008********* * dat_temp = ls_savetext-dat. * tim_temp = ls_savetext-tim. * dat = ls_savetext-dat. * tim = ls_savetext-tim. * usr = ls_savetext-usr. * stat = ls_savetext-stat . **************************************************************** **** Begin of change mukul * SELECT SINGLE persnumber FROM usr21 INTO perno WHERE bname = usr. * SELECT SINGLE name_first name_last FROM adrp INTO (name1, name2) WHERE p ersnumber = perno. * * CONCATENATE name1 name2 INTO usr SEPARATED BY space. * **** End of change mukul * AT NEW textid. * count = count + 1. * var = count. ** CONCATENATE var '.' 'On' dat tim '(' 'Status-' stat ')' 'BY' '(' ' USERID-' usr ')' lv_note ' :- '

** ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ** ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' INTO te xt1 SEPARATED BY space. * CONCATENATE var '.' 'On' dat tim '(' 'Status-' stat ')' 'BY' '(' 'use rid -' usr ')' lv_note ' :- ' INTO text1 SEPARATED BY space. * CLEAR : lv_text6. * lv_text6 = text1. * ENDAT. * CONCATENATE text1 ls_savetext-text INTO text1. * * * CLEAR : lv_strnglth. * lv_strnglth = STRLEN( text1 ). * lv_divres = lv_strnglth DIV 132. * lv_divres = lv_divres + 1. * CLEAR lv_offsetvar. * * * DO lv_divres TIMES. * CLEAR lv_strtext. * IF lv_strnglth <> 0. * IF sy-index = lv_divres. * lv_lsoffset = lv_strnglth - lv_offsetvar. * lv_strtext = text1+lv_offsetvar(lv_lsoffset). * ELSE. * lv_strtext = lv_text6+lv_offsetvar(142). * ENDIF. * * header-tdobject = 'CRM_ORDERH'. * header-tdname = iv_guid."ES_ORDERADM_I-GUID ."ev_itemguid. * header-tdid = 'ZSS'."Changed from C to S * header-tdspras = 'E'. * * lines_wa-tdline = lv_strtext. * lines_wa-tdformat = '*'. * APPEND lines_wa TO lines. * **Remarks by 3AS 07012012 ** CALL FUNCTION 'SAVE_TEXT' ** EXPORTING ** header = header ** IMPORTING ** newheader = newheader ** TABLES ** lines = lines. ** ** IF sy-subrc <> 0. *** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO *** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ** ENDIF. **END REMARKS * * counter = counter + 1. * lv_offsetvar = lv_offsetvar + 106. * ENDIF. * ENDDO. * * *

**** Changes to insert the blank line between different notes. **** Begin of change mukul * header-tdobject = 'CRM_ORDERH'. * header-tdname = iv_guid."ES_ORDERADM_I-GUID ."ev_itemguid. * header-tdid = 'ZSS'."Changed from C to S * header-tdspras = 'E'. * lines_wa-tdline = ' '. * lines_wa-tdformat = '*'. * APPEND lines_wa TO lines. * * DELETE ADJACENT DUPLICATES FROM lines[] COMPARING tdline. * **Remarks by 3AS 07012012 ** CALL FUNCTION 'SAVE_TEXT' ** EXPORTING ** header = header ** IMPORTING ** newheader = newheader ** TABLES ** lines = lines. ** IF sy-subrc <> 0. *** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO *** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ** ENDIF. **END REMARKS * * ENDLOOP. *EndRemarks LOOP AT lt_text INTO et_text_wa. IF et_text_wa-stxh-tdid NE 'ZSS' AND et_text_wa-stxh-tdid NE 'ZET' AND et_text_wa-stxh-tdid NE 'ZSOL' AND et_text_wa-stxh-tdid NE 'ZSID' AND et_text_wa-stxh-tdid NE 'Z004' AND et_text_wa-stxh-tdid NE 'C001' AND et_text_wa-stxh-tdid NE 'ZRSO' AND et_text_wa-stxh-tdid NE 'Z005' AND et_text_wa-stxh-tdid NE 'Z010' AND et_text_wa-stxh-tdid NE 'Z011' AND et_text_wa-stxh-tdid NE '0001'. IF et_text_wa-lines[] IS NOT INITIAL. CALL FUNCTION 'DELETE_TEXT' EXPORTING id = et_text_wa-stxh-tdid language = 'E' name = lv_guid object = 'CRM_ORDERH'. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF. ENDIF. ENDLOOP. ENDIF. * For Service DES add to ztb_textsave01 IF (

"'C003'

ls_orderadm_h_wrk-process_type = 'Z_SC' OR "add by jay 2012.02.04 for service dives ls_orderadm_h_wrk-process_type = 'ZDST' "add by jay 2012.02.04 for s ervice dives ). "DR **************************************************Time and Date Formatting****** ******************************************* CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL' EXPORTING date_internal = sy-datum IMPORTING date_external = p_dest EXCEPTIONS date_internal_is_invalid = 1 OTHERS = 2. CONCATENATE sy-uzeit+0(2) sy-uzeit+2(2) sy-uzeit+4(2) INTO p_time SEPARATED BY ':'. *************************************************End**************************** ************************************************ CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL' EXPORTING date_internal = sy-datum IMPORTING date_external = p_dest EXCEPTIONS date_internal_is_invalid = 1 OTHERS = 2. CALL FUNCTION 'CRM_INTLAY_GET_ITEM_GUID' IMPORTING ev_item_guid = ev_itemguid. lv_guid = ev_itemguid. SELECT * FROM crmd_orderadm_h INTO TABLE it WHERE guid = iv_guid. IF sy-subrc = '0'. CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = lt_header_guid IMPORTING et_text = lt_text et_partner = lt_partner et_status = lt_status. *ADD 3AS Save et_text to ztable 17032011 READ TABLE lt_text INTO ls_text WITH KEY stxh-tdid = '0001'. IF sy-subrc EQ 0. lt_tlines[] = ls_text-lines[]. ENDIF.

CLEAR ld_string. LOOP AT lt_tlines INTO lx_tlines. IF lx_tlines-tdformat EQ '*'. CONCATENATE ld_string '|X|' lx_tlines-tdline INTO ld_string. ELSEIF lx_tlines-tdformat EQ space. CONCATENATE ld_string lx_tlines-tdline INTO ld_string. ELSEIF lx_tlines-tdformat EQ '='. CONCATENATE ld_string lx_tlines-tdline INTO ld_string. ENDIF. ENDLOOP. SPLIT ld_string AT '[RESULT]' INTO ld_action ld_result. REPLACE FIRST OCCURRENCE OF '[ACTION]|X|' IN ld_action WITH space. READ TABLE it INTO ix INDEX 1. IF sy-subrc EQ 0. SELECT * FROM ztb_textsave01 INTO TABLE lt_ztb_textsave01 WHERE object_id = ix-object_id AND textid EQ '0001'. SORT lt_ztb_textsave01 BY id DESCENDING. READ TABLE lt_ztb_textsave01 INTO lx_ztb_textsave01 INDEX 1. IF sy-subrc EQ 0. CLEAR ld_duration. CALL FUNCTION 'SWI_DURATION_DETERMINE' EXPORTING start_date = lx_ztb_textsave01-sdate end_date = sy-datum start_time = lx_ztb_textsave01-stime end_time = sy-uzeit IMPORTING duration = ld_duration. CLEAR ld_second. ld_second = ld_duration. ld_lines = lx_ztb_textsave01-id + 1. ld_status = lx_ztb_textsave01-status_no. ENDIF. CLEAR lx_ztb_textsave01. lx_ztb_textsave01-object_id = ix-object_id. lx_ztb_textsave01-id = ld_lines. lx_ztb_textsave01-textid = '0001'. lx_ztb_textsave01-action_text = ld_action. lx_ztb_textsave01-result_text = ld_result. DELETE lt_status WHERE kind NE 'A'. DELETE lt_status WHERE status(1) NE 'E'. READ TABLE lt_status INTO ls_status WITH KEY guid = iv_guid. IF sy-subrc EQ 0. lx_ztb_textsave01-status_no = ls_status-status. lx_ztb_textsave01-status_desc = ls_status-txt30. IF ld_status EQ 'E0001'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = ld_second. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0002'.

lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0003'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = 0. lx_ztb_textsave01-response_topo = ld_second. lx_ztb_textsave01-response_atpo = ld_second. ELSEIF ld_status EQ 'E0004'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0005'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = 0. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = ld_second. ELSEIF ld_status EQ 'E0006'. lx_ztb_textsave01-response = 0. lx_ztb_textsave01-response_atdc = 0. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0007'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0008'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0012'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = ld_second. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ELSEIF ld_status EQ 'E0013'. lx_ztb_textsave01-response = ld_second. lx_ztb_textsave01-response_atdc = 0. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = ld_second. ELSEIF ld_status EQ 'E0014'. lx_ztb_textsave01-response = 0. lx_ztb_textsave01-response_atdc = 0. lx_ztb_textsave01-response_topo = 0. lx_ztb_textsave01-response_atpo = 0. ENDIF. IF ls_status-status EQ 'E0003'. READ TABLE lt_partner INTO lx_partner WITH KEY partner_fct = 'ZEMPPR OD'. IF sy-subrc EQ 0. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = lx_partner-partner_no IMPORTING output = lx_partner-partner_no.

ld_partner = lx_partner-partner_no. CALL FUNCTION 'BAPI_BUPA_CENTRAL_GETDETAIL' EXPORTING businesspartner = ld_partner IMPORTING centraldataperson = lx_centraldataperson. CONCATENATE lx_centraldataperson-firstname lx_centraldataperson-la stname INTO lx_ztb_textsave01-product_owner SEPARATED BY space. ENDIF. ELSEIF ls_status-status EQ 'E0004'. READ TABLE lt_partner INTO lx_partner WITH KEY partner_fct = 'ZEMPPR EN'. IF sy-subrc EQ 0. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = lx_partner-partner_no IMPORTING output = lx_partner-partner_no. ld_partner = lx_partner-partner_no. CALL FUNCTION 'BAPI_BUPA_CENTRAL_GETDETAIL' EXPORTING businesspartner = ld_partner IMPORTING centraldataperson = lx_centraldataperson. CONCATENATE lx_centraldataperson-firstname lx_centraldataperson-la stname INTO lx_ztb_textsave01-product_eng SEPARATED BY space. ENDIF. ENDIF. ENDLOOP. ENDIF. CLEAR ld_time. CONVERT TIME STAMP ix-created_at TIME ZONE sy-zonlo INTO DATE lx_ztb_textsave01-post_date TIME ld_time. CLEAR: ld_description, ld_description2. SELECT SINGLE description FROM ztb_textsave01 INTO ld_description WHERE object_id EQ ix-object_id AND id EQ 0 AND textid EQ '0001'. IF sy-subrc EQ 0 AND ld_description NE space. lx_ztb_textsave01-description = ld_description. ELSE. SELECT SINGLE description FROM crmd_orderadm_h INTO ld_description2 WHERE object_id EQ ix-object_id. IF sy-subrc EQ 0. lx_ztb_textsave01-description = ld_description2. ENDIF. ENDIF. data : nama_user type USER_ADDR-NAME_TEXTC. "input nama dan login user SELECT NAME_TEXTC FROM user_addr INTO nama_user WHERE bname EQ sy-uname. endselect.

concatenate sy-uname '(' nama_user ')' into lx_ztb_textsave01-sname. lx_ztb_textsave01-sname = sy-uname. lx_ztb_textsave01-sdate = sy-datum. lx_ztb_textsave01-stime = sy-uzeit.

*------------------input SID ke ztb_textsave01------------------clear : ls_text, lt_tlines, ld_string. READ TABLE lt_text INTO ls_text WITH KEY stxh-tdid = 'ZSID'. IF sy-subrc EQ 0. lt_tlines[] = ls_text-lines[]. endif. LOOP AT lt_tlines INTO lx_tlines. lx_ztb_textsave01-text = lx_tlines-tdline. ENDLOOP. * * * * * * * * * LOOP AT lt_tlines INTO lx_tlines. IF lx_tlines-tdformat EQ '*'. CONCATENATE ld_string '|X|' lx_tlines-tdline INTO ld_string. ELSEIF lx_tlines-tdformat EQ space. CONCATENATE ld_string lx_tlines-tdline INTO ld_string. ELSEIF lx_tlines-tdformat EQ '='. CONCATENATE ld_string lx_tlines-tdline INTO ld_string. ENDIF. ENDLOOP.

*------------------input SID ke ztb_textsave01------------------* * IF ls_status-user_stat_proc EQ 'Z_ST_ST' AND IF ld_string CP '|X|[CL*' OR ld_string CP '|X|Status: Cleared*' OR ld_string CP '|X|Tenoss:*' . "Do Nothing" ELSE. INSERT into ztb_textsave01 values lx_ztb_textsave01. ENDIF. CLEAR lx_ztb_textsave01. DATA : lx_text_line TYPE tline, lt_text_line TYPE TABLE OF tline, ld_lenght TYPE i, ld_div TYPE i, lt_action_text TYPE string_table, lx_action_text TYPE string, lt_result_text TYPE string_table, lx_result_text TYPE string, lt_ebis_text TYPE string_table, lx_ebis_text TYPE string, lx_text_line2 TYPE tline, lt_text_line2 TYPE TABLE OF tline, ld_date2(10), ld_time2(8), ld_status2 TYPE string, ld_ebis TYPE string. break abyor01.

* * * * * * * * * * * * * * *

LOOP AT lt_text INTO et_text_wa WHERE stxh-tdid = 'ZSS'. IF et_text_wa-lines[] IS NOT INITIAL. CALL FUNCTION 'DELETE_TEXT' EXPORTING id = 'ZSS' language = 'E' name = lv_hdguid object = 'CRM_ORDERH'. ENDIF. ENDLOOP. *EBIS CLEAR: et_text_wa, lt_tlines[], lx_tlines. READ TABLE lt_text INTO et_text_wa WITH KEY stxh-tdid = 'C001' ref_guid = iv_guid. IF sy-subrc EQ 0. lt_tlines[] = et_text_wa-lines[]. CLEAR ld_ebis. LOOP AT lt_tlines INTO lx_tlines. CONCATENATE ld_ebis lx_tlines-tdline INTO ld_ebis. ENDLOOP. lx_text_line-tdline = 'Informasi Data EBIS'. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. lx_text_line-tdline = '-------------------'. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. SPLIT ld_ebis AT '||' INTO TABLE lt_ebis_text. LOOP AT lt_ebis_text INTO lx_ebis_text. CLEAR: ld_lenght, ld_div. ld_lenght = STRLEN( lx_ebis_text ). IF ld_lenght GT 132. ld_div = ld_lenght DIV 132. lx_text_line-tdline = lx_ebis_text(132). lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_ebis_text BY 132 PLACES. ld_div = ld_div - 1. DO ld_div TIMES. lx_text_line-tdline = lx_ebis_text(132). lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_ebis_text BY 132 PLACES. ENDDO. lx_text_line-tdline = lx_ebis_text. lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. ELSE. lx_text_line-tdline = lx_ebis_text. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. ENDIF. ENDLOOP. lx_text_line-tdline = space.

lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. ENDIF. SELECT * FROM ztb_textsave01 INTO TABLE lt_ztb_textsave01a WHERE object_id = ix-object_id AND textid EQ '0001'. * DELETE lt_ztb_textsave01a WHERE id EQ '00'. SORT lt_ztb_textsave01a BY id ASCENDING. LOOP AT lt_ztb_textsave01a INTO lx_ztb_textsave01a. CLEAR: ld_date2, ld_time2, ld_status2. CONCATENATE lx_ztb_textsave01a-sdate+6(2) '/' lx_ztb_textsave01a-sdate +4(2) '/' lx_ztb_textsave01a-sdate(4) INTO ld_date2. CONCATENATE lx_ztb_textsave01a-stime(2) ':' lx_ztb_textsave01a-stime+2 (2) ':' lx_ztb_textsave01a-stime+4(2) INTO ld_time2. CONCATENATE 'by' lx_ztb_textsave01a-sname '( Status :' lx_ztb_textsave 01a-status_desc ')' INTO ld_status2 SEPARATED BY space. CLEAR lx_text_line. CONCATENATE ld_date2 ld_time2 ld_status2 INTO lx_text_line-tdline SEPA RATED BY space. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. * CLEAR lx_text_line. * CONCATENATE '[ ACTION' lx_ztb_textsave01a-id ']' INTO lx_text_line-td line SEPARATED BY space. * lx_text_line-tdformat = '*'. * INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_ztb_textsave01a-action_text BY 3 PLACES. IF lx_ztb_textsave01a-id lt 100. CONCATENATE 'ACTION' lx_ztb_textsave01a-id+1(2) lx_ztb_textsave01a-a ction_text INTO lx_ztb_textsave01a-action_text SEPARATED BY space. ELSE. CONCATENATE 'ACTION' lx_ztb_textsave01a-id lx_ztb_textsave01a-action _text INTO lx_ztb_textsave01a-action_text SEPARATED BY space. ENDIF. SPLIT lx_ztb_textsave01a-action_text AT '|X|' INTO TABLE lt_action_tex t. * DELETE lt_action_text INDEX 1. LOOP AT lt_action_text INTO lx_action_text. CLEAR: ld_lenght, ld_div. ld_lenght = STRLEN( lx_action_text ). IF ld_lenght GT 132. ld_div = ld_lenght DIV 132. lx_text_line-tdline = lx_action_text(132). lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_action_text BY 132 PLACES. ld_div = ld_div - 1.

DO ld_div TIMES. lx_text_line-tdline = lx_action_text(132). lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_action_text BY 132 PLACES. ENDDO. lx_text_line-tdline = lx_action_text. lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. ELSE. lx_text_line-tdline = lx_action_text. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. ENDIF. ENDLOOP. * CLEAR lx_text_line. * CONCATENATE '[ RESULT' lx_ztb_textsave01a-id ']' INTO lx_text_line-td line SEPARATED BY space. * lx_text_line-tdformat = '*'. * INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_ztb_textsave01a-result_text BY 3 PLACES. IF lx_ztb_textsave01a-id lt 100. CONCATENATE 'RESULT' lx_ztb_textsave01a-id+1(2) lx_ztb_textsave01a-r esult_text INTO lx_ztb_textsave01a-result_text SEPARATED BY space. ELSE. CONCATENATE 'RESULT' lx_ztb_textsave01a-id lx_ztb_textsave01a-result _text INTO lx_ztb_textsave01a-result_text SEPARATED BY space. ENDIF. SPLIT lx_ztb_textsave01a-result_text AT '|X|' INTO TABLE lt_result_tex t. * DELETE lt_result_text INDEX 1. LOOP AT lt_result_text INTO lx_result_text. CLEAR: ld_lenght, ld_div. ld_lenght = STRLEN( lx_result_text ). IF ld_lenght GT 132. ld_div = ld_lenght DIV 132. lx_text_line-tdline = lx_result_text(132). lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_result_text BY 132 PLACES. ld_div = ld_div - 1. DO ld_div TIMES. lx_text_line-tdline = lx_result_text(132). lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. SHIFT lx_result_text BY 132 PLACES. ENDDO. lx_text_line-tdline = lx_result_text. lx_text_line-tdformat = space. INSERT lx_text_line INTO TABLE lt_text_line. ELSE. lx_text_line-tdline = lx_result_text. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. ENDIF.

ENDLOOP. lx_text_line-tdline = '--->'. lx_text_line-tdformat = '*'. INSERT lx_text_line INTO TABLE lt_text_line. REFRESH: lt_action_text[], lt_result_text[]. ENDLOOP. CLEAR header2. header2-tdobject = 'CRM_ORDERH'. header2-tdname = iv_guid."ES_ORDERADM_I-GUID ."ev_itemguid. header2-tdid = 'ZSS'."Changed from C to S header2-tdspras = 'E'. CALL FUNCTION 'SAVE_TEXT' EXPORTING header = header2 TABLES lines = lt_text_line. * * * * * * * * * * * * * '. * * )'. * * * * * * * * * * * * CLEAR header2. header2-tdobject = 'CRM_ORDERH'. header2-tdname = iv_guid. header2-tdid = 'ZET'. header2-tdspras = 'E'. CLEAR lt_text_line2[]. IF lx_ztb_textsave01a-level_eskalasi EQ '1'. lx_text_line2-tdline = 'Telah dieskalasi sampai level 1 (Ass Man)'. ELSEIF lx_ztb_textsave01-level_eskalasi EQ '2'. lx_text_line2-tdline = 'Telah dieskalasi sampai Level 2 (Manager)'. ELSEIF lx_ztb_textsave01-level_eskalasi EQ '3'. lx_text_line2-tdline = 'Telah dieskalasi sampai Level 3 (SM/GM/DGM) ELSEIF lx_ztb_textsave01-level_eskalasi EQ '4'. lx_text_line2-tdline = 'Telah dieskalasi sampai Level 4 (Deputy EGM ELSEIF lx_ztb_textsave01-level_eskalasi EQ '5'. lx_text_line2-tdline = 'Telah dieskalasi sampai Level 5 (EGM)'. ENDIF. lx_text_line2-tdformat = '*'. INSERT lx_text_line2 INTO TABLE lt_text_line2. CALL FUNCTION 'SAVE_TEXT' EXPORTING header = header2 TABLES lines = lt_text_line2.

ENDIF. *END 3AS *Remarks by 3AS 07012012 ****************************** deleting the existing summary Text*************** *********************************************** * LOOP AT lt_text INTO et_text_wa WHERE stxh-tdid = 'ZSS'. * IF et_text_wa-lines[] IS NOT INITIAL.

* * * * * * * * * *

CALL FUNCTION 'DELETE_TEXT' EXPORTING id = 'ZSS' language = 'E' name = lv_hdguid object = 'CRM_ORDERH'. ENDIF. ENDLOOP.

********************************End of deletion of existing summary Text******** ****************************************** *End Remarks REFRESH lt_text. CLEAR et_text_wa. ENDIF. CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = lt_header_guid IMPORTING et_text = lt_text et_status = lt_status. LOOP AT lt_text INTO et_text_wa . "required to find item guid while using ic web client. lv_guid = et_text_wa-ref_guid. ENDLOOP. CLEAR lt_text. *********************************Second call to CRM_ORDER_READ (commented by Sam rat 0n 07/02/2008)***************************************************** * CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = lt_header_guid IMPORTING et_text = lt_text et_status = lt_status. *******************************************End Second call to CRM_ORDER_READ**** ************************************************** ************************* Determination of Current Status********************** *************************************************** IF ( ls_orderadm_h_wrk-process_type = 'Z_SC' OR ls_orderadm_h_wrk-process_ type = 'ZTCL' OR ls_orderadm_h_wrk-process_type = 'ZTPO' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'Z_ST_ST' AND acti ve = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF.

IF ( ls_orderadm_h_wrk-process_type = 'ZCBC' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZCBC0001' AND act ive = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. "DR iIF ( ls_orderadm_h_wrk-process_type = 'ZCSI' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'Z_CIS_ST' AND act ive = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. *-----------add by jay 2012.02.04 for service dives-----------IF ( ls_orderadm_h_wrk-process_type = 'ZDST' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'Z_CIS_ST' AND act ive = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. *-----------end add by jay 2012.02.04 for service dives-----------IF ( ls_orderadm_h_wrk-process_type = 'ZM/T' OR ls_orderadm_h_wrk-proces s_type = 'ZTFL' OR ls_orderadm_h_wrk-process_type = 'ZMTP' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZMAS/TID' AND act ive = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. IF ( ls_orderadm_h_wrk-process_type = 'ZEST' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'Z_EC_ST' AND acti ve = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. IF ( ls_orderadm_h_wrk-process_type = 'ZBCC' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZCISCBIL' AND act ive = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. IF ( ls_orderadm_h_wrk-process_type = 'ZCMT' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZCIST/M' AND acti ve = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. IF ( ls_orderadm_h_wrk-process_type = 'ZCPI' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZCISPO' AND activ e = 'X'. lv_status = ls_status-txt30. ENDLOOP.

ENDIF. IF ( ls_orderadm_h_wrk-process_type = 'ZCTD' ). LOOP AT lt_status INTO ls_status WHERE user_stat_proc = 'ZCIST/M' AND acti ve = 'X'. lv_status = ls_status-txt30. ENDLOOP. ENDIF. ***********************************End of status determination****************** *************************************************** *Remarks old Syntax saving text into ztable * CLEAR: et_text_wa. * LOOP AT lt_text INTO et_text_wa. * * LOOP AT et_text_wa-lines INTO tlines_wa. * **** add by sap_maulana. * CLEAR : lv_text2, lv_text3. * * ADD 1 TO cont. * ADD 1 TO cont2. * index = cont. * * READ TABLE et_text_wa-lines INTO tlines_wa INDEX index. * CLEAR : lv_text2, lv_text3. * IF sy-subrc = 0. * * REFRESH :tlines2. * APPEND LINES OF et_text_wa-lines TO tlines2. * * READ TABLE tlines2 INTO tlines_wa2 INDEX cont2. * CLEAR : lv_text2, lv_text3. * IF sy-subrc = 0. ** IF tlines_wa-tdformat = '*' AND tlines_wa-tdline NE space. * CASE tlines_wa2-tdformat. * WHEN '*'. * CLEAR : index2,lv_index, lv_text2. * lv_text2 = tlines_wa2-tdline. * WHEN '='. * CLEAR : index2,lv_index, lv_text2. * lv_text2 = ''. * WHEN ''. * CLEAR : index2,lv_index, lv_text2. * lv_text2 = ''. * ENDCASE. * ENDIF. * ENDIF. * * CLEAR : tlines_wa2-tdline. * * CLEAR index2. * ADD 1 TO cont2. * index2 = cont2. * * READ TABLE et_text_wa-lines INTO tlines_wa INDEX index2. * IF sy-subrc = 0. * CASE tlines_wa-tdformat. * WHEN ''. * CLEAR : lv_text3.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * t. * * * * * * * * * * * * * *

IF tlines_wa-tdline NE space. lv_text3 = tlines_wa-tdline. ELSE. cont2 = cont2 - 1. ENDIF. WHEN '='. CLEAR : lv_text3. IF tlines_wa-tdline NE space. lv_text3 = tlines_wa-tdline. ELSE. cont2 = cont2 - 1. ENDIF. WHEN '*'. CLEAR : lv_text3. lv_text3 = ''. cont2 = cont2 - 1. ENDCASE. ENDIF. CLEAR : lv_text4, tlines_wa-tdline. CONCATENATE lv_text2 lv_text3 INTO lv_text4 SEPARATED BY space. CLEAR : lv_text2, lv_text3. CLEAR :lv_strnglth. lv_strnglth = STRLEN( lv_text4 ). IF lv_strnglth = 34. CONCATENATE lv_text4 '.' INTO lv_text4 SEPARATED BY space. ENDIF. CLEAR : ls_savetext. LOOP AT et_text_wa-lines INTO tlines_wa. IF lv_text4 IS NOT INITIAL. ls_savetext-guid = iv_guid. ls_savetext-textid = et_text_wa-stxh-tdid. ls_savetext-dat = p_dest. ls_savetext-tim = p_time. ls_savetext-usr = sy-uname. ls_savetext-stat = lv_status. ls_savetext-stime = sy-uzeit. ls_savetext-sdate = sy-datum. ls_savetext-ind = cnt + sy-tabix. ls_savetext-text = lv_text4. ELSE. CONCATENATE ls_savetext-text tlines_wa-tdline INTO ls_savetext-tex ENDIF. APPEND ls_savetext TO lt_savetext. LOOP AT et_text_wa-lines INTO tlines_wa. IF tlines_wa-tdline = lv_text2 OR tlines_wa-tdline = lv_text3. INSERT into ztext_save1 values ls_savetext. EXIT. ENDIF. ENDLOOP. AT LAST. INSERT into ztext_save1 values ls_savetext.

* ENDAT. * ENDLOOP. * CLEAR ls_savetext. * REFRESH lt_savetext. * CLEAR var. * CLEAR text1. * ENDLOOP. * ENDLOOP. * * SELECT * FROM ztext_save1 INTO CORRESPONDING FIELDS OF TABLE * lt_savetext WHERE guid = iv_guid . "order by clause added by Samrat on 06/02/2008 * * DELETE ADJACENT DUPLICATES FROM lt_savetext[] COMPARING stime. * DELETE ADJACENT DUPLICATES FROM lt_savetext[] COMPARING guid dat usr stat t ext. * **** Changes to delete the escalation note duplicate entry from summary text **** Begin of change mukul * SORT lt_savetext BY text. * LOOP AT lt_savetext INTO ls_savetext * WHERE textid EQ 'ZET' OR textid EQ 'Z004' OR textid EQ 'ZSOL' OR textid E Q 'ZSID'. * * IF strng1 = ls_savetext-text. * DELETE lt_savetext. * CLEAR: strng1. * ENDIF. * strng1 = ls_savetext-text. * ENDLOOP. * **** End of change mukul * SORT lt_savetext BY sdate ASCENDING stime ASCENDING textid ASCENDING ind A SCENDING. **** Changes to fecth the users first name and last name instead of userid. * * DELETE ADJACENT DUPLICATES FROM lt_savetext[] COMPARING stime guid dat usr stat text. * LOOP AT lt_savetext INTO ls_savetext. * CLEAR text1. * CLEAR lv_strtext. * CLEAR lv_note. * * IF ls_savetext-textid = '0001'. * lv_note = 'Header Note'. * ELSEIF ls_savetext-textid = 'C001'. * lv_note = 'Complaint Text'. * ELSEIF ls_savetext-textid = 'Z004'. * lv_note = 'Product Owner Note'. * ELSEIF ls_savetext-textid = 'Z003'. * lv_note = 'Product Engineer Note'. * ELSEIF ls_savetext-textid = 'Z001'. * lv_note = 'Customer Note for Serv.Ticket'. * ELSEIF ls_savetext-textid = 'ZET'. * lv_note = 'Escalation Note'. * ELSEIF ls_savetext-textid = 'ZSID'. * lv_note = 'Service ID from TeNOSS'. * ELSEIF ls_savetext-textid = 'ZSOL'. * lv_note = 'Solution From TeNOSS'. * ELSEIF ls_savetext-textid = 'Z005'.

* lv_note = 'Call Center Agent Note'. * ELSEIF ls_savetext-textid = 'Z010'. * lv_note = 'Account Manager Note'. * ELSEIF ls_savetext-textid = 'Z011'. * lv_note = 'Billing Employee / QOS Note'. * ENDIF. ** COUNT = COUNT + 1. ** VAR = COUNT. * ************************ Added by Samrat on 07/02/2008********* * dat_temp = ls_savetext-dat. * tim_temp = ls_savetext-tim. * dat = ls_savetext-dat. * tim = ls_savetext-tim. * usr = ls_savetext-usr. * stat = ls_savetext-stat . **************************************************************** **** Begin of change mukul * SELECT SINGLE persnumber FROM usr21 INTO perno WHERE bname = usr. * SELECT SINGLE name_first name_last FROM adrp INTO (name1, name2) WHERE p ersnumber = perno. * * CONCATENATE name1 name2 INTO usr SEPARATED BY space. * **** End of change mukul * AT NEW textid. * count = count + 1. * var = count. ** CONCATENATE var '.' 'On' dat tim '(' 'Status-' stat ')' 'BY' '(' ' USERID-' usr ')' lv_note ' :- ' ** ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ** ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' INTO te xt1 SEPARATED BY space. * CONCATENATE var '.' 'On' dat tim '(' 'Status-' stat ')' 'BY' '(' 'use rid -' usr ')' lv_note ' :- ' INTO text1 SEPARATED BY space. * CLEAR : lv_text6. * lv_text6 = text1. * ENDAT. * CONCATENATE text1 ls_savetext-text INTO text1. * * * CLEAR : lv_strnglth. * lv_strnglth = STRLEN( text1 ). * lv_divres = lv_strnglth DIV 132. * lv_divres = lv_divres + 1. * CLEAR lv_offsetvar. * * * DO lv_divres TIMES. * CLEAR lv_strtext. * IF lv_strnglth <> 0. * IF sy-index = lv_divres. * lv_lsoffset = lv_strnglth - lv_offsetvar. * lv_strtext = text1+lv_offsetvar(lv_lsoffset). * ELSE. * lv_strtext = lv_text6+lv_offsetvar(142). * ENDIF. * * header-tdobject = 'CRM_ORDERH'.

* header-tdname = iv_guid."ES_ORDERADM_I-GUID ."ev_itemguid. * header-tdid = 'ZSS'."Changed from C to S * header-tdspras = 'E'. * * lines_wa-tdline = lv_strtext. * lines_wa-tdformat = '*'. * APPEND lines_wa TO lines. * **Remarks by 3AS 07012012 ** CALL FUNCTION 'SAVE_TEXT' ** EXPORTING ** header = header ** IMPORTING ** newheader = newheader ** TABLES ** lines = lines. ** ** IF sy-subrc <> 0. *** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO *** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ** ENDIF. **END REMARKS * * counter = counter + 1. * lv_offsetvar = lv_offsetvar + 106. * ENDIF. * ENDDO. * * * **** Changes to insert the blank line between different notes. **** Begin of change mukul * header-tdobject = 'CRM_ORDERH'. * header-tdname = iv_guid."ES_ORDERADM_I-GUID ."ev_itemguid. * header-tdid = 'ZSS'."Changed from C to S * header-tdspras = 'E'. * lines_wa-tdline = ' '. * lines_wa-tdformat = '*'. * APPEND lines_wa TO lines. * * DELETE ADJACENT DUPLICATES FROM lines[] COMPARING tdline. * **Remarks by 3AS 07012012 ** CALL FUNCTION 'SAVE_TEXT' ** EXPORTING ** header = header ** IMPORTING ** newheader = newheader ** TABLES ** lines = lines. ** IF sy-subrc <> 0. *** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO *** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ** ENDIF. **END REMARKS * * ENDLOOP. *EndRemarks

LOOP AT lt_text INTO et_text_wa. IF et_text_wa-stxh-tdid NE 'ZSS' AND et_text_wa-stxh-tdid NE 'ZET' AND et_text_wa-stxh-tdid NE 'ZSOL' AND et_text_wa-stxh-tdid NE 'ZSID' AND et_text_wa-stxh-tdid NE 'Z004' AND et_text_wa-stxh-tdid NE 'C001' AND et_text_wa-stxh-tdid NE 'ZRSO' AND et_text_wa-stxh-tdid NE 'Z005' AND et_text_wa-stxh-tdid NE 'Z010' AND et_text_wa-stxh-tdid NE 'Z011' AND et_text_wa-stxh-tdid NE '0001'. IF et_text_wa-lines[] IS NOT INITIAL. CALL FUNCTION 'DELETE_TEXT' EXPORTING id = et_text_wa-stxh-tdid language = 'E' name = lv_guid object = 'CRM_ORDERH'. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF. ENDIF. ENDLOOP. ENDIF. * end of service des insert ztb_textsave01

"'C003'

IF ls_orderadm_h_wrk-process_type = 'ZEST'. CLEAR: wa_header_guid. REFRESH: it_header_guid. wa_header_guid = iv_guid. APPEND wa_header_guid TO it_header_guid. CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = it_header_guid IMPORTING et_orderadm_h = et_orderadm_h et_orderadm_i = et_orderadm_i et_service_os = et_service_os et_subject = et_subject. READ TABLE et_orderadm_i INTO wa_orderadm_i WITH KEY header = iv_guid. IF sy-subrc EQ 0. READ TABLE et_service_os INTO wa_service_os WITH KEY ref_guid = wa_orderad m_i-guid. IF sy-subrc EQ 0.

READ TABLE wa_service_os-osset INTO wa_osset WITH KEY guid_set = wa_serv ice_os-guid_set. READ TABLE et_subject INTO wa_subject WITH KEY guid_ref = wa_osset-guid. ENDIF. ENDIF. CLEAR: wa_service_os, wa_osset. READ TABLE et_service_os INTO wa_service_os WITH KEY ref_guid = iv_guid. READ TABLE wa_service_os-osset INTO wa_osset WITH KEY guid_set = wa_service_ os-guid_set. wa_srv_subject-guid wa_srv_subject-guid_ref wa_srv_subject-katalogart wa_srv_subject-codegruppe wa_srv_subject-code wa_srv_subject-defquantity wa_srv_subject-sort = = = = = = = iv_guid. wa_osset-guid. wa_subject-katalogart. wa_subject-codegruppe. wa_subject-code. wa_subject-defquantity. wa_subject-sort.

APPEND wa_srv_subject TO it_srv_subject. MODIFY crmd_srv_subject FROM TABLE it_srv_subject. ENDIF. IF ls_orderadm_h_wrk-process_type = 'TEL4'. CLEAR: wa_header_guid. REFRESH: it_header_guid. wa_header_guid = iv_guid. APPEND wa_header_guid TO it_header_guid. CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = it_header_guid IMPORTING et_partner = et_partner et_doc_flow = et_doc_flow. CLEAR :wa_doc_flow, wa_partner. READ TABLE et_doc_flow INTO wa_doc_flow INDEX 1. READ TABLE et_partner INTO wa_partner WITH KEY ref_partner_fct = '00000009'. SELECT SINGLE ml_guid_h FROM crmd_im_ml_head INTO w_ml_guid_h WHERE project_guid = wa_doc_flow-objkey_a. SELECT SINGLE sum_access FROM crmd_im_ml_item INTO w_sum WHERE ml_guid_h EQ w_ml_guid_h AND partner_guid EQ wa_partner-bp_partner_guid. IF w_sum > 0. LEAVE PROGRAM. ENDIF. ENDIF.

*Enhancement for ECOM IF ls_orderadm_h_wrk-process_type = 'ZISR'. CLEAR: wa_header_guid. REFRESH: it_header_guid. wa_header_guid = iv_guid. APPEND wa_header_guid TO it_header_guid. CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = it_header_guid IMPORTING et_orderadm_i = et_orderadm_i1 et_service_os = et_service_os1. READ TABLE et_service_os1 INTO wa_service_os1 WITH KEY ref_guid = iv_guid. IF sy-subrc EQ 0. READ TABLE et_orderadm_i1 INTO wa_orderadm_i1 INDEX 1. IF sy-subrc = 0. wa_crmd_link-guid_hi = wa_orderadm_i1-guid. wa_crmd_link-guid_set = wa_service_os1-guid_set. wa_crmd_link-objtype_hi = '06'. wa_crmd_link-objtype_set = '29'. MODIFY crmd_link FROM wa_crmd_link. ENDIF. ENDIF. ENDIF. *endif. ENDMETHOD.

Vous aimerez peut-être aussi