How to catch the error if an RFC fails due to short dump

Hi All,
  I was calling the RFC Function module in parallel processing depends on the number of work processors available. I am getting the return message from the Function module using the perform statement
   PERFORMING task_return ON END OF TASK
But I am not able to catch the errors if the RFC has been terminated due to the dump or manually killing the RFC while running.
I need how to handle the RFC if the call has been terminated due to the dump or system failure. Does the RFC return the sy-subrc at this time or can we able to catch the error in any other way.
Thanks & regards,
Vijay

Hello Vijay,
If you're calling RFC from outside SAP using the OCX-SAPFunctions-Library, then you can catch the dump or any other exception occuring in your SAP-Function.
Assuming that, objRFCFunc is the RFC-Function you can get the Excepetion-Code through objRFCFunc.Exception.
It returns a String. If the error was a dump, the String is "SYSTEM_FAILURE". If it is a "regular" Exception you'll get the Exceptioncode. E.g. "NO_DATA_FOUND".
If you need any sample code e.g. VBA-code for use in Office-Applications, let me know.
regards
Sven

Similar Messages

  • How to catch the error occurred in Integration Process, and then save it?

    1. how to catch the error occurred in Integration Process, and then save the detailed error message to the file?
    2. there are fault message type for inbound message interface, how to use the fault message type in IR?
    Thanks,
    Michael
    Message was edited by: Spring Tang
    inital
    Message was edited by: Spring Tang
    detailed message output
    Message was edited by: Spring Tang
    fault message type

    Hi Spring,
    If u give an exception step along with your Transformation Step, whenever some error occurs in your message mapping, this exception block wil be triggered.
    You can configure your exception block to do all exception processing that you want. This exception handling is like any other java Exceptio n Handler. You can do anything that you want in your exception handler block on the basis of your requirements.
    <i>If an exception is triggered at runtime, the system first searches for the relevant exception handler in surrounding blocks. If it does not find the correct exception handler, it continues the search in the next block in the block hierarchy.
    When the system finds the correct system handler, it stops all active steps in the block in which the exception handler is defined and then continues processing in the exception handler branch. Once the exception handler has finished processing, the process is continued after the block.
    If the system fails to find an exception handler, it terminates the integration process with an error.</i>
    Regards,
    Bhavesh

  • How to catch the error code thrown by Oracle client installation?

    Hi everyone,
    Recently, I'm writing a bat file to install Oracle 11g client for windows, I know the command line should be below, but how to find the error code it return? like the command line I want to run in Windows, the errorlevel will return 0 if the command line is pass, otherwise it will return no-zero:
    oui.exe -silent -waitforcompletion -nowait -force -responseFile ...\response\clientruntime.rsp
    BTW, I know I can find the error info under the path ...\Oracle\Inventory\logs, but I think it is better if you can tell me another way to catch the error in command line. I just wish that I can determine whether the Oracle provider installation is pass......
    Thanks
    Lindsay
    Edited by: lindsaywang on Oct 6, 2008 1:28 PM

    I got it.
    Thanks,
    TD

  • [JavaScript] How to catch the error when the cache page is not found?

    I want to use the cache of the navigator, to get data stored before (and not to send the same data) with AJAX. So I use the error 304 to tell that the page was not change, so use the cache instead. In the other navigator, there are no error, but only a blank responseText.
    But with Firefox, the error "no element found" is displayed in the Error Console. Is there a possibility to not displayed it? Maybe with "catch" and "try", but I have no idea where to place it.
    Thank you =)
    == User Agent ==
    Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Iron/4.0.280.0 Chrome/4.0.280.0 Safari/532.9

    A good place to ask questions and advice about web development is at the MozillaZine Web Development/Standards Evangelism forum.
    The helpers at that forum are more knowledgeable about web development issues.
    You need to register at the MozillaZine forum site in order to post at that forum.
    See http://forums.mozillazine.org/viewforum.php?f=25
    You need to post a link to the website or relevant parts of the code.

  • Catch the error in to a log file

    Hi Team,
    Created the script for testing the server online or offline, Could you please tell me how to catch the error in to a file
    Try
    $Result = Test-Connection -count 1 -computer (Get-Content ServerName.txt)  -ErrorAction "Continue"
    Catch
       $Result = New-Object PSCustomObject -Property @{
                TimeStamp = Get-Date
                __Server = $env:COMPUTERNAME
                Address = $Computer
                Protocol = ""
                ResponseTime = "Failed"
    $Result | Select TimeStamp,__Server,Address,ProtocolAddress,ResponseTime | ft -AutoSize

    As mjolinor pointed, you should change the -ErrorAction to Stop to make the control flow into catch block when error occurs. Just change alone is not sufficient because, the control will go to catch block if any of the computer in servername.txt gives error,
    and it will not go back to next computer in your text file perform the ping.
    So try chaning the code as shown below.
    $Outarr = @()
    foreach($Comp in (Get-Content C:\temp\servers.txt)) {
    Try {
    $Result = Test-Connection -count 1 -computer $Comp -ErrorAction stop
    Catch {
    $Result = New-Object PSCustomObject -Property @{
    TimeStamp = Get-Date
    __Server = $env:COMPUTERNAME
    Address = $Comp
    Protocol = ""
    ResponseTime = "Failed"
    $Outarr +=$Result
    $Outarr| Select TimeStamp,__Server,Address,ProtocolAddress,ResponseTime | ft -AutoSize
    Hope this helps.
    Thanks,
    Sitaram Pamarthi
    Blog : http://techibee.com
    Follow on Twitter
    This posting is provided AS IS with no warranties or gurentees,and confers no rights
    You can simplify that to:
    $Outarr =
    foreach($Comp in (Get-Content C:\temp\servers.txt)) {
    Try {
    Test-Connection -count 1 -computer $Comp -ErrorAction stop
    Catch {
    [PSCustomObject]@{
    TimeStamp = Get-Date
    __Server = $env:COMPUTERNAME
    Address = $Comp
    Protocol = ""
    ResponseTime = "Failed"
    $Outarr | ft -AutoSize
    The [PSCustomObject] type accelerator will take the hash table as a constructor, and coerce it to an [ordered] hash table, so the properties will stay in the same order they were declared.  That eliminates the need to use Select-Object afterward to
    get them back into the right order.
    [string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " "

  • How to catch the value in sum(control break statement).

    hi,
    can any one tell me how to catch the value in sum in control break satament.
    ex.
    at end of brtwr.
    sum.
    endat.
    I need to print the value in sum only.
    I tried to declare a varaible of type i and assigned sum to this variable.
    it is giving syntax error that sum is not identified.
    How should i do this.
    regards.

    Hi Siva,
    In control break statement when we use SUM. it added all the amount fields and stores its in the work area of that field.
    look below code.
    DATA : BEGIN OF itab OCCURS 0,
               name(10),
               num TYPE i,
           END OF itab.
    DATA : num TYPE i .
    itab-name = 'salman'.
    itab-num  = 100.
    APPEND itab.
    itab-name = 'salman'.
    itab-num  = 200.
    APPEND itab.
    itab-name = 'akshay'.
    itab-num  = 500.
    APPEND itab.
    LOOP AT itab.
      AT END OF name.
        SUM.
        WRITE : / itab-num.
      ENDAT.
    ENDLOOP.
    here the SUM value is stored in Workarea,
    the output will be 300 & 500.
    regards
    Kumar M

  • How to Catch the state of the Entity Object

    I have Location Entity object. With JClient I am testing it.
    I want to insert the data,
    due to validations (wrong data) insert fails.
    Then I am correcting data, still to another view object it is passing old data.
    After correcting the data when I try to click commit it is not executing the code from getEntityState = STATUS_NEW
    Can someone also please let me know how to catch the state of the entity
    Thanks

    Hi Juli,
    I am totally new to using Jdeveloper and I need ur humble help letting me know how to access an Entity object for invoking the insert, update and delete statements. It would be great if u can provide me with some error-free sample code.
    Waiting for some help from U.

  • How to customize the error messages in web analysis reports

    Does anyone know how to customize the error messages that web analysis shows ,
    I want to customize the below error message with a custom error message
    "Document does not exist or no authorization to open document.Error occurred while loading document"
    Does anyone know how to do this ?

    Rajesh,
    you may want to check these links
    How to the Change the Application Stopped Message
    How to Change the Dispatcher Running, No Server Connected Message
    http://help.sap.com/saphelp_nw70/helpdata/en/65/18fc3f9ec4e669e10000000a155106/frameset.htm
    Thanks
    Bala Duvvuri

  • JNI - How to use the error reporting mechanism?

    I've developed a C++ DLL which is loaded from a commercial Win32 application (not written by me) as a plug-in for external calculations. On its initialization the C++ DLL launches the Java VM via the JNI invocation interface. When the DLL functions are called by the application, they forward the calls to Java objects inside the Java VM, again via JNI invocation interface.
    This works well, but I have encountered a weird error.
    From Java I open a JFrame containing a JTextArea as small console for debug output messages. If I turn output to this debug console off (my printToConsole routine checks whether a boolean flag is set), the string concatenation operator may lead to a crash of the Java VM.
    For example, if in one of the Java functions called from the
    DLL via JNI invocation interface the following is the first statement,
    it leads to a crash of the Java VM and the application that loaded the C++ proxy DLL.
    String test=""+Math.random(); // String test not used later
    Interestingly, if I comment this statement out, the Java code works fine WITHOUT any crash. I've already thought about potential races and synchronization issues in my code, but I don't see where this is the case. And the string concatenation error fails as well, if I insert sleep() statements in front of it and at other places in the code. However, if I turn on log messages printed to my JFrame debug console (containing a JTextArea), the String concatenation works without problems.
    So maybe the JNI interface has a bug and affects the Java VM; I don't see where my JNI code is wrong.
    One problem is that I do not get any stdout output, as the C++ proxy DLL is loaded by the Windows application, even if I start the Windows application from the DOS command line (under Windows).
    Does anyone know how to use the error reporting mechanism?
    http://java.sun.com/j2se/1.4.2/docs/guide/vm/error-handling.html
    Is it possible that the JVM, when it crashes, writes debug information about the crash into a file instead of stdout/stderr?
    My C++ proxy DLL was compiled in debug mode, but the commercial application (which loaded the DLL) is very likely not.
    I do not know hot to find the reason why the String concatenation fails inside the Java function called from the C++ DLL via JNI.

    Yes, I've initially thought about errors in the C++ code too. But the C++ code is actually very simple and short. It doesn't allocate anything on the C++ side. It allocates a couple of ByteBuffers inside the Java VM however via JNI invocation interface calls of env->NewDirectByteBuffer(). The native memory regions accessed via the ByteBuffers are allocated not by my own C++ code, but by the program that calls my DLL (the program is Metastock).
    The interesting thing is that everything works fine if output to my debug console is enabled, which means that in the Java print routine getConsoleLoggingState() returns true and text is appended to the jTextArea.
    static synchronized void print(String str)
    { MetaStockMonitor mMon=getInstance();
    if ( mMon.getFileLoggingState() && mMon.logFileWriter!=null) {
    mMon.logFileWriter.print(str);
    mMon.logFileWriter.flush();
    if ( mMon.getConsoleLoggingState() ) {
    mMon.jTextArea1.append(str);
    Only if output to the JTextArea is turned off (ie. getConsoleLoggingState()==false), the crash happens when the FIRST statement in the Java routine called via JNI invocation interface is a (useless) String concatenation operation, as described above.
    String test=""+Math.random(); // String test not used later
    Moreover, the crash happens BEFORE the allocated ByteBuffer objects are accessed in the Java code. But again, if console output is turned on, it works stable. If console output is turned off, it works when the (useless) String concatenation operation is removed in the Java routine called from C++.
    I've already thought about potential races (regarding multiple threads), but this can be ruled out in my case. It almost appears as if the JVM can have problems when called by the invocation interface (I tested it with Java 1.4.2 b28).
    All the calls between C++ and Java go ALWAYS in the direction from C++ code to Java. Unfortunately, there is no special JRE version with extensive logging capabilities to facilitate debugging. And the problem is not easily reproducible either.
    JNIEnv* JNI_GetEnv()
    JNIEnv *env;
    cached_jvm->AttachCurrentThread((void**)&env,NULL);
    fprintf(logfile,"env=%i\n",env);
    fflush(logfile);
    return env;
    // function called by Metastock's MSX plug-in interface
    BOOL __stdcall createIndEngine (const MSXDataRec *a_psDataRec,
    const MSXDataInfoRecArgsArray *a_psDataInfoArgs,
    const MSXNumericArgsArray *a_psNumericArgs,
    const MSXStringArgsArray *a_psStringArgs,
    const MSXCustomArgsArray *a_psCustomArgs,
    MSXResultRec *a_psResultRec)
    a_psResultRec->psResultArray->iFirstValid=0;
    a_psResultRec->psResultArray->iLastValid=-1;
    jthrowable ex;
    jmethodID mid;
    JNIEnv* env=JNI_GetEnv();
    jobject chart=getChart(env, a_psDataRec);
    if ( chart==NULL) {
    return MSX_ERROR;
    jobject getChart (JNIEnv* env, const MSXDataRec *a_psDataRec)
    jthrowable ex;
    jmethodID mid;
    int closeFirstValid, closeLastValid;
    closeFirstValid=a_psDataRec->sClose.iFirstValid;
    closeLastValid=a_psDataRec->sClose.iLastValid;
    long firstDate, firstTime;
    if (closeFirstValid>=1 && closeFirstValid<=closeLastValid) {
    firstDate = a_psDataRec->psDate[closeFirstValid].lDate;
    firstTime = a_psDataRec->psDate[closeFirstValid].lTime;
    } else {
    firstDate=0;
    firstTime=0;
    jclass chartFactoryClass = env->FindClass("wschwendt/metastock/msx/ChartFactory");
    if (ex= env->ExceptionOccurred() ) {
    env->ExceptionDescribe();
    env->ExceptionClear();
    sprintf(sbuf, "DLL: Cannot find class ChartFactory\n");
    printSBufViaJava(sbuf);
    return NULL;
    mid = env->GetStaticMethodID(chartFactoryClass, "getInstance", "()Lwschwendt/metastock/msx/ChartFactory;");
    if (ex= env->ExceptionOccurred() ) {
    env->ExceptionDescribe();
    env->ExceptionClear();
    sprintf(sbuf, "DLL: Cannot find method ID for ChartFactory.getInstance()\n");
    printSBufViaJava(sbuf);
    return NULL;
    jobject chartFactory=env->CallStaticObjectMethod(chartFactoryClass, mid);
    if (ex= env->ExceptionOccurred() ) {
    env->ExceptionDescribe();
    env->ExceptionClear();
    sprintf(sbuf, "DLL: Exception while calling ChartFactory.getInstance()");
    printSBufViaJava(sbuf);
    return NULL;
    mid = env->GetMethodID(chartFactoryClass, "getChartID", "(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;IIIIIII)F");
    if (ex= env->ExceptionOccurred() ) {
    env->ExceptionDescribe();
    env->ExceptionClear();
    sprintf(sbuf, "DLL: Cannot find method ID for ChartFactory.getChartID()\n");
    printSBufViaJava(sbuf);
    return NULL;
    jobject symbolBuf=env->NewDirectByteBuffer(a_psDataRec->pszSymbol, strlen(a_psDataRec->pszSymbol) );
    if (ex= env->ExceptionOccurred() ) {
    env->ExceptionDescribe();
    env->ExceptionClear();
    sprintf(sbuf, "DLL: Cannot allocate symbolBuf\n");
    printSBufViaJava(sbuf);
    return NULL;
    jobject securityNameBuf=env->NewDirectByteBuffer(a_psDataRec->pszSecurityName, strlen(a_psDataRec->pszSecurityName) );
    if (ex= env->ExceptionOccurred() ) {
    env->ExceptionDescribe();
    env->ExceptionClear();
    sprintf(sbuf, "DLL: Cannot allocate securityNameBuf\n");
    printSBufViaJava(sbuf);
    return NULL;
    jobject securityPathBuf=env->NewDirectByteBuffer(a_psDataRec->pszSecurityPath, strlen(a_psDataRec->pszSecurityPath) );
    if (ex= env->ExceptionOccurred() ) {
    env->ExceptionDescribe();
    env->ExceptionClear();
    sprintf(sbuf, "DLL: Cannot allocate securityPathBuf\n");
    printSBufViaJava(sbuf);
    return NULL;
    jobject securityOnlineSourceBuf=env->NewDirectByteBuffer(a_psDataRec->pszOnlineSource, strlen(a_psDataRec->pszOnlineSource) );
    if (ex= env->ExceptionOccurred() ) {
    env->ExceptionDescribe();
    env->ExceptionClear();
    sprintf(sbuf, "DLL: Cannot allocate onlineSourceBuf\n");
    printSBufViaJava(sbuf);
    return NULL;
    // Java Function call leads to crash, if console output is turned off and
    // the first statement in the Java routine is a (useless) string concatenation.
    // Otherwise it works stable.
    jfloat chartID=env->CallFloatMethod(chartFactory, mid, securityNameBuf, symbolBuf,
    securityPathBuf, securityOnlineSourceBuf, (jint)(a_psDataRec->iPeriod),
    (jint)(a_psDataRec->iInterval), (jint)(a_psDataRec->iStartTime),
    (jint)(a_psDataRec->iEndTime), (jint)(a_psDataRec->iSymbolType),
    (jint)firstDate, (jint)firstTime );
    if (ex= env->ExceptionOccurred() ) {
    env->ExceptionDescribe();
    env->ExceptionClear();
    sprintf(sbuf, "DLL: Exception while calling ChartFactory.getChartID()");
    printSBufViaJava(sbuf);
    return NULL;

  • How i fix the error 1015 for my iphone3g coz my phone i opining

    how i fix the error 1015 for my iphone3g coz my phone i opining and also i can use since i face that problem

    Yes, if it has been jailbroken, then there is probably nothing that you can do and you will never be able to use it, so ditch it and buy a new phone.
    If it's an iPhone 3g, then it is a very old phone anyway and you shoud consider buying a new one.

  • How to handle the #error in ssrs expression

    hi 
    Please any one help me to resolve this #error ,
    I have a calculated filed in that expression i given a if condition like below 
    data of column is coming like this 0 , 0.0 
    =IIF(Fields!Column1.Value=0,0,((Fields!Column2.Value - Fields!Column1.Value)/( Fields!Column1.Value)))
    how to handle the #error 
    Please let me know any one 

    Hi deepuk23,
    According to your description, when you use the IIF() function in the report you got some error,right?
    The issue can be caused by the column1 and column2 have different datatype, I assumed that one is integer and another is float, when the Column1 is 0 or null,  because IIF() function always evaluates both the true part and the false part, even
    though it returns only one of them, it will throw out the error. 
    To resolve the issue, you should use a nested IIF() function to avoid the zero-divisor in any rate like below:
    =IIF(Fields!Column1.Value=0,0,((Fields!Column2.Value - Fields!Column1.Value)/(IIF(Fields!Column1.Value=0,1,Fields!Column1.Value))))
    For more information, please refer to this article:
    FAQ: Why does the “Attempted to divide by zero” error still happen?
    If you still have any problem, please feel free to ask.
    Regards,
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • TS2529 how to fix the error message itunes can't sync apps because it can't determine what apps are installed

    how to fix the error message itunes can't sync apps because it can't determine what apps are installed

    Hi,
    This may be Helpful 
    AMDS for Windows
    http://support.apple.com/kb/TS1567

  • How to rectify the error message " duplicate data records found"

    Hi,
    How to  rectify the error "duplicate data records found" , PSA is not there.
    and give me brief description about RSRV
    Thanks in advance,
    Ravi Alakunlta

    Hi Ravi,
    In the Info Package screen...Processing tab...check the option Do not allow Duplicate records.
    RSRV is used for Repair and Analysis purpose.
    If you found Duplicate records in the F fact table...Compress it then Duplicate records will be summarized in the Cube.
    Hope this helps.

  • How to get the Error message from hr_contact_rel_api.create_contact

    Hello All,
    I am using this API for creating a contact for an employee in R12.
    But, some times i am not able to create the contact successfully, and Unable to figure out proper reason for record erroring out.
    I dont find any out msg data variables for this API in order to check it for the Error.
    So, can any body help me how to get the ERROR Message for such APIs.
    Thanks inAdvance,
    Amarnadh Js

    user12243334 wrote:
    solved the issue on myselfIt would be nice if you could share the solution with us.
    Thanks,
    Hussein

  • How to read the error message like clipping positive or -ve in Tektronix oscillioscope 3012B

    During acquiring the Sine wave or triangular wave from TDS3012B, if the amplitude or Max or min is clipping, how do you read the error?  I used *ESR?, first time when I ran the error query program, it gave me Error message saying it is clipping, after that If I run again,the error query , It would not give me the error message, I couldn't reproduce it, eventhough but On the screen if I measure, Amp, min and Max it says that it is clipping positive or -ve. I was wondering how to read the error message while aquiring the data?  If any one could help me that would be of great help.. Thanks

    Usually, reading the error status register clears it. I'm not familiar with this particular model of scope but you may have to initiate a new acquisition in order for the scope to generate a new error. Another possiblity is that a new error will be generated when the vertical scale changes. Unless someone posts with an answer, I'd say that your best bet to get an answer is to contact Tektronix technical support.

Maybe you are looking for

  • IPhone 5S mic and Touch-ID do not work anymore - What to do?

    Hi together and a happy new year to everyone!! At the moment I have got a serious problem talking about my new iPhone 5s. As it's a cell phone I would like to talk to my friends and family using it. But it seems that this part of the devices is not w

  • Linking two tables with no duplicated records!

    Hi, I have two tables now with both tables is having the common filed matnr. now using this field MATNR from  first table ,i need to fetch projectno from the other table which has to be unique.if there are more than one entry found for MATNR in quest

  • How to setup dataguard on oracle 10g..........

    Hi! i want to setup dataguard on oracle 10g .....i have two same databases installed on my system 1)one oracle database 10g on c windows xp 2)second oracle database 10g on Vmware machine lying on red hat linux 4 actually i want ot setup dataguard on

  • Error idoc

    how to handle error idoc

  • MAP impact on production order

    Hi, May i know in which transaction for production order will impact the MAP? If the MAP change,will it update the standard price according;y? Thank you.