File To Proxy : Handle the response from ECC to send mail without BPM

Hi,
Scenario: FILE To Proxy
Requirement: We are receiving xml acknowledgement file from bank with IDoc number and status in SAP PI and the file is used to send the status number, message and and IDoc number to ECC. After request is received in ECC BAPI is executed to update the original status of outbound IDOC.
There would be multiple records in file and PI will send all IDoc acknowledgement to ECC to update the IDoc status.
Issue: Since PI send all records to ecc, if any single IDoc status update is failing in ECC how would it can be communicated to support.
ECC can send success or error response in proxy but how we can use the same in PI to send mail to support. Or is there any better error handling we can go for in such scenario.
Thanks,
Vertika

Hi everyone
thanks for response.
Interface 1: IDoc (ECC) to File (Bank) --> Done
Interface 2: Acknowledgment File (Bank) to BAPI (ECC) where BAPI will update the status of IDoc sent in first interface.
For Interface 2 : PI will receive file from Bank with multiple records i.e multiple IDoc numbers and their status. PI will invoke proxy to send the IDoc number and status number (eg 16) for all the records together. Now if BAPI fails to update status of any single IDoc in that file how support team will know that the particular record is failed. To handle this error ECC is saying they can send Error and Success back to PI. But the problem is how we can use that response in PI in the same interface to send emails to support team. Bank does not want any response back in this case. This is just to ensure proper error handling since this is bank related interface.
Splitting the interface in two interfaces will definitely help. But is there some way which can be used in same interface and based on error response from ECC mail is triggered.
If any one has better suggestion for such kind of error handling, please post the same.
Thanks,
Vertika

