Skip to Content
0
Former Member
Feb 19, 2014 at 09:45 AM

Call of a method or kernel Method that has not been implemented

1011 Views

Dear SCNer's,

Recently, we have applied patches in Development and Quality. Everything is working fine in Development but coming to Quality the users are facing problems. We are getting dump errors while accessing T-codes: SU01, CRAH etc.

After giving all the details for creating a users then if I press the save button then I am getting this dump error.

If I apply kernel patches will this error get solved ?

If this problem is related to kernel, then why am I not facing the same problem in Development system ?

I can't find SAP notes related to this problem.

I would be very thankful for your valuable suggestions.

ST22 DUMP:


Error analysis:

An exception occurred that is explained in detail below.

The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_METHOD', was

not caught in

procedure "IF_EX_HRBAS00INFTY~BEFORE_UPDATE" "(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:

It was tried to call a not-implemented method

"IF_EX_HRBAS00INFTY~BEFORE_UPDATE" in the class "CL_IM_HRPADKZ_1657".

How can this occur?

1. Implementation of Global Interfaces

If a class implements a global interface, not all methods must be

implemented. Then there will be no syntax error, but a warning at the

implementing class. A runtime error only occurs when a not-implemented

method is called. This is what happened here.

This technique allows to add a method in an interface that can be

implemented bit by bit. A runtime error only occurs as early as a

not-implemented method is called.

2. Calling abstract Methods in the Contructor

When the CONSTRUCTOR of a class is running, no 'late binding' of the

methods occurs, that means, over-defined methods are not called, but

only the own methods of the class (or of superclasses). This can lead to

the situation that it is tried to call an absolute method. This

situation can only be detected at runtime and causes this error message.

3. Calling a Kernel Method with the Implementation FAIL

When defining a Kernel method, it is possible to specify a list of C

modules. If FAIL is specified as last C module and all C modules in the

list do not exist in the Kernel, an exception is raised at runtime.

How to correct the error:

The class "CL_IM_HRPADKZ_1657" must implement the method

"IF_EX_HRBAS00INFTY~BEFORE_UPDATE".

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:

"CALL_METHOD_NOT_IMPLEMENTED" "CX_SY_DYN_CALL_ILLEGAL_METHOD"

"CL_EX_HRBAS00INFTY============CP" or "CL_EX_HRBAS00INFTY============CM003"

"IF_EX_HRBAS00INFTY~BEFORE_UPDATE"

Information on where terminated:

Termination occurred in the ABAP program "CL_EX_HRBAS00INFTY============CP" -

in "IF_EX_HRBAS00INFTY~BEFORE_UPDATE".

The main program was "SAPMSUU0 ".

In the source code you have the termination point in line 35

of the (Include) program "CL_EX_HRBAS00INFTY============CM003".

The termination is caused because exception "CX_SY_DYN_CALL_ILLEGAL_METHOD"

occurred in

procedure "IF_EX_HRBAS00INFTY~BEFORE_UPDATE" "(METHOD)", but it was neither

handled locally nor declared

in the RAISING clause of its signature.

The procedure is in program "CL_EX_HRBAS00INFTY============CP "; its source

code begins in line 1 of the (Include program "CL_EX_HRBAS00INFTY============CM003 ".