How can I catch a error in a BAPI?

Hi,
I use BAPI L_TO_CREATE_MULTIPLE. If, for example, I put a warehouse that not is the warehouse of the unit that I want to move, I receive an error that isn't in exceptions.
In the program, I need, in the sy-subrc, catch this error, to do anything.
In this case, the message is L3208.
Thank you very much.

Hello Jose
BAPIs must not raise any exceptions. Why? Because they are intended for external use. However, if you raise an exception during a RFC call the connection will break down. Therefore BAPIs collect the error message in their (usually named) RETURN parameter.
In order to evaluate a BAPI call you can simply code like this:
" Assumption: RETURN parameter is an itab of type BAPIRET2
LOOP AT return TRANSPORTING NO FIELDS
          WHERE ( type CA 'AEX' ).
  EXIT.
ENDLOOP.
IF ( syst-subrc = 0 ).
" A(bort), E(rror) or X(dump) happened
ENDIF.
Regards
  Uwe

Similar Messages

  • [MESSAGE.GENERAL] How can take the actual error text for ABAP proxy error?

    Hi...
    I'm a ABAPer.
    I got to create outbound abap proxy for synchronous server proxy and described below.
    My problem is program can not catch the actual error message when occurred error during send data to XI.
    The return message is just 'MESSAGE.GENERAL'.
    But according to the XI part, 'Key error' is actual reason.
    So... how can i take the actual error text like 'Key error'?
    <b>* Only MESSAGE.GENERAL is return message for all kind of errors.</b>
    Thanks.
    Below----
      TRY.
          CREATE OBJECT abap_proxy.
          CALL METHOD abap_proxy->execute_synchronous
            EXPORTING
              output = gs_out
            IMPORTING
              input  = gs_in.
      Exception Handling
    <b>    CATCH cx_ai_system_fault  INTO  go_sys_exception.
          g_sys_result = go_sys_exception->get_text( ).</b>
        CATCH cx_ai_application_fault INTO go_app_exception.
          g_app_result = go_app_exception->get_text( ).
      ENDTRY.
      COMMIT WORK.
    Return status 'D' is succeeded.
      if  gs_in-sales_group_rer_sap-xstat <> 'D'. 
         WRITE:/ 'System Error Message      :', g_sys_result.
         WRITE:/ 'Application Error Message :', g_app_result.
      endif.
    *--Result--
    System Error Message      : MESSAGE.GENERAL
    Application Error Message :
    Message was edited by: Miju cho
    Message was edited by: Miju cho

    Thanks guys, this was useful.
    My scenario is for Asynchronous communication.
    I guess Fault messages are used in case of Synchronous communication for handling application errors. So if there was something wrong at the JDBC end then I could use the fault messages.
    Have i got this right?
    I also came across this piece on Acknowledgements. But is says that they can be used with the following Receivers:
    The following receivers support acknowledgments:
    ABAP and Java proxies (XI 3.0 SP1 for the latter)
    Integration processes
    IDocs (note that IDocs only return acknowledgments when they have been configured using the ALE audit)
    Receiver adapters support system acknowledgments but not application acknowledgments
    My Receiver is JDBC. So I guess I cannot use acknowledgements either.
    Hence, I need to know what I can do to replicate the system errors eg. failed server etc...so that I can get catch these errors during sending.
    I'll tell you abt what happened earlier.
    My XI server was down. I executed the code for the sender ABAP Proxy and it did not catch the error. In SXMB_MONI in the R/3 system, I could see the messages queued up. When the XI server started, the messages were transferred to XI.
    I need to handle such errors...ie. If  the server is down or message did not reach XI then my ABAP program that sends data via ABAP proxy needs to know that something went wrong.
    Thanks and Regards,
    Ashwin

  • How can I catch the exception type c = type i?

    How can I catch the exception and display the error message when I assign the u2018ABC123u2019 value to an int data type.
    Code is as follow.
    REPORT  zfsl_sum_functions.
    DATA: cin(50),
          cout(50),
          iin TYPE i,
          iout TYPE i,
          etext TYPE string.
    cin = '123ABC'.     " how can i catch this
    iout = cin.
    WRITE: iout.

    The CATCH-ENDCATCH statement is obsolete as of release was620. You should use TRY. CATCH. ENDCATCH.
    The exception that will be raise is CX_SY_CONVERSION_NO_NUMBER, so you have to catch that exception or a super class of this exception class.
    REPORT zfsl_sum_functions.
    DATA: cin(50),
    cout(50),
    iin TYPE i,
    iout TYPE i,
    etext TYPE string.
    DATA: rf_cx_error TYPE REF TO CX_SY_CONVERSION_NO_NUMBER,
            errortxt TYPE string.
    TRY.
        cin = '123ABC'. " how can i catch this
        iout = cin.
        WRITE: iout.
      CATCH CX_SY_CONVERSION_NO_NUMBER INTO  rf_cx_error.
        errortxt = rf_cx_error->get_text( ).
        WRITE errortxt.
    ENDTRY.

  • When I update my nano ipod I get an error message "User ipod cannot be updated.  The disk couldnot be read from or written to."   How can I overcome this error message.

    In the iTunes window, when I update my nano ipod, I get an error message "User ipod cannot be updated.  The disk could not be read from or written to."   How can I overcome this error message.

    Hello there dilip77707,
    It sounds like you are getting this error message that your iPod cannot be read from or written to when you are trying to update your iPod Nano. I recommend the troubleshooting from the following article to help you get that resolved. Its pretty straight forward, just start at the top and work your way down as needed:
     'Disk cannot be read from or written to' when syncing iPod or 'Firmware update failure' error when updating or restoring iPod
    Thank you for using Apple Support Communities.
    All the very best,
    Sterling

  • How can we define custom error page in protal application

    How can we define custom error page in protal application, like we define "jsp Error page " in JSPs

    Hi,
    Check these:
    Customization of Portal Runtime Errors and portal standard error codes
    http://help.sap.com/saphelp_nw04/helpdata/en/9a/e74d426332bd30e10000000a155106/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/ec/1273b2c413b2449e554eb7b910bce7/frameset.htm
    Regards,
    Praveen Gudapati

  • How can i stop an error message that comes up when i am using word? the error message is "word is unable to save the Autorecover file in the location specified. Make sure that you have specified a valid location for Autoreover files in Preferences,-

    how can i stop an error message that comes up when i am using word? the error message is "word is unable to save the Autorecover file in the location specified. Make sure that you have specified a valid location for Autoreover files in Preferences,…"

    It sounds like if you open Preferences in Word there will be a place where you can specify where to store autorecover files. Right now it sounds like it's pointing to somewhere that doesn't exist.

  • How can i disply the error in my forms which occurs from plsql package

    Dear all
    i am using 10g forms.
    i have a package and in the pkg i am reading data from flat file using UTL_FILE and comparing with what user input in the form .
    If that does not match then it is raising errors . but how can i display those errors in my forms .
    Let say in my PKG The error is "Account no does not match " . this error message i wnat to show in my Forms .
    For the error i have created one block :error.err_dtl.
    I want to show here in :error.err_dtl.

    Hello,
    Several solutions:
    You can write a procedure or a function in that package that returns a Boolean and/or an error message.
    You can also, in your package, raise the RAISE_APPLICATION_ERROR(), then trap this error in the Forms calling code, via the DBMS_ERROR_CODE and DBMS_ERROR_TEXT variables.
    Francois

  • How can I solve this error message? Some of your photos, including the photo "IMG_0374.jpg", were not copied to the iPad "(my name's) iPad" because they cannot be displayed on your iPad.

    how can I solve this error message? "Some of your photos, including the photo “IMG_0374.jpg”, were not copied to the iPad “(my name’s) iPad” because they cannot be displayed on your iPad."
    There were 273 photos in the event syncing from my Mac, but only the last 103 made it to the ipad. Most of the photos were taken by an iphone. I would appreciate any thoughts or insights - thanks.

    Adrian-
    That error message suggests the photo is somehow corrupt.
    Do you have the Apple Camera Connection Kit?  You can set up a USB thumb drive with MS-DOS FAT-32 format and copy your photos to it into a folder named DCIM.  Assuming they have an 8 character plus suffix name, the iPad will recognize them and give you the option of transferring them via the Kit's USB adapter.
    Once they are transferred, you can find out if there is a problem with any.
    Fred

  • How can i catch the jsp checking event ?

    As we know, there are three parameters which is about checking in the weblogic.xml, pageCheckSeconds,*servlet-reload-check-secs*,*resource-reload-check-secs*, but how can i catch the checking event when the webapp is active.
    The fellowing is my simple test, i deployed a webapp on a weblogic server instance, and it was actived. I wrote a simple bash shell to try to catch the event, but fail. i througnt it may be dependent on the webapp's stage mode. but i change the mode, and try again, it was fail too.
    [weblogic@tdy218 ~]$ ls
    getLastAccessTime.sh webapps
    [weblogic@tdy218 ~]$ ./getLastAccessTime.sh ~/webapps/Test/login.jsp
    The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
    The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
    The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
    The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
    The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
    The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
    The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
    [weblogic@tdy218 ~]$ ./getLastAccessTime.sh
    /bea/wls924/user_projects/domains/base_domain/servers/AdminServer/stage/Test/Test/login.jsp
    The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
    The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
    The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
    The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
    The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
    The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
    The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
    The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
    [weblogic@tdy218 ~]$ stat
    /bea/wls924/user_projects/domains/base_domain/servers/AdminServer/stage/Test/Test/login.jsp
    File: `/bea/wls924/user_projects/domains/base_domain/servers/AdminServer/stage/Test/Test/login.jsp'
    Size: 634 Blocks: 8 IO Block: 4096 regular file
    Device: 804h/2052d Inode: 583725 Links: 1
    Access: (0644/-rw-r--r--) Uid: ( 502/weblogic) Gid: ( 500/ bea)
    Access: 2011-05-22 11:11:37.000000000 +0800
    Modify: 2010-05-24 14:49:08.000000000 +0800
    Change: 2011-05-22 11:10:21.000000000 +0800
    The jsp file's last access time didn't changed in the past.
    [weblogic@tdy218 ~]$ more getLastAccessTime.sh
    #!/bin/bash
    declare -i m=1
    declare -i n=100
    while [ $m -le $n ]; do
    echo "The file's last access time is: $(stat -c %x $1)"
    m=m+1
    sleep 3
    done
    weblogic.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.oracle.com/technology/weblogic/servers/wls810/dtd/weblogic810-web-jar.dtd">
    <weblogic-web-app>
    <jsp-descriptor>
    <jsp-param>
    <param-name>pageCheckSeconds</param-name>
    <param-value>2</param-value>
    </jsp-param>
    </jsp-descriptor>
    <container-descriptor>
    <servlet-reload-check-secs>2</servlet-reload-check-secs>
    <resource-reload-check-secs>2</resource-reload-check-secs>
    </container-descriptor>
    <context-root>/jdbc</context-root>
    </weblogic-web-app>
    env :
    WebLogic 9.2 MP4、Redhat Linux AS 4 Update 8 x86.

    I tested on WLS 11g ps2(10.3.3) which is running in Development Mode also, but it was the same as WLS 9.2 MP4.
    During the weblogic server running, it don't check the application resources , but it will check the $Domain_Home/autodeploy directory every three seconds in Development Mode , the following is the result.
    [weblogic@tdy218 ~]$ ./getLastAccessTime.sh /bea/wls924/user_projects/domains/base_domain/autodeploy
    The file's last access time is: 2011-05-22 12:01:43.000000000 +0800
    The file's last access time is: 2011-05-22 12:01:43.000000000 +0800
    The file's last access time is: 2011-05-22 12:01:43.000000000 +0800
    The file's last access time is: 2011-05-22 12:01:46.000000000 +0800
    The file's last access time is: 2011-05-22 12:01:46.000000000 +0800
    The file's last access time is: 2011-05-22 12:01:46.000000000 +0800
    The file's last access time is: 2011-05-22 12:01:49.000000000 +0800
    The file's last access time is: 2011-05-22 12:01:49.000000000 +0800
    The file's last access time is: 2011-05-22 12:01:49.000000000 +0800
    The file's last access time is: 2011-05-22 12:01:52.000000000 +0800
    Ctrl + ^
    [weblogic@tdy218 ~]$ ./getLastAccessTime.sh ~/webapps/Test
    The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
    The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
    The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
    The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
    The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
    The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
    The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
    The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
    The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
    Ctrl + ^
    [weblogic@tdy218 ~]$ ./getLastAccessTime.sh ~/webapps/Test/
    insert.jsp login.jsp query.jsp tdy218.sql WEB-INF/
    [weblogic@tdy218 ~]$ ./getLastAccessTime.sh ~/webapps/Test/login.jsp
    The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
    The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
    The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
    The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
    The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
    The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
    The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
    The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
    The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
    The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
    Ctrl + ^
    I set the frequency to every one seconds this time by using sleep method in my Bash Shell script.
    #!/bin/bash
    declare -i m=1
    declare -i n=100
    while [ $m -le $n ]; do
    echo "The file's last access time is: $(stat -c %x $1)"
    m=m+1
    sleep 1
    done

  • When syncing my iphone 6 plus, i now get an error that reads, "IP address conflicts with another system or network."  How can i eliminate this error permanently?   Thank you in advance!

    when syncing my iphone 6 plus, i now get an error that reads, "IP address conflicts with another system or network."  How can i eliminate this error permanently?   Thank you in advance!
    This never happened before, however the last couple of months it comes up every time I plug my USB from PC to iphone.

    HyperNova Software,
    Thank you so much.  Because I am very computer illiterate, could you help me on how to get started?  I don't have the slightest on where to get started, the steps to follow, etc.
    Can't thank you enough for your help!

  • How can I catch and display the "cent" symbol (Alt+0162)?

    Hi,
    I have a jTextArea field in which it supposes to be able to catch a special
    character, money cent symbol by Alt+0162 from the keyboard. Does anyone know
    how I can catch it and display it in money cent symbol in the jTextArea field?
    Thanks for your help.
    -John

    The CATCH-ENDCATCH statement is obsolete as of release was620. You should use TRY. CATCH. ENDCATCH.
    The exception that will be raise is CX_SY_CONVERSION_NO_NUMBER, so you have to catch that exception or a super class of this exception class.
    REPORT zfsl_sum_functions.
    DATA: cin(50),
    cout(50),
    iin TYPE i,
    iout TYPE i,
    etext TYPE string.
    DATA: rf_cx_error TYPE REF TO CX_SY_CONVERSION_NO_NUMBER,
            errortxt TYPE string.
    TRY.
        cin = '123ABC'. " how can i catch this
        iout = cin.
        WRITE: iout.
      CATCH CX_SY_CONVERSION_NO_NUMBER INTO  rf_cx_error.
        errortxt = rf_cx_error->get_text( ).
        WRITE errortxt.
    ENDTRY.

  • How can we create the error log in a ABAP program

    Hi all,
    How can we create the error log in a ABAP program
    Thanks,
    srinivas.

    Hi,
    Refer to FM's in the Function Group SBAL. For a change most of the FM's have been well documented. Also have a look at the DEMO pgms. Se38---->SBALDEMO & F4.
    Regards
    Raju Chitale

  • How can I Catch the program to prevent exit all?

    Hi,
    I am actually implementing a Ptolemy GUI for my subject. And I am now facing a very serious problem. I build an application to call the Ptolemy application to probe up a plotting graph program. Every time after I call the run Simulation() the program call the plotting from Ptolemy, but when I press close from the plotting, everything close including all applications that are not expected to close.
    The problem I think is located here:
    PtolemyApplication exec_model = new PtolemyApplication(argument);
    So I would like to know how can I catch its exit to avoid closing everything.
    Can anyone give me suggestion please?
    below are the method I call:
    public void runSimulation()
    try{
    File file = new File("default.xml");
    DataOutputStream out =
    new DataOutputStream(new FileOutputStream(file));
    SimGraphWriter writer = new SimGraphWriter();
    boolean checkAllConnected;
    checkAllConnected = writer.write(graphpane.getGraphModel(),
    graphpane.getGraphView(),currDirector, out);
    if(checkAllConnected){
    ("//d/Ptolemyii/ptII0.4/ptII0.4beta/bin/ptolemy.bat ./default.xml");
                   String argument[] = {"default.xml"};
                   try {
                        PtolemyApplication exec_model =
    new PtolemyApplication(argument);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        this.dispose();
                   catch(Exception ex) {
                        System.out.println(ex);
                        ex.printStackTrace();
    catch(Exception ex){
              System.out.println(ex);
    ex.printStackTrace();
    }

    Thread is an object that u create just like String /or whatever eg;-
    Thread firstThread, secondThread, thirdThread;
    once they're declared u can stop, start + run them individually with boolean values (true /false) and therefore control what u want to do when.
    Play with the code examples + mess around with it - it's not absolute beginner stuff - but it isn't that tough either

  • HT201401 how can i fix an error 1601 restore

    how can i fix 1601 error on iphone 4

    This error is often related to USB timing. Try changing USB ports, using a different dock connector to USB cable, and other available USB troubleshooting steps (troubleshooting USB connections. If you are using a dock, bypass it and connect directly to the white Apple USB dock connector cable. If the issue persists on a known-good computer, the device may need service.
    If the issue is not resolved by USB isolation troubleshooting, and another computer is not available, try these steps to resolve the issue:
    Connect the device to iTunes, confirm that the device is in Recovery Mode. If it's not in Recovery Mode, put it into Recovery Mode.
    Restore and wait for the error.
    When prompted, click OK.
    Close and reopen iTunes while the device remains connected.
    The device should now be recognized in Recovery Mode again.
    Try to restore again.
    If the steps above do not resolve the issue, try restoring using a known-good USB cable, computer, and network connection.

  • OSX sometimes places 31 character limit on file names. How can I get this error to stop?

    This error notice doesn't make sense, since many of my file names exceed 31 char. This error message pops up when saving documents, esp. web pages. As a consequence, OSX will refuse to let me save the file, until I shorten the name and so remove informative identifying features of the file name. But most of the time, OSX is perfectly happy to save files with names longer than 31 char. How can I get this error notice and block to turn off?

    I have also seen this issue it occurs regularly when transferring word documents files from my Macbook Pro running OSX 10.5.8 to my iMac running 10.9.4.
    My iMac HD should be formatted to factory standards as well since I have not mucked around with it since I bought it.

Maybe you are looking for