Similar Messages

  • Query on loaded the data from ECC to BI

    Hello Bw guys,
                               I kept one responsibility in my resume as Loaded the data from ECC to BI and used intialization with delta update and full update methods.What does it means? Can u please help me out?
    Thanks
    Amarnath K

    Very simple.
    This is somewhat like how you updated your resume by transfering from another and did a fake update to your resume.
    The difference is ECC does that using a authorized route to update it in BI.
    PS:If you have provided the client name you are going to join it will be easy for us to explain to them directly.
    ~Andrew
    Edited by: Andrew J on Dec 18, 2009 3:44 PM

  • Unable to extract the data from ECC 6.0 to PSA

    Hello,
    I'm trying to extract the data from ECC 6.0 data source name as 2LIS_11_VAHDR into BI 7.0
    When i try to load Full Load into PSA , I'm getting following error message
    Error Message: "DataSource 2LIS_11_VAHDR must be activated"
    Actually the data source already active , I look at the datasource using T-code LBWE it is active.
    In BI  on datasource(2LIS_11_VAHDR) when i right click selected "Manage"  system is giving throughing below error message
    "Invalid DataStore object name /BIC/B0000043: Reason: No valid entry in table RSTS"
    If anybody faced this error message please advise what i'm doing wrong?
    Advance thanks

    ECC 6.0 side
    Delete the setup tables
    Fill the data into setup tables
    Schedule the job
    I can see the data using RSA3 (2LIS_11_VAHDR) 1000 records
    BI7.0(Service Pack 15)
    Replicate the datasource in Production in Backgroud
    Migrate Datasource 3.5 to 7.0 in Development
    I did't migrate 3.5 to 7.0 in Production it's not allowing
    When i try to schedule the InfoPakage it's giving error message "Data Source is not active"
    I'm sure this problem relate to Data Source 3.5 to 7.0 convertion problem in production. In Development there is no problem because manually i convert the datasource 3.5 to 7.0
    Thanks

  • Unable to get the response from dynamic partnerlink

    Hi
    I used dynamic partnerlink, in this i am able to invoke the services dynamcially but i am unable to get the response from the services which i had invoked dynamically. In my dynamic partnerlink wsdl i had included callback binding and call back service in the wsdl you can see them below
    <binding name="LoanServiceCallbackBinding" type="tns:LoanServiceCallback">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="onResult">
    <soap:operation soapAction="onResult" style="document"/>
    <input>
    <soap:header message="tns:RelatesToHeader" part="RelatesTo" use="literal" required="false"/>
    <soap:body use="literal"/>
    </input>
    </operation>
    </binding>
    <service name="LoanServiceCallbackService">
    <port name="LoanServiceCallbackPort" binding="tns:LoanServiceCallbackBinding">
    <soap:address location="http://openuri.org"/>
    </port>
    </service>
    please help me on this
    thanks
    Srikanth

    Hi, thanks for the input
    Actually My partnerLink had two messageTypes one for Input message request and the other for the Output message request and for the input message i had used the operation as initiate also for the output messsage type operation as result.For both of them binding is defined.
    With these am passing the values from myBPELl to the service which am nvoking dynamically but unable to capture the response the variables are local to myBPEL.

  • I am extracting the data from ECC To bw .but Data Loading taking long tim

    Hi All,
                     i am extracting the data from ECC To BI Syatem..but Data Loading Taking Long time. from last   6 hoursinfopackage is running.still it is showing yellow.Manually i made the red.and delete again i applied repeat of the last delta.but same proble is coming .in the status job is showing bckground job is not finished at source system.we requested to basis.basis people killed that job.again we schedule the chain also again same problem is coming.how can i solve this issue.
    Thanks ,
    chandu

    Hi,
    There are different places to track your job. Once your job is triggered in BW, you can track your load job where exactly it is taking more time and why. Follow below steps:
    1) After InfoPackage is triggered, then take the request number and go to source system to check your extraction job status.
    You can get the job status by taking the request number from BW and go to transaction SM37 in ECC. Then give the request number with begining '' and ending ''.  Also give '*' to user name.
    Job name:  REQ_XXXXXX
    User Name: *
    Check the job status whether job is completed or cancelled or short dump. If the job is still running check in SM66 whether you can see any process. If not accordingly you got to check in ST22 or SM21 in ECC. If the job is complete, then the same in BW side now.
    2) Check the data arrived in PSA, if not check whether Transfer routines or start routines are having bad SQL or code. Similarly in update rules.
    3) Once it is through in Source system (ECC), Transfer rules , Update Rules, then the next task is updating the data might some time take more time which might be based on some parameters ( Number of parallel process to update database ). Check whether updating the database is taking more time and may be you got to check with the DBA guy also.
    At all the times you should see minimum of atleast once process running all the time in SM66 till the time your job gets complete. If not you will see a log in ST22.
    Let me know if you still have questions.
    Assigning points is the only way of saying thanks in SDN.
    Thanks,
    Kumar.

  • How to fetch the data from Ecc to BI ?

    Hi everybody.
    Can anyone briefly explain with the screen shots > How to fetch the datasource from  RSA5 tcode in ECC to BI? How you replicate there? how the INFO PACKAGE , TRANSFORMATIONS, DTP , DSO, INFO CUBE was created? where we see the catalogs for this data.......THANKS IN ADVANCE

    Hi.
    You can follow the below steps to fetch the data from ECC to BI System.
    1>Connection should be there between ECC and BW System.
    2>Go to Tcode-RSA5 in ECC system and find your data source and then activate it.
    3> Go to Tcode-RSA6 in ECC system to check whether your DS is available..if it is there then its been activated.
    4>Go to Extract Checker tcode RSA3 and test the data and make sure data is correct.
    5>login to BW Side..go to tcode RSA1-->Choose your source system. ECC -> double click on it and you will move to Data source>Select your Application component ex, SD,FI ...>Right click and replicate the Datasouce> Now on refresh you can see the datasource in BI System.
    6>Install the related the Infoprovider .. cube or dso ..Connect the datasouurce and create Transformation.
    7> Now create infopackage and run it in ful & init mode then do the delta for the new records.
    Please refer the below link for more details on extraction.
    http://www.trinay.com/SAP%20BW%20Extraction.pdf
    Hope this helps.
    Br.
    Alok

  • Want to pull the Data from  ECC(Functionmodule/view/BAPI)  to Crystal repor

    HI Expert
    Want to pull the Data from  ECC(Functionmodule/view/BAPI)  to Crystal report
    Need Step by Step Procedure whatl all we come across while Generating report from SAPBI (ECC(Functionmodule/view/BAPI)
    to Crystal report what all integration and setting we need to do
    Thanks and Regards
    AhmedPasha

    Hello,
    Ingo Hilgefort has documented this step by step in this SCN article:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/403ddef9-52ca-2d10-9193-9ffd190219fe?QuickLink=index&overridelayout=true
    Starting on page 13, you can use the same steps - he selects data from a table join, you select FN instead for function module.
    You can also get to it via this link:
    http://www.sdn.sap.com/irj/sdn/business-objects-bi-for-sap?rid=/library/uuid/403ddef9-52ca-2d10-9193-9ffd190219fe
    Regards,
    Tammy

  • Is it possible to create a Webservice in BI which takes XML as an input and gives PDF as output with an additional requirement that Siebel expecting the XSD from BI to send data in the BI requested format

    Is it possible to create a Webservice in BI which takes XML as an input and gives PDF as output with an additional requirement that Siebel expecting the XSD from BI to send data in the BI requested format. Siebel wants to send the data as xml to BI but not sure of the BI capabilities on giving WSDL embedded with XSD (input is a hierarchical)

    Hi All,
    I am able to fulfil above requirement. Now I am stuck at below point. Need your help!
    Is there any way to UPDATE the XML file attached to a Data Definition (XML Publisher > Data Definition) using a standard package or procedure call or may be an API from backend? I am creating an XML dynamically and I want to attach it to its Data Definition programmatically using SQL.
    Please let me know if there is any oracle functionality to do this.
    If not, please let me know the standard directories on application/database server where the XML files attached to Data Definitions are stored.
    For eg, /$APPL_TOP/ar/1.0/sql or something.
    Regards,
    Swapnil K.

  • Installing Maverick on my Mac lost almost all of the calendar entries. They are still on my iPhone and new entries move freely to both devices via iCloud. How do I get the entries from my iPhone to iCloud without losing them from iPhone?

    Like many others after I installed Maverick I found that all the calendar history has been lost and most of the forward info has also been lost. Also in order to get calendar, contacts and notes to sync with the iPhone I have had to move to iCloud. Contacts and notes sync fine. new calendar entries sync ok. My iPhone has all the calendar entries that were on the Mac before I installed Maverick. So far iCloud has not overwritten them nor have they synced onto iCloud.
    How can I get all the entries from my iPhone onto iCloud, without losing the only copy of my calendar from my iPhone?
    Thanks Apple for deciding to take over my privacy. I do not want this data stored on a US based server. Fortunately Mail still syncs via my own email provider. I guess Apple will find a way to stop that soon too!

    Greetings Nefertiti72,
    It seems you are experiencing an issue with contact syncing and management. It seems you've removed an email account which contained a number of contacts that are not associated with your iCloud account. I have linked to a knowledge base article which provides more information about iCloud contacts syncing:
    Get help using iCloud Contacts - Apple Support
    Learn what to do if you’re having issues using iCloud Contacts. For example, you might make changes to Contacts that don't update across all of your devices.
    You may want to consider importing the contacts from the email account you removed. You can do it easily by following the steps in this article:
    iCloud: Import a vCard
    You can import an electronic business card, also called a vCard, into iCloud Contacts. If the vCard contains contact information for more than one person, each contact becomes a separate entry.
    In iCloud Contacts, choose Import vCard from the Action pop-up menu , which appears at the bottom of the All Contacts list or a list of group contacts
    Select a vCard to import.
    The contacts from the vCard are added to the All Contacts group in Contacts. You can add the contacts to any other group by dragging them to the desired group.
    Thank you for contributing to Apple Support Communities.
    Best,
    Bobby_D

  • Sending mail without attachment file

    Hi Sapfans:
    I would like to send mail without attachment file, just a notice,
    needing multiple receiver, can change the mail title,
    Which function shoud I use?
    I just found out sending mail with attachment file there,
    Thanks a lot!

    Hi Alchie,
    Please take a look at my example below. It sens e-mail to multiple recipients without attachments.
    FUNCTION-POOL zts0001                    MESSAGE-ID sv.
    INCLUDE lsvimdat                                . "general data decl.
    INCLUDE lzts0001t00                             . "view rel. data dcl.
    */ Author: Aris Hidalgo
    */ Created on: September 7, 2006
    */ Purpose of program: This will send out e-mails to specified users in
    */ custom table ZSHIPTO_EMAIL whenever records have been deleted or
    */ modified via the maintenance view of ZTS0001. The changes will also
    */ be reflected in custom table ZTS_STPGEOLOC.
    TABLES: zts_stpgeoloc,
            zshipto_email,
            kna1.
    FIELD-SYMBOLS: <fs_old_total> TYPE ANY.
    *       CLASS lcl_main DEFINITION ABSTRACT
    CLASS lcl_main DEFINITION ABSTRACT.
      PUBLIC SECTION.
        TYPES: BEGIN OF t_zts0001_old,
                kunnr    TYPE zts0001-kunnr,
                cdseq    TYPE zts0001-cdseq,
                zaddress TYPE zts0001-zaddress,
                zcperson TYPE zts0001-zcperson,
                zcnumber TYPE zts0001-zcnumber,
               END OF t_zts0001_old.
        TYPES: BEGIN OF t_zts0001_new,
                kunnr    TYPE zts0001-kunnr,
                cdseq    TYPE zts0001-cdseq,
                zaddress TYPE zts0001-zaddress,
                zcperson TYPE zts0001-zcperson,
                zcnumber TYPE zts0001-zcnumber,
               END OF t_zts0001_new.
        TYPES: BEGIN OF t_zts_stpgeoloc,
                kunnr    TYPE zts_stpgeoloc-kunnr,
                cdseq    TYPE zts_stpgeoloc-cdseq,
                zaddress TYPE zts_stpgeoloc-zaddress,
                zcperson TYPE zts_stpgeoloc-zcperson,
                zcnumber TYPE zts_stpgeoloc-zcnumber,
               END OF t_zts_stpgeoloc.
        TYPES: BEGIN OF t_del_entries,
                kunnr    TYPE zts0001-kunnr,
                cdseq    TYPE zts0001-cdseq,
                zaddress TYPE zts0001-zaddress,
                zcperson TYPE zts0001-zcperson,
                zcnumber TYPE zts0001-zcnumber,
                name1    TYPE kna1-name1,
               END OF t_del_entries.
        TYPES: BEGIN OF t_modified_entries,
                kunnr       TYPE zts0001-kunnr,
                cdseq       TYPE zts0001-cdseq,
                old_address TYPE zts0001-zaddress,
                new_address TYPE zts0001-zaddress,
                old_person  TYPE zts0001-zcperson,
                new_person  TYPE zts0001-zcperson,
                old_number  TYPE zts0001-zcnumber,
                new_number  TYPE zts0001-zcnumber,
                name1       TYPE kna1-name1,
               END OF t_modified_entries.
        DATA: gt_zts0001_old      TYPE STANDARD TABLE OF t_zts0001_old,
              gt_zts0001_new      TYPE HASHED   TABLE OF t_zts0001_new
                                           WITH UNIQUE KEY kunnr cdseq,
              gt_zts_stpgeoloc    TYPE STANDARD TABLE OF t_zts_stpgeoloc,
              gt_del_entries      TYPE STANDARD TABLE OF t_del_entries,
              gt_modified_entries TYPE STANDARD TABLE OF t_modified_entries,
              gt_zshipto_email    TYPE STANDARD TABLE OF zshipto_email,
              t_maildata          TYPE sodocchgi1,
              gt_mailtxt          TYPE STANDARD TABLE OF solisti1,
              gt_mailrec          TYPE STANDARD TABLE OF somlreci1.
        DATA: v_old_total     TYPE i,
              v_new_total     TYPE i,
              v_flag(1)       TYPE c,
              v_counter(1)    TYPE c,
              v_contents(255) TYPE c.
    ENDCLASS.
    *       CLASS lcl_get_old_recs DEFINITION
    CLASS lcl_get_old_recs DEFINITION INHERITING FROM lcl_main.
      PUBLIC SECTION.
        METHODS: export_old_recs.
    ENDCLASS.
    *       CLASS lcl_get_old_recs IMPLEMENTATION
    CLASS lcl_get_old_recs IMPLEMENTATION.
      METHOD export_old_recs.
        SELECT kunnr cdseq zaddress zcperson zcnumber
        FROM zts0001
        INTO TABLE gt_zts0001_old.
        v_old_total = sy-dbcnt.
        ASSIGN v_old_total TO <fs_old_total>.
        EXPORT gt_zts0001_old = gt_zts0001_old TO MEMORY ID 'AVH'.
        CLEAR gt_zts0001_old. REFRESH gt_zts0001_old.
      ENDMETHOD.
    ENDCLASS.
    *       CLASS lcl_old_and_new DEFINITION
    CLASS lcl_old_and_new DEFINITION INHERITING FROM lcl_main.
      PUBLIC SECTION.
        METHODS: compare_old_and_new.
    ENDCLASS.
    *       CLASS lcl_old_and_new IMPLEMENTATION
    CLASS lcl_old_and_new IMPLEMENTATION.
      METHOD compare_old_and_new.
        DATA: wa_del_entries    LIKE LINE OF gt_del_entries.
        FIELD-SYMBOLS: <fs_old> LIKE LINE OF gt_zts0001_old,
                       <fs_new> LIKE LINE OF gt_zts0001_new.
        SELECT kunnr cdseq zaddress zcperson zcnumber
        FROM zts0001
        INTO TABLE gt_zts0001_new.
        v_new_total = sy-dbcnt.
        IF v_new_total <> <fs_old_total>.
          IMPORT gt_zts0001_old = gt_zts0001_old FROM MEMORY ID 'AVH'.
          LOOP AT gt_zts0001_old ASSIGNING <fs_old>.
            READ TABLE gt_zts0001_new WITH TABLE KEY kunnr = <fs_old>-kunnr
                                                     cdseq = <fs_old>-cdseq
                                                     ASSIGNING <fs_new>.
            IF sy-subrc <> 0.
              MOVE-CORRESPONDING <fs_old> TO wa_del_entries.
              APPEND wa_del_entries TO gt_del_entries.
              CLEAR wa_del_entries.
              DELETE FROM zts_stpgeoloc
              WHERE kunnr = <fs_old>-kunnr
                AND cdseq = <fs_old>-cdseq.
            ENDIF.
          ENDLOOP.
          IF NOT gt_del_entries[] IS INITIAL.
            EXPORT gt_del_entries = gt_del_entries TO MEMORY ID 'DEL'.
          ENDIF.
          REFRESH gt_zts0001_old.
        ENDIF.
      ENDMETHOD.
    ENDCLASS.
    *       CLASS lcl_check_changes DEFINITION
    CLASS lcl_check_changes DEFINITION INHERITING FROM lcl_main.
      PUBLIC SECTION.
        METHODS: check_for_changes.
    ENDCLASS.
    *       CLASS lcl_check_changes IMPLEMENTATION
    CLASS lcl_check_changes IMPLEMENTATION.
      METHOD check_for_changes.
        TYPES: BEGIN OF t_zts_stpgeoloc,
                mandt    TYPE zts_stpgeoloc-mandt,
                kunnr    TYPE zts_stpgeoloc-kunnr,
                cdseq    TYPE zts_stpgeoloc-cdseq,
                zcgeoloc TYPE zts_stpgeoloc-zcgeoloc,
                zaddress TYPE zts_stpgeoloc-zaddress,
                zcperson TYPE zts_stpgeoloc-zcperson,
                zcnumber TYPE zts_stpgeoloc-zcnumber,
               END OF t_zts_stpgeoloc.
        DATA: wa_modified_entries LIKE LINE OF gt_modified_entries,
              lt_zts_stpgeoloc    TYPE HASHED TABLE OF t_zts_stpgeoloc
                                       WITH UNIQUE KEY kunnr cdseq,
              wa_zts_stpgeoloc    LIKE LINE OF lt_zts_stpgeoloc.
        FIELD-SYMBOLS: <fs_zts0001_old> LIKE LINE OF gt_zts0001_old,
                       <fs_zts0001_new> LIKE LINE OF gt_zts0001_new.
        IMPORT gt_zts0001_old = gt_zts0001_old FROM MEMORY ID 'AVH'.
        SELECT kunnr cdseq zcgeoloc zaddress zcperson zcnumber
        FROM zts_stpgeoloc
        INTO CORRESPONDING FIELDS OF TABLE lt_zts_stpgeoloc.
        SELECT kunnr cdseq zaddress zcperson zcnumber
        FROM zts0001
        INTO TABLE gt_zts0001_new.
        LOOP AT gt_zts0001_old ASSIGNING <fs_zts0001_old>.
          READ TABLE gt_zts0001_new WITH TABLE KEY
                                         kunnr = <fs_zts0001_old>-kunnr
                                         cdseq = <fs_zts0001_old>-cdseq
                                         ASSIGNING <fs_zts0001_new>.
          IF sy-subrc = 0.
            READ TABLE lt_zts_stpgeoloc WITH TABLE KEY
                                            kunnr = <fs_zts0001_new>-kunnr
                                            cdseq = <fs_zts0001_new>-cdseq
                                            INTO wa_zts_stpgeoloc.
            IF sy-subrc = 0.
              wa_zts_stpgeoloc-mandt    = sy-mandt.
              wa_zts_stpgeoloc-kunnr    = <fs_zts0001_new>-kunnr.
              wa_zts_stpgeoloc-cdseq    = <fs_zts0001_new>-cdseq.
              wa_zts_stpgeoloc-zcgeoloc = space.
              wa_zts_stpgeoloc-zaddress = <fs_zts0001_new>-zaddress.
              wa_zts_stpgeoloc-zcperson = <fs_zts0001_new>-zcperson.
              wa_zts_stpgeoloc-zcnumber = <fs_zts0001_new>-zcnumber.
              MODIFY zts_stpgeoloc FROM wa_zts_stpgeoloc.
              COMMIT WORK AND WAIT.
            ENDIF.
    *       address
            IF <fs_zts0001_old>-zaddress <> <fs_zts0001_new>-zaddress.
              MOVE: <fs_zts0001_new>-kunnr  TO wa_modified_entries-kunnr,
                    <fs_zts0001_new>-cdseq  TO wa_modified_entries-cdseq,
              <fs_zts0001_old>-zaddress TO wa_modified_entries-old_address,
              <fs_zts0001_new>-zaddress TO wa_modified_entries-new_address.
              v_flag = 1.
            ENDIF.
    *       person
            IF <fs_zts0001_old>-zcperson <> <fs_zts0001_new>-zcperson.
              MOVE: <fs_zts0001_new>-kunnr  TO wa_modified_entries-kunnr,
                    <fs_zts0001_new>-cdseq  TO wa_modified_entries-cdseq,
              <fs_zts0001_old>-zcperson TO wa_modified_entries-old_person,
              <fs_zts0001_new>-zcperson TO wa_modified_entries-new_person.
              v_flag = 1.
            ENDIF.
    *       number
            IF <fs_zts0001_old>-zcnumber <> <fs_zts0001_new>-zcnumber.
              MOVE: <fs_zts0001_new>-kunnr  TO wa_modified_entries-kunnr,
                    <fs_zts0001_new>-cdseq  TO wa_modified_entries-cdseq,
              <fs_zts0001_old>-zcnumber TO wa_modified_entries-old_number,
              <fs_zts0001_new>-zcnumber TO wa_modified_entries-new_number.
              v_flag = 1.
            ENDIF.
          ENDIF.
          IF v_flag = 1.
            APPEND wa_modified_entries TO gt_modified_entries.
            CLEAR wa_modified_entries.
          ENDIF.
    *     update ZTS_STPGEOLOC based from the modified records in ZTS0001
          IF v_flag = 1.
            CLEAR v_flag.
            UPDATE zts_stpgeoloc SET zaddress  = <fs_zts0001_new>-zaddress
                                      zcperson = <fs_zts0001_new>-zcperson
                                      zcnumber = <fs_zts0001_new>-zcnumber
                                   WHERE kunnr = <fs_zts0001_new>-kunnr
                                     AND cdseq = <fs_zts0001_new>-cdseq.
          ENDIF.
        ENDLOOP.
        IF NOT gt_modified_entries[] IS INITIAL.
        EXPORT gt_modified_entries = gt_modified_entries TO MEMORY ID 'MOD'
        ENDIF.
      ENDMETHOD.
    ENDCLASS.
    *       CLASS lcl_messages DEFINITION
    CLASS lcl_messages DEFINITION INHERITING FROM lcl_main.
      PUBLIC SECTION.
        METHODS: create_message.
    ENDCLASS.
    *       CLASS lcl_messages IMPLEMENTATION
    CLASS lcl_messages IMPLEMENTATION.
      METHOD create_message.
        FIELD-SYMBOLS: <fs_email> LIKE LINE OF gt_zshipto_email,
                       <fs_del>   LIKE LINE OF gt_del_entries,
                       <fs_mod>   LIKE LINE OF gt_modified_entries.
        DATA: wa_mailtxt LIKE LINE OF gt_mailtxt,
              wa_mailrec LIKE LINE OF gt_mailrec.
        IMPORT gt_modified_entries = gt_modified_entries
                                     FROM MEMORY ID 'MOD'.
        IMPORT gt_del_entries = gt_del_entries FROM MEMORY ID 'DEL'.
        SELECT * FROM zshipto_email INTO TABLE gt_zshipto_email
         WHERE zevent = '2'.
        IF sy-dbcnt > 0.
    */    routine for records that were deleted
          IF NOT gt_del_entries[] IS INITIAL.
            t_maildata-obj_name  = 'Record Deleted in table ZTS0001'.
            t_maildata-obj_descr = 'Record Deleted in table ZTS0001'.
            t_maildata-obj_langu = sy-langu.
            CLEAR: v_flag, v_counter.
            LOOP AT gt_zshipto_email ASSIGNING <fs_email>.
              LOOP AT gt_del_entries ASSIGNING <fs_del>.
    *           get name of dealer
                SELECT SINGLE name1 FROM kna1
                INTO <fs_del>-name1
                WHERE kunnr = <fs_del>-kunnr.
                IF v_counter IS INITIAL.
                 CONCATENATE: 'FYI: The ff record/s were deleted in tables'
                               'ZTS0001 and ZTS_STPGEOLOC by user' sy-uname
                                                          INTO v_contents
                                                         SEPARATED BY space.
                  wa_mailtxt-line =  v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                ENDIF.
                APPEND wa_mailtxt TO gt_mailtxt. "Extra space for message
                CONCATENATE: 'Dealer :' <fs_del>-kunnr '-'
                             <fs_del>-name1
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                CONCATENATE: 'Ship-To:' <fs_del>-cdseq
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                CONCATENATE: 'Address:' <fs_del>-zaddress
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                CONCATENATE: 'Contact person:' <fs_del>-zcperson
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                CONCATENATE: 'Contact number:' <fs_del>-zcnumber
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                v_counter = 1.
              ENDLOOP.
              wa_mailrec-receiver = <fs_email>-zemail.
              wa_mailrec-rec_type  = 'U'.
              APPEND wa_mailrec TO gt_mailrec.
              CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
                   EXPORTING
                        document_data              = t_maildata
                        document_type              = 'RAW'
                        put_in_outbox              = 'X'
    *                  commit_work                = 'X'
                   TABLES
    *                  object_header              = mailtxt
                        object_content             = gt_mailtxt
                        receivers                  = gt_mailrec
                   EXCEPTIONS
                        too_many_receivers         = 1
                        document_not_sent          = 2
                        document_type_not_exist    = 3
                        operation_no_authorization = 4
                        parameter_error            = 5
                        x_error                    = 6
                        enqueue_error              = 7
                        OTHERS                     = 8.
              IF sy-subrc <> 0.
                MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
              ENDIF.
              CLEAR:    wa_mailtxt, wa_mailrec.
              REFRESH:  gt_mailtxt, gt_mailrec.
            ENDLOOP.
          ENDIF.
          CLEAR wa_mailtxt.
          REFRESH gt_mailtxt.
    */    routine for records that were modified
          IF NOT gt_modified_entries[] IS INITIAL.
            CLEAR t_maildata.
            t_maildata-obj_name  = 'Record changed in table ZTS0001'.
            t_maildata-obj_descr = 'Record changed in table ZTS0001'.
            t_maildata-obj_langu = sy-langu.
            CLEAR v_counter.
            LOOP AT gt_zshipto_email ASSIGNING <fs_email>.
              CONCATENATE: 'FYI: The ff records were changed in tables'
                           'ZTS0001 and ZTS_STPGEOLOC by user' sy-uname
                           INTO v_contents
                           SEPARATED BY space.
              wa_mailtxt-line =  v_contents.
              APPEND wa_mailtxt TO gt_mailtxt.
              CLEAR: wa_mailtxt, v_contents.
              LOOP AT gt_modified_entries ASSIGNING <fs_mod>.
    *          get name of dealer
                SELECT SINGLE name1 FROM kna1
                INTO <fs_mod>-name1
                WHERE kunnr = <fs_mod>-kunnr.
                APPEND wa_mailtxt TO gt_mailtxt.
                CONCATENATE: 'Dealer :' <fs_mod>-kunnr '-'
                             <fs_mod>-name1
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                CONCATENATE: 'Ship-To:' <fs_mod>-cdseq
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
    *           address
                IF NOT <fs_mod>-old_address IS INITIAL AND
                   NOT <fs_mod>-new_address IS INITIAL.
                  CONCATENATE: 'Address from:' <fs_mod>-old_address
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                  CONCATENATE: 'Address to  :' <fs_mod>-new_address
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                ENDIF.
    *           person
                IF NOT <fs_mod>-old_person IS INITIAL AND
                       NOT <fs_mod>-new_person IS INITIAL.
                  CONCATENATE: 'Contact person from:'
                               <fs_mod>-old_person
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                  CONCATENATE: 'Contact person to  :'
                               <fs_mod>-new_person
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                ENDIF.
    *           number
                IF NOT <fs_mod>-old_number IS INITIAL AND
                       NOT <fs_mod>-new_number IS INITIAL.
                  CONCATENATE: 'Contact number from:'
                               <fs_mod>-old_number
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                  CONCATENATE: 'Contact number to  :'
                               <fs_mod>-new_number
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                ENDIF.
              ENDLOOP.
              wa_mailrec-receiver = <fs_email>-zemail.
              wa_mailrec-rec_type  = 'U'.
              APPEND wa_mailrec TO gt_mailrec.
              CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
                   EXPORTING
                        document_data              = t_maildata
                        document_type              = 'RAW'
                        put_in_outbox              = 'X'
    *                  commit_work                = 'X'
                   TABLES
    *                  object_header              = mailtxt
                        object_content             = gt_mailtxt
                        receivers                  = gt_mailrec
                   EXCEPTIONS
                        too_many_receivers         = 1
                        document_not_sent          = 2
                        document_type_not_exist    = 3
                        operation_no_authorization = 4
                        parameter_error            = 5
                        x_error                    = 6
                        enqueue_error              = 7
                        OTHERS                     = 8.
              IF sy-subrc <> 0.
                MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
              ENDIF.
              CLEAR:    wa_mailtxt, wa_mailrec.
              REFRESH:  gt_mailtxt, gt_mailrec.
            ENDLOOP.
          ENDIF.
        ENDIF.
        FREE MEMORY ID 'AVH'.
        FREE MEMORY ID 'DEL'.
        FREE MEMORY ID 'MOD'.
      ENDMETHOD.
    ENDCLASS.
    START-OF-SELECTION.
    *       FORM get_orig_contents_of_zts0001                             *
    */ before saving the data in the database
    FORM get_orig_contents_of_zts0001.
      DATA: get_old_recs TYPE REF TO lcl_get_old_recs.
      CREATE OBJECT get_old_recs.
      CALL METHOD get_old_recs->export_old_recs.
    ENDFORM.
    *       FORM get_rev_contents_of_zts0001                              *
    */ after saving the data in the database
    FORM get_rev_contents_of_zts0001.
      DATA: old_and_new   TYPE REF TO lcl_old_and_new,
            check_changes TYPE REF TO lcl_check_changes,
            messages      TYPE REF TO lcl_messages.
      CREATE OBJECT: old_and_new, check_changes, messages.
      CALL METHOD old_and_new->compare_old_and_new.
      CALL METHOD check_changes->check_for_changes.
      CALL METHOD messages->create_message.
    ENDFORM.
    *       FORM move_latest_date_and_user                                *
    FORM move_latest_date_and_user.
      zts0001-zcreated_by   = sy-uname.
      zts0001-zchanged_date = sy-datum.
    ENDFORM.
    Hope it helps...
    P.S. Please award points if it helps...

  • TS3276 I am no longer receiving my mail.  All my settings are the same and I can send mail.  The connection doctor says I am connected, but I am no longer receiving anything.  If you can help, I would appreciate it. Keep it simple, please.

    I am no longer receiving my mail.  All my settings are the same and I can send mail.  The connection doctor says I am connected, but I am no longer receiving anything.  If you can help, I would appreciate it. Keep it simple, please.

  • Hi, I am using USB 8476s to communicat​e to a slave unit in LIN network using LabVIEW7.1​. Can anyone tell me how i can send a header file plus 1 byte of data to the slave in a LIN network. or how do i use ldf file. i want to read responses from the slave

    Hi,   I am using USB 8476s to communicate to a slave unit in LIN network. Can anyone tell me how i can send a header frame plus 1 byte of data to the slave in a LIN network. or how do I communictae with slave using LabVIEW7.1.
    I want to read responses from the slave. When i tried with labview exapmle programs or even using MAX also, while doing some switching action in my slave, i am getting response as Device inactive with timestamp but there is no data format. 
    And I have Lin Description File. Can you suggest me how to use ldf file.
    I am at customer place and It would be great help from you if you can suggest me at the earliest. Thank you

    you may use the LDF Starter Kit to use LDF informations in your application
    http://joule.ni.com/nidu/cds/view/p/id/665/lang/en

  • Proxy error - Invalid response from upstream server

    We are using Oracle Application Express Listener for requests between a Web browser and Oracle Application Express engine.
    Tomcat and Java version on the web server (Windows 2008):
    TomCat v 6.0
    Java version "1.6.0_25"
    Application Express version - 4.0.2.00.07
    Access to APEX site happens via Reverse Proxy.
    One of the reports is giving following error message from past few days and there are no log entries in Tomcat server.
    Proxy Error+
    The proxy server received an invalid response from an upstream server.
    The proxy server could not handle the request GET /appname/f.
    Reason: Error reading from remote server
    What could be possible reasons for this proxy error? Please help with the possible solutions to this problem.
    I have tried restarting Tomcat service, used different browsers, cleared browser cache but for no avail. Error is only on one particular report page.

    Hi,
    Have you tried to access the page directly via tomcat without the reverse proxy? This way you can determine if the problem arises at the reverse proxy or tomcat.
    You say it happens only on 1 specific report page, this makes me think there is something with that page and not with the reverse proxy or tomcat. Arises the error when you access the page directly or via a menu option? Maybe the menu link is not correct otherwise i suggest that you take a good look at that page.
    Kees Vlek.

  • Error in code page mapping for Source system whil loading the data from ECC

    HI Gurus,
    I am working in a implementation project, Recently our BI sand box is up, when i am doing my load from 0comp_code_attr it is throwing an error "Error in code page mapping for source system"(This is my first load from ECC).
    In details tab it is showing as the data is sent from the source system but the data is not reaching to the PSA.
    Please let me know if there are any settings needs to be made.
    Many thanks in Advance
    Jagadeesh

    HI V,
    Thanks for your quick response. I did it but it didn't resolve the issue. since the system id which i am having is 3 digits(LEC) but there it is taking only 2 digits, so i clicked on the button called Propose system ids, it has praposed LE, but the issue is stil there.
    Do we need to do any settings in LBWE??
    Thanks and Regards
    Jagadeesh

  • File to Proxy scenario message failed in ECC with staus SYSFAIL

    Hi All,
    We are working on File to proxy scenario,  PI  able to send message successfully to ECC, but  In ECC , message got  stuck in queues with the status 'SYSFAIL',
    when I read the error message it is showing Address Invalid.
    when I run the LUW, it is giving 'Function module does not exist or EXCEPTION 'raised message.
    I'm using PI 7.1 EHP1 , ECC 6.0, can anyone suggest the trouble shooting guidelines for this issue?
    Thanks,
    Venu.

    when I run the LUW, it is giving 'Function module does not exist or EXCEPTION 'raised message.
    in your code, there seems to be an invalid statement.
    check the proxy code.

Maybe you are looking for

  • Why does firefox corrupt my bookmarks every time I load it on a different computer?

    I found that a number of people have asked how to recover their bookmarks, but my question is why do I have to do it every day? I work on three different computers, and I love Firefox and have it as my default browser on each one. However, I had to t

  • Signed applet working in Netscape 6 but not in IE 5.5

    I have an applet that reads a file from a server and tries to write it to a client machine. To this i self signed the jar file containing the applet using the keytool and jarsigner. So now I had a self signed applet. I tried to run this in IE. It gav

  • Use iPhone 6 as your beard trimmer.

    Initially I thought people are just making up this .But when I experienced it myself then I am realizing it that it's happening in real. I bought this so called premium luxury device by paying a huge amount of money as I bought an unlocked contract f

  • Needed doc for PO creation

    hi all, can anyone give me steps for creating PO or screen shots. i need it urgently. i am new to this. i will award ur efforts. thanks sanjeev

  • How to Fetch Customer information at the time of Order Import- Urgent

    We have a requirement to Interface data from 2 different systems. Booking and Order Information data will come from ----Source 1 Customer information will come from -----Source 2 The only Primary key that will be common is the an attribute like 'Cust