0% found this document useful (0 votes)
261 views41 pages

Backup Badi Order-Save

This document contains data definitions for variables used in an SAP CRM order processing method. It defines tables, structures, and individual variables for handling order header and item data, text, partners, statuses, and other related entities. Time and date formatting functions are also included, as well as function modules to read order data from the database.

Uploaded by

AndriWahyuS
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
261 views41 pages

Backup Badi Order-Save

This document contains data definitions for variables used in an SAP CRM order processing method. It defines tables, structures, and individual variables for handling order header and item data, text, partners, statuses, and other related entities. Time and date formatting functions are also included, as well as function modules to read order data from the database.

Uploaded by

AndriWahyuS
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 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.

You might also like