Commit work issue inside userexit while triggering sender proxy

Dear All,
We have a situation where in, a sender proxy is triggered inside the Userexit of a transaction. When we try to execute the proxy in a test program, the XML message is not reaching XI unless a commit work statement is put immediately after Proxy call method. But this solution cannot be incorporated inside the Userexit as that will commit the whole transaction. Also there are number of other methods triggered inside the Userexit after the Proxy is triggered.
Kindly respond to the below queries:
1.  Is there a Standard commit after a userexit is triggered? if yes, shall that solve the problem?
2.  Is there any solution other than commit work statement?
Thanks in Advance,
Zafar Ali

Hi,
Any userexit is part of a standard SAP program, every Standard SAP program esp any transaction like VA01, MIRO, ME21n etc will certainly have a commit work at the end of the transaction. or there will be a implicit commit work after a dialog step.
So when that commit work is executed, the proxy call wil be sent for sure.
So it will work if you don't put commit work in the userexit immediately after the proxy call.
regards,
Advait.

Similar Messages

  • BDC commit work issue.

    Hi all,
    Im facing a issue in BDC:
    In a loop there is a select query called and if sy-subrc = 0 the call transaction using mode N is called in the next step.
    first time if the sy-subrc is ne 0 then call transaction is done which updates( considered as new entry )
    the table used in the select query.
    when the loop executes the second time the sy-subrc is still 4 instead of 0( previous data is not updated in DB ).
    So after all the execution only the last record exists in the transaction,
    that is the table control index is always 1 due to the select query failure.
    Here the problem is when using mode N, when mode A is used its working fine.
    The data is not getting updated in db in first loop cycle, so the select query in second loop cycle fails.
    The select query gets executed for the same material no's.
    I have also tried with explicit commit and synchrounous update is used
    Thanks,
    Keshav

    Hi Suhas,
    This applies when we open a cursor for select, use fetch to get the data. Ater the fetch if we commit, then it closes all the open cursors. So next fetch on the previously opened cursor will lead to dump.
    Perfect example could be.
    SELECT......
    Do processing.
    COMMIT WORK.
    ENDSELECT.
    Keshav,
    I beleive you are not using SELECT ENDSELECT in your case. If it is SELECT SIGLE/SELECT INTO TABLE,  OPEN, FETCH and CLOSE CURSOR operations happens at the back end during the select query execution. ( We can see ST05 trace for this). So as per my understanding COMMIT after the CALL TRANSACTION shouldn't cause any problem.
    Please correct if i am wrong any where.
    Thanks,
    Vinod.

  • BDC issues in FB60 while posting through proxy

    Hi All,
    I have created a BDC for FB 60 & FB65. Now, the requirement is that Data will come from XI as inbound proxy and the code will get executed. XI sends a separate file for each record. That is if 10 documents are to be created from FB 60 , then XI will send 10 separate files at the same time to ECC. This particular design is creating the issue.
    What happens is 10 files are getting executed at the same time in ECC and few records are getting created properly and few are failing. The error status shows that it is holding a wrong company code. Probably the reason for this failure is the company code that needs to be set everytime in FB60 or 65 .  As we know these are two tcodes where once we set the Co. Code it holds the value for that logon .  I have written the code in such a way that everytime the co. code will be reset but since all the files are getting executed right at the same moment, somehow there is some clash.
    If I send the records as a single file from XI, it works out perfectly. But the need from Xi is to send them in separate files and at the same time.
    Please suggest me is there any way to handle this issue.

    Hi
    Try making your Inbound interface in XI as Synchronous so that you will receive files one by one. In case of any error return the reposne back to XI so that you know which records failed. This seems a good option for you.
    Else You can also make your proxy behave EOIO. Refer below link. But error handling will be an issue. If any message fails youe queue will be stucked till somebody clears that one.
    http://help.sap.com/saphelp_nw04/helpdata/en/65/40c9a4a1fa476288ac61b5fcc6bbde/frameset.htm
    Regards
    Vinit

  • SO_OBJECT_SEND function does not work without an explicit COMMIT WORK

    Hi,
    We have used this Function module (SO_OBJECT_SEND) inside a custom BAdI Implementation , which sends e-mails when some of the fields inside an infotype are modified using transaction PA30 (HR-Maintain master data).
    After the system was upgraded to BASIS version 7.0 , as per SAP note 489286 ,the calling program of the send interface must execute an explicit COMMIT WORK.But inside an update , COMMIT WORK should not be executed.
    So we did not execute explicit COMMIT WORK  inside BAdI.
    But after this upgrade, the emails are not sent out of R/3 , and the status message 672 (Still no entry in queue) is displayed on the program 'Administration of External Send Processes' - Transaction SOST.
    Can anyone suggest a solution , if you have used this Function module (SO_OBJECT_SEND) inside a BAdI during update?
    Thanks,
    Kiran

    Hi Kiran,
    create one remote enable function module, write your required logic in this remote enableD function module.
    Now call this function module in Badi as below,
    eg. suppose Remote enable function module created is 'ztest'.
    then,
    In BadI write logic,
    CALL FUNCTION 'ZTEST' SEPARATE TASK 'T'
    EXPORTING ......
    IMPORTING.......
    also inside this function module
    call function 'SO_OBJECT_SEND' separate task 'T'
    exporting....
    importing....
    committwork.
    after doing this what will happen is your mail logic will be in saperate session, so your current program will pass the data and execution of this RFC and Program having BADI, will be in two saperate sessions, so although you are using committ work standred program will not get affected.
    This will improve performance too...:)
    Please Give points if it is going to help you.

  • BCS Email and Commit Work

    I created a small email class that is basically a wrapper around the BCS document classes.  Everything works fine when used in normal programs.  Then, I tried to update some code that was behind a smartform for our order confirmations.  When I tried to test this, I got a dump because of the Commit Work after the send.  The error I got was that I was doing a commit work during an update task, which SAP doesn't like.  Apparently the commit work is needed for the BCS send method.  Does anyone have any ideas I can get around this?  Any idea would be appreciated.
    Thanks in advance,
    Curtis

    What i understand is that your code is getting executed in an Update Work Process & as you've guessed SAP doesn't allow COMMIT WORK to be used inside an Update Task.
    What Gaurav is trying to suggest is may be there are some Implicit Commits later on which might trigger your email.
    Without further inputs it's difficult to analyse.
    BR,
    Suhas

  • COMMIT WORK AND WAIT

    Message opened on behalf of colleague:
    I just have a quick inquiry regarding COMMIT WORK AND WAIT, I
    understand that this method performs the following:
    "This form specifies synchronous processing. The COMMIT statement waits
    for the end of processing. Control returns to your program after all
    high priority (V1) function modules have run successfully."
    "The AND WAIT form is convenient for switching old programs to
    synchronous processing without having to re-write the code.
    Functionally, using AND WAIT for update-task updates is just the same
    as dialog-task updates with PERFORM ON COMMIT."
    It says that before doing the actual commit it will wait for the end of
    processing for all related updates against the transaction. However
    does it also wait for any "user exits" to finish or does it go ahead
    and performs the commit and updates then the user exit happens?
    Thanks.

    Hi User exit is part of the  transaction where you call a subroutine, or another function module or BADI method. So in my opinion it will wait. Unless there is a explicit commit work coded inside the user exit.
    regards,
    Advait

  • Problem is triggering ABAP proxy

    Hi All,
            My scenario is to create a sales order in R/3 system using ABAP proxy and to get the Sales Order number as the response from the synchornous BAPI.
    While triggering the proxy, I'm gettin the error as follows,
    Please help me out in clearing this issue.
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIProxy</SAP:Category>
      <SAP:Code area<b>="ABAP">SERIALIZE_APPLICATION_DATA</b></SAP:Code>
      <SAP:P1>Response Message</SAP:P1>
      <SAP:P2>CX_XSLT_RUNTIME_ERROR</SAP:P2>
      <SAP:P3>: 0000000000</SAP:P3>
      <SAP:P4>Error Text: No valid XSLT program supplied Kernel ErrorId: CX_XSLT_RUNTIME_ERROR</SAP:P4>
      <SAP:AdditionalText>Error when handling Response Message; XSLT error: CX_XSLT_RUNTIME_ERROR: XSLT program and source line: : 0000000000; Error Text: No valid XSLT program supplied Kernel ErrorId: CX_XSLT_RUNTIME_ERROR</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Regards,
    Dhana

    Hi
    Go thru SAP Note:<b>546048</b>
    It says that application data is incorrect tht's why can't post the message.
    So plz chk ur ABAP Server Proxy code.
    Regards
    Arpit Seth

  • Need help: Sending mail to internet address without commit work statement

    Dear Experts,
            I have a problem in sending mails from sap to internet address.Am using the function module
    SO_NEW_DOCUMENT_SEND_API1 and am passing parameters like,
    CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
         EXPORTING
              DOCUMENT_TYPE  = 'RAW'
              DOCUMENT_DATA  = DOC_CHNG
              PUT_IN_OUTBOX  = 'X'
         TABLES
              OBJECT_CONTENT = OBJCONT
              RECEIVERS      = RECLIST
         EXCEPTIONS
              TOO_MANY_RECEIVERS         = 1
              DOCUMENT_NOT_SENT          = 2
              OPERATION_NO_AUTHORIZATION = 4
              OTHERS                     = 99.
    submit rsconn01 with mode = 'INT'
                        with output = 'X'
                        and return.
    My problem here is,with the commit work statement after FM, the mail is triggering correctly.but if, am not using the commit work statement,at the very first time of execution mail is not triggering, and the second time of execution first mail is triggering like wise it is going.The status of the message is waiting in queue.
    i have refresh receiver's list also.I want to use this concept in badi.So anyone can pls help me,how to send a mail without commit work statement.
    Thanks in advance.

    There is a parameter Commit_Work pass it as 'X'
    <code>
    CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
    EXPORTING
    DOCUMENT_TYPE = 'RAW'
    DOCUMENT_DATA = DOC_CHNG
    PUT_IN_OUTBOX = 'X'
    commit_work = 'X'
    TABLES
    OBJECT_CONTENT = OBJCONT
    RECEIVERS = RECLIST
    EXCEPTIONS
    TOO_MANY_RECEIVERS = 1
    DOCUMENT_NOT_SENT = 2
    OPERATION_NO_AUTHORIZATION = 4
    OTHERS = 99.
    submit rsconn01 with mode = 'INT'
    with output = 'X'
    and return.
    </code>
    Edited by: Saravanan Ramasamy on Nov 11, 2009 1:31 PM

  • I have a net gear wireless router and a APE working great inside the house, but the wireless signal is weak in the backyard, can I get a net gear extender for the back and it will also send my music to the airport express?

    I have a net gear wireless router and a APE working great inside the house, but the wireless signal is weak in the backyard, can I get a net gear extender for the back yard and it will boost our wo
    Ireless signal and also send my music to the airport express? Or does the airport express work as a stand alone hub?

    Trust me when I say this coming from 20 years of experience.
    Get a powered external drive, format it 1 Partition Option: GUID and OS X Extended Journed as the format in Disk Utility.
    Download and install Carbon Copy Cloner, clone internal drive to external drive.
    Set a schedule to remind you to do it at least once a week, keep it near your charger.
    When you plug your charger in, do plug the clone and power the machine up, set the display to sleep only,
    CCC will do the rest.
    If you want to boot from it, hold the option/alt and select it Startup Manager.
    I've seen many TimeMachine and TimeCapsule nightmares and so far haven't seen a problem from anyone using a bootable clone.
    It's simple, it's easy, it's more reliable and more powerful than what Apple does and it only takes plugging in a extra cable.
    Make as many clones as you want, keep them time seperated, off site etc. etc.
    Cables don't have network issues, clones can be verified in seconds merely by booting from them.
    Clones protect your productivity, your up in seconds on a clone despite even the hard drive dying.
    Software problem? No sweat, boot of the clone and reverse clone your problems away.
    If you want to fuss and muss with half implemented TimeMachine and TimeCapsule network headaches then prepare to suffer.
    I don't like to suffer, I bought a Mac not to suffer, but it appears you do with TimeMachine and TimeCapsule.
    Most commonly used backup methods

  • I am a new mac user and have a 15 macbook pro (non retina display).  I am having an issue with safari "freezing" ...it will work fine for a while and then I will open a new tab and attempt a website that won't load and after that it seems no website will.

    So yes like mentioned above...i am a new mac user...have only had it about four days and have had a windows based system always before this.  The issue I am having is that I will be in safari and it will work perfect for a while and then i will open a new tab and attempt another website and it will either be extremely slow or will give the error that it cannot connect to the server, however, when i run diagnostics my internet is fine.  The only solution i have found is to reboot and geeksquad has been unable to replicate the problem while connected to my computer to try to do so.  Does anyone have any suggestions or anyone else with this problem?  If you have a "fix" please try layman's terms because again I have no idea about macs haha.  Thanks, 

    So yes like mentioned above...i am a new mac user...have only had it about four days and have had a windows based system always before this.  The issue I am having is that I will be in safari and it will work perfect for a while and then i will open a new tab and attempt another website and it will either be extremely slow or will give the error that it cannot connect to the server, however, when i run diagnostics my internet is fine.  The only solution i have found is to reboot and geeksquad has been unable to replicate the problem while connected to my computer to try to do so.  Does anyone have any suggestions or anyone else with this problem?  If you have a "fix" please try layman's terms because again I have no idea about macs haha.  Thanks, 

  • Why I was billed for inside wire while the work was done outside on the street pole

    Did anyone have similar unpleasant experience with Verison yet?
    I had the service for about 3 months. My phone had static sound. I could not use it. I called Verison. They did the test and realised that the problem could not be resolved from their office so we agreed that a technician would come to determine source of the problem and fix it.
     I agreed that I would cover technician cost of $90 if the problem was caused by me.
    The technician came a day earlier. He did not need to enter my house at all. He fixed the problem and left the message that he fixed the issue at the pole on the street. The following month Verison sent me a bill  with $91 extra charge for technician's work as "inside wire".
     I did not agree with the charge. I called Verison three times. Once the service person dropped my call after talking to him about 10mins. The other two times I explained the issue and I was put on hold for a long time. On one hand, the customer service people seemed to be friendly but each time their explanation was that they have to obay what the technician wrote on the bill and that was that I should be charged for his work.
    I tried to talk to someone from Verison to explain the issue but when I ased for a manger,I was directed to sales manager who did not know much about customer issues!!
    I paid the bill which was due but I did not pay $91 extra that verison charges me for the technician's work. I received already 2 phone calls that my bill is overdue.
    I do not know whom to talk to from Verison or how to handle this situation?
    I am looking for help on what to do in this case.
    Is it planned that Verison charges his customers for technician's work that should be covered by the company.??
    Did they make a mistake?? but then why they do not admit to that?
    Why am I spending my valuable time on this issue???
    IF YOU HAVE ANY EXPERIENCE WITH SIMILAR SITUATIONS, PLEASE SHARE IT AND  ADVISE WHAT TO DO.
    Thank you for all help I get from you.

    Your issue has been escalated to a Verizon agent. Please go to your profile page for the forum, and look in the middle, right at the top where you will find an area titled "My Support Cases". You can reach your profile page by clicking on your name beside your post, or at the top left of this page underneath the title of the board. you will find a link to the private board where you and the agent may exchange information.
    To ensure you know when they have responded to you, at the top of your support case there is a drop down menu for support case options. Open that and choose "subscribe".This should be checked on a frequent basis as the agent may be waiting for information from you before they can proceed with any actions. Please keep all correspondence regarding your issue in the private support portal.
    If a forum member gives an answer you like, give them the Kudos they deserve. If a member gives you the answer to your question, mark the answer that solved your issue as the accepted solution.

  • BCS: Performance Issue - Most of the time is spent doing commit work.

    Hello,
    We are experiencing performance issues with our BI server. This performance issue can been seen during our BCS runs. Our DBA has indicated that he sees a very high percentage of time time is spent doing "commit work".
    Curretly, we are running BI7 nw2004s, Basis 700, support pack 14.
    Anyone else experience this? As the BCS run is mainly stanard SAP code, I was wondering if there may be some snotes that correct this?
    Thank you for any help you could provide us.

    If it is related to SEM-BCS and new EHP releases, then there are still big problems with the monitor and tasks status management (meaning problems with performance). Is it the case? If yes, then you'd better  look for already released notes reg this and formulate your own OSSs if you don't find anything relevant.

  • Issue with Commit Work and Wait.

    Hi All,
    None of the programs are working in my system which are calling BAPI BAPI_TRANSACTION_COMMIT.
    On COMMIT WORK AND WAIT statement, the process is going into indefinite loop. Everything was fine till last Thursday and there are no updates or patch level change or notes applied in the system.
    Please advice.

    <div style="text-align:left">We tried everything but still the issue is there.</div>
    Normally it's much easier to get help if you try to be as detailed as possible when explaining the problem and what exactly you have tried. No offense, but tried everything most likely translates into almost everything...
    Some information/checks I'd be looking for:
    <ul style="list-style:square!important">
    <li>What functions are (or coding is) involved? Are they all standard or custom?</li>
    <li>Have you tried update debugging and/or the usual traces (runtime analysis, SQL trace, etc.)?</li>
    <li>What do you see in the process overview?</li>
    <li>What about system log, developer trace, database logs/alerts, etc.?</li>
    </ul>
    Obviously my list is much too short and incomplete - yours must be longer. If you share your results (including your exchange with SAP) I suspect you have a better chance (though of course no guarantee) of somebody providing a valuable clue.
    Not sure if it's just me, but the part that sounds so odd and suspicious is that you only mention commits via BAPI_TRANSACTION_COMMIT. As this is just a wrapper around a COMMIT WORK I'm tempted to think it's the functionality that's invoked before (i.e. linked to the registered update functions/modules). Without any additional knowledge though, my first shot was for general update problems (which you ruled out).

  • Exception triggering Commit work.

    Hi ,
    I need to update a seris of tables and they must be transactional, i.e. all the data must be updated or not.
    I have the following code.
    *Fetch and Update Reference Profile Data
      me->process_rp_data( ).
    *Fetch and Update Request Data
      me->process_req_data( ).
    *Fetch and Update Collateral Data
      me->process_coll_data( ).
    *Fetch and Update Project Data
      me->process_project_data( ).
      IF i_update_flag IS INITIAL.
        ROLLBACK WORK.
      ELSE.
        COMMIT WORK.
      ENDIF.
    in all the above four methods there are update statements like below
      TRY .
          UPDATE (i_table_name) SET bp_number = sur_bp WHERE (lt_dyn_cond).
          IF sy-subrc NE 0.
            me->raise_exception( EXPORTING i_text_id    = zcx_rms_dedupe_process_excptns=>error_in_update
                                           i_bp_num     = vic_bp
                                           i_guid       = i_guid
                                           i_table_name = i_table_name
                                           i_process    = i_process ).
          ENDIF.
        CATCH cx_sy_dynamic_osql_error.
          me->raise_exception( EXPORTING i_text_id    = zcx_rms_dedupe_process_excptns=>error_in_update
                                         i_bp_num     = vic_bp
                                         i_guid       = i_guid
                                         i_table_name = i_table_name
                                         i_process    = i_process ).
      ENDTRY.
    If in the third method, if the exception cx_sy_dynamic_osql_error is raised all the data that is updated in the first two methods are commited. Can any one help how to overcome this situtation. I do not want the data to be committed
    Regards

    Hi,
    My main question is that the why Exception I am raising is triggering a database commit. I am not even displaing an information message. I am simply outputing a write statement
    [DataBase Commit|http://help.sap.com/saphelp_nw70/helpdata/en/41/7af4bca79e11d1950f0000e82de14a/content.htm]
    Gives more information on Database commit but it does not mention this case. So wanted to know my mistake.

  • Issue on Commit work

    Hi Friends ,
    I am calling function module  where I have created Background Job and Submitted it . In Submit call I am updating the database table . In a LOOP am updating service entry sheets of one Purchase order . (1 PO consists of More than 1 Service entry sheets)
    Here I am able to update only First SES when it is processing the Second Service Entry sheet the PO get Locked.
    I have used the COMMIT and WAIT command after the updating the Service entry sheet.
    Here I am getting PO LOCK error by Same USER.
    Can u suggest me in this Scenario.
    Thanks in advance.
    Jagadeshwar.G

    Thanks for information .
    Even i have coded  as follows .
    ITAB records as follows
    S1 - Servcice Sheet
    P1 PO
    X - other flds
    S1   P1  X   X  X
    S2   P1  X  X   X
    S3   p1 X  X    X
    Loop at ITAB to WA.
    UPDATE  <ZTABLE> with .......
    commit work and wait.
    ENDLOOP.
    Error Message  : PO is already in process by XXXX.
    - This program runs in Background .My problem is  I can't test this prg in dev .
    Could you please explain the situation u faced so that i can validate it . Thx in advance.
    Thx

Maybe you are looking for