Newbie question NON-FATAL RUN-TIME ERROR IN TUTORIAL (PlotY)

I'm a first time user, following the tutorial and when when I click on Acquire I get the following error "NON-FATAL RUN-TIME ERROR:   "sample1.c", line 85, col 13, thread id 0x00000D54:   Library function error (return value == -10 [0xfffffff6]). The control is not the type expected by the function"
Code is as follows (line 85 is PlotY......:
    case EVENT_COMMIT:                                                                                                       
        srand (time(NULL));                                                                                                  
        amp = rand ()/32767.0;                                                                                               
        SinePattern (100, amp, 180.0, 2.0, sine);                                                                            
        PlotY (panelHandle, PANEL_Waveform, sine, 100, VAL_DOUBLE, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);  
        break;    
Its not obvious why it crashes on this line, any help would be appreciated.
Thanks
Jeff

Happy to hear that you have solved your problem.
Just to be clear, there is no problem in using lowercase letters for control ID, but since the usual CVI behaviour is to use uppercase letters I was wondering if you created the control by yourself and if it could be a wrong one.
CVI does not really address controls by name: if you see in the include file associated to the UIR you'll see that PANEL_CONTROL is really a macro with an associated value, which is the one the program really uses (see my first post to understand how PlotY operates; the same happens for all functions that operate on control like Get/SetCtrlVal or GetSetCtrlAttribute for example).
Neither CVI operates any cross check between the panel handle and the control you are addressing: that's why I pointed you to the panel handle value, to be sure that you are not operating on a control using the handle of a different panel, a situation that may happen if you are using more than one panel at a time.
These are the reasons that may rise an 'incorrect control type' error.
Proud to use LW/CVI from 3.1 on.
My contributions to the Developer Zone Community
If I have helped you, why not giving me a kudos?

Similar Messages

  • How to display "Non-Fatal Run-Time Error In Function Panel" dialog?

    I'm learning how to develop an IVI-C specific driver using LabWindows/CVI. When I run my function from its function panel and it returns an error, I would like to display a dialog with both the error code and error message (as opposed to simply returning an error code on the function panel). This would save the user from having to call Prefix_error_message() to translate the error code to its error message. NI-DCPower driver is a good example of this behavior (see attached error dialog). How do I show the "Non-Fatal Run-Time Error In Function Panel" dialog? Any help is greatly appreciated. Thanks!
    Attachments:
    ErrorDialog.png ‏8 KB

    Hi Shawn,
    Thank you for replying to my post. The checkErr is just an error handling macro defined in ivi.h to goto Error: tag when the function returns a non-zero value. I have been using the checkErr macro (as well as viCheckErr and other macros) in my driver.
    Using the same hp34401a specific driver as an example, please allow me to explain my question in more details:
    Let's take the hp34401a_close function as an example. It is a simple function with only a few lines of code:
    When the hp34401a_close function is run from its front panel using an invalid session handle (e.g. "8" in this screen capture):
    You will get three "Non-Fatal Run-Time Error" popup dialogs, one from each of the IVI library functions that it calls: Ivi_LockSession, Ivi_UnlockSession, and Ivi_Dispose. However, there is no "Non-Fatal Run-Time Error" popup dialog from the hp34401a_close itself.
    My IVI-C specific driver is behaving identical to the hp34401a specific driver.
    In comparison, if run niDCPower_close function from its front panel using an invalid session handle (using the same "8" in this screen capture):
    You will only get one "Non-Fatal Run-Time Error In Function Panel" from the niDCPower_close function itself:
    I think the behavior of niDCPower driver is much better than the hp34401a driver. It replaces the three "Non-Fatal Run-Time Error" popup dialogs from the IVI library with a single "Non-Fatal Run-Time Error In Function Panel" popup dialog from the driver function itself. I would like to do the same thing with my driver but have not figured out how to display a "Non-Fatal Run-Time Error In Function Panel" dialog. Thanks in advance for your help!

  • Non-Fatal Run-time Error "%%s"

    This was shown yesterday by an non-debug program written with CVI 9.01 and run-time 9.1 (the current "428" build) on the target.
    I was trying to fix "-12: Out of memory" popups (maybe a race condition inside ProcessSystemEvents/GetUserEvent?) and now this.
    Any idea what this is?
    /* Nothing past this point should fail if the code is working as intended */

    A couple updates:
    From all indications, this dialog should only be shown if your binary (exe) is built in release mode.  If you build in debug mode, you should be able to see the error message that is trying to display.  Also, if our preliminary investigation is correct, the error should be in your release mode exe, and not any loaded dlls.
    From all indications, this dialog should only be shown if your binary (exe) is built in release mode and loads dlls that are build in debug mode.  If you build your dependencies in release mode, no dialog should be displayed at all (because this is a non-fatal error).
    Are you able to verify these statements?
    Thanks -
    NickB
    National Instruments

  • Fatal Run Time Error - unknown source position thread id

    Hi All,
    I am using LabWindows CVI 2013 in order to display data from my controller.
    I have defined some functions to activate the communication with the controller and read data from it.
    The communication activation with the controller is being done inside the Main block before loading the UI panels.
    I created a command button that activates the data reading function (Get Register) from the controller.
    When calling the reading function I received a Fatal Run Time Error. Attached please find.
    When I moved the reading function to the main block before loading the UI, the program didn't crush.
    What is the cause for that?
    Thanks for your support.
    Haim 
    Attachments:
    CVI.png ‏168 KB

    Hi Haim,
    Could you explain what you mean by moving the function to the main block? Does that mean instead of having a callback, you added the four lines in that callback (according to the attached image) to the main function? When you do this, does the code execute correctly?
    And can you tell me what DLL package you are using that contains the Jet32Functions.GetRegister function?
    The error is very generic, so it is hard to say what is causing it without seeing the entirety of the code, but it appears that there is a conflict in the thread control. Does the error occur only when you activate the callback by clicking the command button? Which lines are executed in the callback before the error occurs?
    It would be helpful if you could attach your source file or at least a screenshot of the working code so I can see the entire main function.
    Steven

  • INI instrument driver and fatal run time errors

    Hey everyone, I'm experimenting with the INI instrument driver and running into a fatal run time error.  Here's what I know so far:
    The runtime error only happens during the very first Ini_Putxxx
    It only happens if the target INI file does not yet exist.  After the file is created with a Ini_WriteToFile, then the program will proceed with all my Put functions without any errors.
    Ideas?
    Solved!
    Go to Solution.

    Are you sure about that? I just tried calling these functions in the Interactive Execution window without errors (the destination file wasn't there before the call and has been created without errors):
    #include "inifile.h"
    static int error = 0;
    static IniText T = 0;
    T = Ini_New (0);
    Ini_PutString (T, "General", "Item 1", "Test string");
    Ini_PutInt (T, "General", "Item 2", 123);
    Ini_PutDouble (T, "General", "Item 3", Pi ());
    error = Ini_WriteToFile (T, "C:\\test.ini");
    Ini_Dispose (T);
    Ini_PutXX functions do not make any disk access, they work entirely in memory; the only functions where the instrument accesses the disk are Ini_WriteToFile and Ini_ReadFromFile. Which error are you receiving? Can you post a sample code that exhibits the error?
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Fatal run time error: unknown source position

    I am getting a fatal run-time error when using CVI 8.0.1.  I get the error when any program I write is exiting.  Here's an example source:
    #include <ansi_c.h>
    int main(void)
        char buf[512];
        printf("press enter to exit\n");
        gets(buf);
        return 0;
    after I press enter to exit, the program hangs for a few seconds and then I get the error.  This only started happening after I upgraded to CVI 8.0.1.  I have tried uninstalling / reinstalling / going back to earlier versions and I always have the problem now.

    It sounds like something went wrong with the initial install or possibly there was problems with removing previous versions. Since uninstalling and reinstalling did not fix this, I would suggest you to use a utility called MSI Blast. This will show all installations that are on your machine and allow you to remove these installations. This is a last resort program and should never be used to replace Add/Remove Programs, but since something sounds as if it is corrupt, I feel it is best to use this. Here is the link.
    ftp://ftp.ni.com/outgoing/msiblast.zip
    You will need to remove and reinstall all NI components to assure that we remove the corrupt file. It is definitely something local to your machine as I was not able to replicate the problem with your provided code. Please run this utility and let me know once you have pick this up off of the ftp, as we do not leave this utility up for long.
    Message Edited by Brandon V on 10-10-2006 02:22 PM
    Brandon Vasquez | Software Engineer | Integration Services | National Instruments

  • FATAL RUN-TIME ERROR: The program has caused a 'General Protection' fault at 0x6846680A.

    Dear all,
    I have some troubles with LabWindows CVI. Sometimes (maybe 2 or 3 times by week) my application crash with General protection error in cvirte adress. This crash never happens in the same part of the code is always happens in random way. The problem is that in debug mode we don't have any information about where the problem occurs in cvirte. This bugs can happens with differents application from very simple application to very complex applications.
    Do you have some ideas that how can I solve these problems?
    Thanks

    Hello J. Romero!
    Thank you for the crash information you provided!
    Hover you managed to collaborate with NI France more in order to determine the cause of this crash?
    Unfortunately, the information you provided is still not sufficient for us to determine the exact cause and circumstance of this crash:
    The provided event logs only contain relative addresses of the locations. An absolute crash address can better suggest the exact location. Please provide a screenshot of the crash window dialog, which contains the exact absolute address of this crash.
    In your original post, you mentioned that you can reproduce the crash with a "very simple application". Is it possible for you to send us the application on our incoming FTP server, so that we can build and run the program on our side?
    Do you have a suspicion for any particular libraries, components or UI controls that you are using, which reproduce the crash. E.g. "whenever I perform this action in a Numeric Control, the crash occurs...". This will further help us to narrow down on the problem!
    If #2 is not possible, one other solution would be to send us a crash dump of the application. Please follow the steps in this Developer Community post, in order to generate and send us a crash dump: https://decibel.ni.com/content/docs/DOC-1496
    Best regards!
    - Johannes

  • Why do I get a "Fatal Run Time Error: Out of Memory" after an hour while using RT on a PXI 8186?

    When I run this code with high speed DAQ+proccessing+control for over an hour in RT on an 8186, I get the above error. There were some arrays being built really quickly, etc. So I replaced these array initializations followed with "replace arrays subset" blocks. Still ,No luck.
    I'd really appreciate it if anyone could help me. the code can be posted here as well if reqd.
    I'm Running LV RT 7.1, and the target is a PXI-8186.
    Also, is there any way of allocating extra virtual memory in RT?

    Let me second everything that Aaron mentioned.
    Please post some code that demostrates your trouble and we will take a look.
    Gnerally I have to say that RT applications are rather demanding in the area of memory.
    I find myself avoiding data types that can vary in size, like strings. These can demand increases in buffer allocations such that the buffer previously allocated are insufficient, are tossed on the heap and another larger block is allocated. Too much of this happening can kill you in RT. Building strings is bad.
    Building arrays is just not allowed.
    LV2 globals (when properly coded) are useful in keeping memory useage static or diminishing. This dovetails with Aarons circular buffer.
    Review all code that is executed repeatedly using
    Tools >>> Advanced >>> Show Buffer Allocations
    In a nutshell, one or more of thes is killing you.
    Post your code so we can make specific suggestions.
    Trying to help,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Run-time error handling without popup

    I'm searching for a way to make a CVI executable more robust by performing an automatic routine if any run-time error occurs.  Basically I don't like the fact that a popup is displayed and the program is halted in the event of a fatal run-time error.  I cannot prevent a fatal run-time error from ever occurring so I was hoping there was a way to handle it automattically when CVI detects it.  So far though, the only thing that I've found is the CVI run-time error popup which suspends the program until user input or in release mode, a Windows popup that suspends the program in a similar manner with more cryptic OS level exception info.  I'm using Windows XP and CVI 2009, thanks.

    Ok, well, the source of the fatal run-time error seems to be within a function call to imaqSnap within the NI Vision library.  imaqSnap() is a function that just grabs 1 frame of video.  We're using NI Vision 8.5 with a PCI-1422 Imaq card and whenever there is no signal present at the input of the card, we get the following error:
    FATAL RUN-TIME ERROR:   "Imaq_support.c", line 187, col 18, thread id 0x000004F8:   Function : (errorCode = -1074397150 [0xbff60022]). A timeout error occurred while waiting for the specified event.  If waiting for an image, verify that all video data is acquired within the timeout period.  If waiting for a signal, verify that the signal assertion occurs within the timeout period.
    Line 187 is the line with the call to imaqSnap shown below:
                                                /* Initialize the Image Capture system */
                                                /* Open an interface and a session */
          ApplErrChk(imgInterfaceOpen ("img0", &Iid));
          ApplErrChk(imgSessionOpen (Iid, &Sid));
                                                /* set aquire mode */
        /* Snap a picture : ImaqBuffer is NULL, memory will be allocated by NI-IMAQ */
          AcqImage = NULL;
          AcqImage = imaqSnap (Sid, NULL, IMAQ_NO_RECT);
          if (AcqImage == NULL) {
            ErrNull = TRUE;
            iErrCode = imaqGetLastError();
            if (iErrCode != ERR_SUCCESS) goto tst_exit;
    It seems to me that this should not be a fatal run-time error, it should instead throw a non-fatal timeout error and allow our calling code to handle the null reference to the image.  Since it's a fatal error though, it doesn't allow me to ignore the run-time error and handle it gracefully.  The Sid and Iid references look fine when it throws the error so I'm unable to detect the problem before the function call.  Any thoughts on how to fix this issue?

  • Fatal Run-Time - Unknown Fault - on any CVI program close

    I have been trying to track down a few what seem like phantom Fatal Run Time Errors on my program closes.
    I am running LabWindows/CVI 2010 Full 10.0.1 (419)
    I originally posted here -> http://forums.ni.com/t5/LabWindows-CVI/EasyTab-ConvertFromCanvas-memory-leak/m-p/3084769#M69465
    As I thought this was related to tabs, where my resource tracker shows 'unclosed' resources.
    Now I am opening a different program and have found that even though I put my return 0; at the top of my main loop, I still get a fatal run time error.
    The error is exactly:
    FATAL RUN-TIMe ERROR
    Unknown source position, thread id 0x00001BB4 
    The program has caused a 'Unknown' fault at 0x748A4F11
    This occurs every time I run my program in the CVI IDE.
    There are no allocated resources in my resources window.
    Searching for either address in my map file brings no results.
    Thanks,
    Nick

    Hi ngay528,
    I have attached a link below to one of our discussion forums that walks through using the Resource Tracking feature of LabWindows/CVI. Again, sometimes this particular error is caused by leaving resources open at the end of an application, so this feature can help us identify those resources if that is the case. Please follow the steps listed in the solution of the thread (message number 4, marked in green). 
    FATAL RUN-TIME ERROR: Unknown source position, thread id 0x00000EB4: The program has caused a 'General Protection' fault at 0x00459B9D:
    http://forums.ni.com/t5/LabWindows-CVI/FATAL-RUN-TIME-ERROR-Unknown-source-position-thread-id/m-p/16...
    Thomas N.
    Applications Engineer
    National Instruments

  • Run time error in FBZ5

    Hi,
    while runing t,code FBZ5 , i am getting this run time error.
    Runtime Errors         CALL_FUNCTION_NOT_FOUND
    Except.                CX_SY_DYN_CALL_ILLEGAL_FUNC
    Date and Time          30.05.2009 13:12:34
    Short text
         Function module "OTF_LIST" not found.
    What happened?
         The function module "OTF_LIST" is called,
         but cannot be found in the library.
         Error in the ABAP Application Program
         The current ABAP program "SAPLSTXC" had to be terminated because it has
         come across a statement that unfortunately cannot be executed.
    Error analysis
         An exception occurred that is explained in detail below.
         The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_FUNC', was
          not caught in
         procedure "OTF_SEND_SPOOL" "(FORM)", nor was it propagated by a RAISING clause.
         Since the caller of the procedure could not have anticipated that the
         exception would occur, the current program is terminated.
         The reason for the exception is:
         The program "SAPLSTXC" contains the CALL FUNCTION statement.
         The name of the function module to be called is "OTF_LIST".
         No function module exists with the name "OTF_LIST".
    All function modules are listed in the Function Library (SE37).
      Possible reasons:
    a) Wrong name specified. Pay particular attention to
        upper/lower case and underscores ("_").
        or
    b) Transport error
    c) In the case of an enqueue/dequeue module,
        the lock object may not have been activated
        (ABAP/4 Dictionary).
    Line  SourceCde
      241             unknown_font = 2
      242             others       = 3.
      243   if sy-subrc <> 0.
      244     perform internal using 'OTF_SOFT_FONT_GET' sy-subrc.
      245   endif.
      246
      247 * insert in otf table before(!) font call, i. e. append
      248   check not otf[] is initial.
      249   append lines of l_sfont to otf[].
      250
      251 endform.
      252
      253
      254 form otf_send_spool tables otfdata structure itcoo
      255                     using  param   structure itcpp.
      256 data: l_parlen type i,
      257       l_dummy(1) type c,
      258       l_mult     type i,
      259       l_actmult  type i,
      260       l_cp       type tcp00-cpcodepage.
      261
      262 * right-to-left conversion
      263   if itcpp-tdrtl = true.                                            "RTL
      264     if spool_external_print <> true.                                "RTL
      265       perform otf_rtl_layout tables otf.                            "RTL
      266     endif.                                                          "RTL
      267   endif.                                                            "RTL
      268 * use old 2.0 ABAP driver or spooler c-routines
      269   if param-tdotfcall <> space.
      270     check param-tddest <> c_dest_null.
    >>>>>     call function param-tdotfcall
      272          tables otf = otfdata
      273          exceptions others = 1.
      274     if sy-subrc ne 0.
      275       perform fatal.
      276       call function 'SAPSCRIPT_MESSAGE'
      277            exporting typ = 'A'.
      278     endif.
      279   else.
      280     check param-tddest <> c_dest_null.
      281
      282     describe field l_dummy length l_mult in byte mode.
      283     l_actmult = l_mult.
      284
      285     loop at otfdata.
      286        case otfdata-tdprintcom.
      287          when pc_id_string.
      288            if c_unicode = false.
      289              l_parlen = 7 + otfdata-tdprintpar+5(2).
      290            else.
    Regards,
    balu

    Hi,
    Kindly check in debug wht the non existent FM 'OTF_LIST' is getting called?
    Probably this seems to be a dynamic call to some FM and the FM name is not getting generated properly.
    Regards,
    Ankur Parab

  • Run-time error '13':  Type mismatch

    There are A and B excel files.
    And two different POV-dimension in two excel files
    VBA code below:
    Dim vtGrid As Variant
    Dim vtDimNames As Variant
    Dim vtPOVNames As Variant
    x = HypRetrieve("sheet1")
    x = HypUseLinkMacro(True)
    Range("b10").Select
    x = HypGetSourceGrid("sheet1", vtGrid)
    ref = HypMenuVRefresh()
    x = HypGetPOVItems(vtDimNames, vtPOVNames)
    MsgBox (vtPOVNames(6))
    Range("a3").Value = "date: " & vtPOVNames(6) & " - " & vtPOVNames(3)
    Range("a4").Value = "dep : " & vtPOVNames(0)
    There is not any attribute dimension in pov A excel file.
    There is one attribute dimension in pov B excel file.
    The same VBA code excute is normal in A excel file.
    But the same VBA code excute is "run-time error '13': Type mismatch " in B excel file.
    The error '13' in the row of MsgBox (vtPOVNames(6)).
    Is attribute dimension in pov cause this question?
    And how did I solve this question?

    Based on where the error is occurring, it looks like the value returned by vtPOVNames(6) is not defaulting to a string datatype for the msgbox.
    Try 'cstr(vtPOVNames(6))' to force conversion of the value into a string. Also, you may want to test for nulls using IsNull() and empty variant values using IsEmpty().
    It doesn't look like the code you posted shows vtPOVNames being populated. If you're populating the names yourself, you could always use a string array instead of a variant array. Just dim the string array using a statement such as, "Dim strPOVNames(6) as String" or "Dim strPOVNames() as String" in case you need to ReDim the array later to size it for a non-fixed set of POV names.
    Hope this helps.

  • Run time Error while Creating Expense request

    Dear Friends ,
    In   E-Payment ( Expense  Claim )   creation , While clicking on Enter Receipts application is going to run time error for only one user.    
    Run time Error Info :
    Runtime Errors         OBJECTS_OBJREF_NOT_ASSIGNED
    Exception              CX_SY_REF_IS_INITIAL
    Short text
         Access via 'NULL' object reference not possible.
    What happened?
         Error in the ABAP Application Program
         The current ABAP program "CL_WDR_P13N_UTILITIES=========CP" had to be
          terminated because it has
         come across a statement that unfortunately cannot be executed.
    Error analysis  
        An exception occurred that is explained in detail below.
       The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not
        caught in
       procedure "PRESET" "(METHOD)", nor was it propagated by a RAISING clause.
       Since the caller of the procedure could not have anticipated that the
       exception would occur, the current program is terminated.
       The reason for the exception is:
       You attempted to use a 'NULL' object reference (points to 'nothing')
       access a component (variable: "LR_CONTEXT_ELEMENT").
       An object reference must point to an object (an instance of a class)
       before it can be used to access components.
       Either the reference was never set or it was set to 'NULL' using the
       CLEAR statement.
    How to correct the error 
         Probably the only way to eliminate the error is to correct the program.
       If the error occures in a non-modified SAP program, you may be able to
       find an interim solution in an SAP Note.
       If you have access to SAP Notes, carry out a search with the following
       keywords:
       "OBJECTS_OBJREF_NOT_ASSIGNED" "CX_SY_REF_IS_INITIAL"
       "CL_WDR_P13N_UTILITIES=========CP" or "CL_WDR_P13N_UTILITIES=========CM002"
       "PRESET"
    Information on where terminated
        Termination occurred in the ABAP program "CL_WDR_P13N_UTILITIES=========CP" -
         in "PRESET".
        The main program was "SAPMHTTP ".
        In the source code you have the termination point in line 60
        of the (Include) program "CL_WDR_P13N_UTILITIES=========CM002".
        The termination is caused because exception "CX_SY_REF_IS_INITIAL" occurred in
        procedure "PRESET" "(METHOD)", but it was neither handled locally nor declared
        in the RAISING clause of its signature.
        The procedure is in program "CL_WDR_P13N_UTILITIES=========CP "; its source
         code begins in line
        1 of the (Include program "CL_WDR_P13N_UTILITIES=========CM002 ".
    Regards,
    Suresh .

    Hi Agrawal
    As you are getting run-time error after entering the sold to party and material and the error is in SAPLV61Z ,
    close the session for sometime and open again and then create sales order and then enter sold to party and material and then check wheather you are getting or not. If you are still facing the problem then take the help of the ABAP & BASIS consultant's.
    Regards
    Srinath

  • Run time error while closing the CRM Order using BAPI

    Hi Experts,
    Need your invaluable suggestions here.Apologies for the lengthy mail, intention is to give clear idea of the issue.
    I am facing an issue while closing the CRM orders. According to our business process, when an issue is solved we will keep the order in resolved status only. We will not directly close the order from the CRM tool, instead we have created a custom program for the same purpose.
    For the custom program we will give input as the order number and execute it, this will close the order.
    Here close the order means assigning it to Close status as well assign the reason code.
    We have created some reason codes for closed status.
    So when the program is run the Order moves from resolved status to closed status along with reason code.
    But of late we are facing some problems with this program, it is giving run time error for some CRM orders.
    Run time error message : The ABAP/4 Open SQL array insert results in duplicate database records.
    The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught in procedure "CRM_SERVICE_OS_UPD_OST_DU" "(FUNCTION)", nor was it propagated by a RAISING clause.
    Please find my code which have used in the custom program
    Closing the resolved SOs in the system
        CALL FUNCTION 'CRM_STATUS_CHANGE_EXTERN_OW'
            EXPORTING
              objnr                     = iv_guid
              user_status          = lc_status_closed
           EXCEPTIONS
             object_not_found          = 1
             status_inconsistent       = 2
             status_not_allowed       = 3
             OTHERS                        = 4.
        IF sy-subrc <> 0.
          WRITE :  'Error at maintaining status'.
        ENDIF.
    Set reason code
    build lt_subject
        ls_subject-ref_guid = iv_guid.
        ls_subject-katalogart = 'A2'.
        ls_subject-codegruppe = 'ZR000003'.
        ls_subject-code       = 'ZR33'.                      " Reason code
        ls_subject-mode       = 'A'.
        APPEND ls_subject TO lt_subject.
    build lt_ossset
        ls_osset-ref_guid        = iv_guid.
        ls_osset-subject_profile = 'ZREASON03'.
        ls_osset-profile_type    = 'G'.
        ls_osset-subject         = lt_subject.
        APPEND ls_osset TO lt_osset.
    build lt_service_os
        ls_service_os-ref_guid  = iv_guid.
        ls_service_os-ref_kind  = 'A'.
        ls_service_os-osset     = lt_osset.
        APPEND ls_service_os TO lt_service_os.
    build lt_input_fields
        REFRESH: lt_input_fields, lt_field_names.
        CLEAR  : ls_input_fields, ls_field_names.
        ls_field_names-fieldname    = 'CODE'.
        APPEND ls_field_names TO lt_field_names.
        ls_field_names-fieldname    = 'CODEGRUPPE'.
        APPEND ls_field_names TO lt_field_names.
        ls_field_names-fieldname    = 'KATALOGART'.
        APPEND ls_field_names TO lt_field_names.
        ls_field_names-fieldname    = 'SERVICE_PROFILE'.
        APPEND ls_field_names TO lt_field_names.
        ls_input_fields-ref_guid    = iv_guid.
        ls_input_fields-ref_kind    = 'A'.
        ls_input_fields-objectname  = 'SERVICE_OS'.
        ls_input_fields-field_names = lt_field_names.
        APPEND ls_input_fields TO lt_input_fields.
         CALL FUNCTION 'CRM_ORDER_MAINTAIN'
          EXPORTING
            it_service_os     = lt_service_os
          CHANGING
            ct_input_fields   = lt_input_fields
          EXCEPTIONS
            error_occurred    = 1
            document_locked   = 2
            no_change_allowed = 3
            no_authority      = 4
            OTHERS            = 5.
        IF sy-subrc <> 0.
          WRITE :  'Error at maintaining reason'.
        ENDIF.
        CALL FUNCTION 'CRM_ORDER_SAVE'
          EXPORTING
            it_objects_to_save   = lt_header_guid
            iv_update_task_local = lv_update_task_local
          IMPORTING
            et_saved_objects     = lt_saved_objects
          EXCEPTIONS
            document_not_saved   = 1
            OTHERS               = 2.
        IF sy-subrc <> 0.
          WRITE : 'Error at saving'.
        ELSE.
          WRITE : 'Successfully Closed'.
          COMMIT WORK AND WAIT.
        ENDIF.
    Run time error is coming at COMMIT WORK AND WAIT statement.
    Please let me know any corrections are required in the above program.
    When I analyzed the run time error I have found that it trying to insert the record in CRMD_SRV_OSSET for that CRM order, but already one record is present in the table for the same CRM order number.
    For most of the CRM orders there is no entry in this table so they are closing successfully but for a few orders for which there is an entry we are getting the above run time error.
    There is nothing wrong with the orders which have an entry already in the table CRMD_SRV_OSSET, I need to close these kind of orders with out run time error.
    Kindly provide your feedback.

    Hi Dinakar,
    You posted this in APO PPDS forum. This question should go to PP forum where someone could answer it.
    Please close this thread and open a new thread in PP forum so that you could get help quickly from the relevant experts.
    Regards - Pawan

  • While doing SO, im getting run time error - reg;

    Hi,
    While doing sales order and whenever im doing save its  getting runtime error.
    Runtime Errors         MESSAGE_TYPE_X
    Date and Time          14.12.2011 10:55:26
    Short dump has not been completely stored (too big)
    Short text
        The current application triggered a termination with a short dump.
    What happened?
        The current application program detected a situation which really
        should not occur. Therefore, a termination with a short dump was
        triggered on purpose by the key word MESSAGE (type X).
    What can you do?
        Note down which actions and inputs caused the error.
        To process the problem further, contact you SAP system
        administrator.
        Using Transaction ST22 for ABAP Dump Analysis, you can look
        at and manage termination messages, and you can also
        keep them for a long time.
    Error analysis
        Short text of error message:
        Maintain the current CRM release (table CRMPAROLTP)
        Long text of error message:
         Diagnosis
             Various transfer errors occur when transferring SAP sales orders to
             CRM or there is no status update or the status update has errors
             when transferring from CRM to the SAP system. This is caused by an
             incorrect entry for the CRM release in the SAP table CRMPAROLTP, or
             no entry is maintained at all.
         System Response
             To avoid data inconsistencies, this message causes a short dump.
         Procedure
             Maintain table CRMPAROLTP in your SAP system as is described in SAP
             Note 691710 and then repeat the process again.
         Procedure for System Administration
        Technical information about the message:
        Message class....... "V3"
        Number.............. 302
        Variable 1.......... " "
        Variable 2.......... " "
        Variable 3.......... " "
        Variable 4.......... " "
    How to correct the error
        Probably the only way to eliminate the error is to correct the program.
        If the error occures in a non-modified SAP program, you may be able to
        find an interim solution in an SAP Note.
    Runtime Errors         MESSAGE_TYPE_X
    Date and Time          14.12.2011 10:55:26
    hort dump has not been completely stored (too big)
        If you have access to SAP Notes, carry out a search with the following
        keywords:
        "MESSAGE_TYPE_X" " "
        "SAPMV45A" or "MV45AF0B_BAPIDATEN_ERMITTELN"
        "BAPIDATEN_ERMITTELN"
        If you cannot solve the problem yourself and want to send an error
        notification to SAP, include the following information:
        1. The description of the current problem (short dump)
           To save the description, choose "System->List->Save->Local File
        (Unconverted)".
        2. Corresponding system log
           Display the system log by calling transaction SM21.
           Restrict the time interval to 10 minutes before and five minutes
        after the short dump. Then choose "System->List->Save->Local File
        (Unconverted)".
        3. If the problem occurs in a problem of your own or a modified SAP
        program: The source code of the program
           In the editor, choose "Utilities->More
        Utilities->Upload/Download->Download".
        4. Details about the conditions under which the error occurred or which
        actions and input led to the error.
    System environment
        SAP-Release 700
        Application server... "personal"
        Network address...... "192.168.2.11"
        Operating system..... "Windows NT"
        Release.............. "5.2"
        Hardware type........ "4x Intel 80686"
        Character length.... 16 Bits
        Pointer length....... 32 Bits
        Work process number.. 1
        Shortdump setting.... "full"
        Database server... "PERSONAL"
        Database type..... "ORACLE"
        Database name..... "GCU"
        Database user ID.. "SAPSR3"
        Char.set.... "C"
        SAP kernel....... 700
        created (date)... "Aug 29 2006 00:18:21"
        create on........ "NT 5.0 2195 Service Pack 4 x86 MS VC++ 13.10"
        Database version. "OCI_10201_SHARE (10.2.0.1.0) "
        Patch level. 75
        Patch text.. " "
    Runtime Errors         MESSAGE_TYPE_X
    Date and Time          14.12.2011 10:55:26
    hort dump has not been completely stored (too big)
        Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
        SAP database version. 700
        Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2"
        Memory consumption
        Roll.... 8176
        EM...... 30311496
        Heap.... 0
        Page.... 139264
        MM Used. 14538320
        MM Free. 91952
    User and Transaction
        Client.............. 100
        User................ "INFO_SD"
        Language key........ "E"
        Transaction......... "VA01 "
        Program............. "SAPMV45A"
        Screen.............. "SAPMV45A 4001"
        Screen line......... 65
    Information on where terminated
        Termination occurred in the ABAP program "SAPMV45A" - in "BAPIDATEN_ERMITTELN".
        The main program was "SAPMV45A ".
        In the source code you have the termination point in line 338
        of the (Include) program "MV45AF0B_BAPIDATEN_ERMITTELN".
    Edited by: kiran35086 on Dec 14, 2011 6:30 AM

    Dear  kiran,
    This might be many reasons.If you have not done  configuration properly system will take you to dump(Run time error).
    Try read the diagnosis possibly you may understand the problem.
    If not You coordinate with your technical team.
    Thanks&Regards
    Raghu.k

Maybe you are looking for