03-21-2013 7:13 AM
Dear Experts,
User is getting an error message while they RUN their recording which they recorded for VA01 header text update in Non Batch mode.
They get an error called "Message_Type_X". This is coming after they upgraded ECC 6.0 to EHP4 to EHP6.
Earlier user was not getting any issue.
Now user have applied the latest patch also for their GUI but still get the same issue.
Can any one please suggest some solution?
Note -Procedure for updating text will remain same (via BDC only). It cannot be changed.I mean alternate method like BAPI etc can not be used.
Some of ST22 texts are as follows
Error analysis
Short text of error message:
Error number -2 receiving the results of an OLE call
Long text of error message:
Diagnosis
The system could not assign the results of an OLE Automation call
to the correct program variables.
Meanings of the error number " "
o -1: The event memory of the automation queue is destroyed -
internal error
o 1: There is no valid link to the program variables
(PcbInvalidId)
o 2: The link cannot be expanded (PcbInternal)
o 3: The link points to an internal table that has been cleared
(PcbItabFreed)
o 4: The link points to a local variable whose stack frame has
been released (PcbStackFreed).
Note: Errors 3 and 4 indicate a programming error. When you program
with controls, you must ensure that the return value (for example,
the selected node of a tree) is not written into a local variable.
For performance reasons, control calls are not necessarily sent to
the front end imnmediately, but are placed in a queue instead. The
queue may be sent to the frontend at a point where the local
variable no longer exists because, for example, the call occurred
in a subroutine that had ended by the time the queue was flushed.
Avoid control calls with local importing parameters.
System Response
The system assumes that correct processing is no longer possible
without the return value. To be on the safe side, it stops
processing.
Procedure
Depending on the kind of error, the application program may need
correcting (error number 3 or 4) or a system error occurred while
processing the automation queue (SAP Automation Controller).
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:
"MESSAGE_TYPE_X" " "
"SAPLOLEA" or "LOLEAU10"
"AC_FLUSH_CALL_INTERNAL"
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.
SAP Release..... 731
SAP Basis Level. 0004
SAP kernel....... 721
Patch level. 100
Information on where terminated
Termination occurred in the ABAP program "SAPLOLEA" - in
"AC_FLUSH_CALL_INTERNAL".
The main program was "SAPMV45A ".
In the source code you have the termination point in line 526
of the (Include) program "LOLEAU10".
Error occurred during batch input processing
Source Code Extract
Line SourceCde
496 IF ref->absolute_name = '\TYPE-POOL=OLE2\TYPE=OLE2_OBJECT' OR
497 ref->absolute_name = '\TYPE-POOL=CNTL\TYPE=CNTL_HANDLE' OR
498 ref->absolute_name = '\TYPE=OBJ_RECORD'.
499 IS_OLE_OBJECT = 'X'.
500 MOVE <D> TO OBJECT.
501 ELSE.
502 CLEAR: IS_OLE_OBJECT.
503 ENDIF.
504 *- check the header
505 IF NOT IS_OLE_OBJECT IS INITIAL.
506 *- its a ole2_object, so restore clsid value for later search in type-
507 *- library. This is neccessary to support old automation server which
508 *- do not support a standard language
509
510 * special UNICODE handling
511 ASSIGN vars-value TO <AC_X1> casting.
512 ASSIGN TEMP_OBJECT TO <AC_X2> casting.
513 MOVE <AC_X1> TO <AC_X2>.
514 MOVE OBJECT-CLSID TO TEMP_OBJECT-CLSID.
515
516 SYSTEM-CALL SOLID POINTER
517 MOVE RESULT_VARS_WA-POINTER FROM TEMP_OBJECT.
518 ELSE.
519 if VARS-ELEMENT = '_SRESULT'.
520 * If there is a long (>255) return value
521 read table svars into SVARS_RECORD index vars-value.
522 if sy-subrc = 0.
523 SYSTEM-CALL SOLID POINTER
524 MOVE RESULT_VARS_WA-POINTER FROM SVARS_RECORD-VALUE.
525 else.
>>>>> MESSAGE X373 WITH '-2'. "=================> Error
527 endif.
528 else.
529 SYSTEM-CALL SOLID POINTER
530 MOVE RESULT_VARS_WA-POINTER FROM VARS-VALUE.
531 endif.
532 ENDIF.
533 IF SY-SUBRC <> 0.
534 MESSAGE X373 WITH SY-SUBRC."==========================> Error
535 ENDIF.
536 ENDIF.
537 ELSE.
538 MESSAGE X373 WITH '-1'. "==============================> Error
539 ENDIF.
540 ENDLOOP.
541
542 * clear tables and free solid pointers
543 PERFORM RESET_BUFFER.
544
545 * return sy-subrc to calling function
03-21-2013 7:50 AM
Hi rahul,
As per my Exp , I got this Message Type X lots of times.And everytime it has been solved by BASIS team.please ask ur BASIS to solve this issue.I think it will be solved by them.
u can check below link.
http://scn.sap.com/thread/726332
Thanks
tarak
08-21-2013 11:56 AM
Hi,
as we are facing a very similar issue we like to know if you have resolved your issue?
Best,
Jörg
08-21-2013 12:04 PM
I think this is what you are looking for:
http://wiki.sdn.sap.com/wiki/display/NWTech/MESSAGE_TYPE_X+dumps+when+opening+Easy+Access+Menu
08-21-2013 12:10 PM
here another useful link, it seems definitely gui related:
http://sap.ittoolbox.com/groups/technical-functional/sap-basis/err-message_type_x-for-sapgui-1470853