Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Message_TYPE_X in VA01 when run via BDC Call Transaction

Former Member
0 Kudos

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

4 REPLIES 4

Former Member
0 Kudos

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

http://benxbrain.com/en%28bD1lbiZjPTAwMQ==%29/index.do?onInputProcessing=brai_thread&001_thread_id=1...

Thanks

tarak

Former Member
0 Kudos

Hi,

as we are facing a very similar issue we like to know if you have resolved your issue?

 

Best,

Jörg

former_member201275
Active Contributor

former_member201275
Active Contributor
0 Kudos