2011 Feb 22 8:10 PM
Hi Experts,
We are getting short dump on IW32 transaction when the users hit SAVE button.
The Dump Details:
Runtime Errors SYNTAX_ERROR
Short text
Syntax error in program "WORKORDER_UPDATE==============CP ".
What happened?
Error in the ABAP Application Program
The current ABAP program "CL_EX_WORKORDER_UPDATE========CP" had
terminated because it has
come across a statement that unfortunately cannot be executed.
The following syntax error occurred in program
"WORKORDER_UPDATE==============CP " in include
"WORKORDER_UPDATE==============CM000 " in
line 12:
"The specified type cannot be converted into the target variable
" "
" "
" "
The current ABAP program "CL_EX_WORKORDER_UPDATE========CP" had to be
terminated because it has
come across a statement that unfortunately cannot be executed.
Error analysis
The following syntax error was found in the program
WORKORDER_UPDATE==============CP :
"The specified type cannot be converted into the target variables."
" "
" "
" "
Information on where terminated
Termination occurred in the ABAP program "CL_EX_WORKORDER_UPDATE========CP" -
in "IF_EX_WORKORDER_UPDATE~AT_SAVE".
The main program was "SAPLCOIH ".
After going through the dump analysis, I found that there are around 25 BADI Implementations got created on Enhancement Spot "WORKORDER_UPDATE".
How to find out which BADI Implementations is causing this dump?
Please let me know.
Thanks.
Edited by: ravi kumar on Feb 22, 2011 1:12 PM
2011 Feb 23 11:40 AM
Can you please try to re-activate in SBX system each class and BADI implementation itself and try again?
Sometime it is purely an activation problem.
2011 Feb 22 8:16 PM
I am pretty sure that dump would tell you at least the code where the syntax error is?
You have 25 implementations and you also know the method 'AT_SAVE'.. You can go to SE19 for those implementation (or drill down from where used list for the BADI) and double click on implementing class (by expanding the tree node on the left side) and then doube click on the AT_SAVE method to find the "guilty" code... I would start with Z implementations first...
shouldn't take you more than 25 minutes (generous estimate of 1 minute a implementation)
2011 Feb 22 8:27 PM
Thanks for the response.
I am pretty sure that dump would tell you at least the code where the syntax error is?
The dump is pointing to line#1 of the Code:
method IF_EX_WORKORDER_UPDATE~AT_SAVE.
CLASS CL_EXIT_MASTER DEFINITION LOAD.
DATA l_badi TYPE REF TO WORKORDER_UPDATE.
TRY.
GET BADI l_badi
CONTEXT me.
CALL BADI l_badi->AT_SAVE
EXPORTING
IS_HEADER_DIALOG = IS_HEADER_DIALOG
EXCEPTIONS
ERROR_WITH_MESSAGE = 1.
case sy-subrc.
when 1. raise ERROR_WITH_MESSAGE.
endcase.
CATCH CX_BADI_NOT_IMPLEMENTED CX_BADI_INITIAL_REFERENCE.
ENDTRY.
endmethod.
So how to find out the issue? What do you mean by the "Guilty" Code - when it is pointing to the Standard Program?
2011 Feb 22 8:18 PM
below the short dump information, you will find a sequence in which different program was called still short dump generated
(you have to scroll down a bit)
also from the short dump itlsef you can go to the line number where it is giving dump, you can put a break-point and change the value to bypass the dump to see BADI implementation name
Thanks
2011 Feb 22 8:29 PM
Here's the Source Code Extracation:
Source Code Extract
Line SourceCde
>>>>> method IF_EX_WORKORDER_UPDATE~AT_SAVE.
2 CLASS CL_EXIT_MASTER DEFINITION LOAD.
3
4 DATA l_badi TYPE REF TO WORKORDER_UPDATE.
5
6
7
8
9
10 TRY.
11
12 GET BADI l_badi
13 CONTEXT me.
14
15 CALL BADI l_badi->AT_SAVE
16 EXPORTING
17 IS_HEADER_DIALOG = IS_HEADER_DIALOG
18 EXCEPTIONS
19 ERROR_WITH_MESSAGE = 1.
20
Thanks.
2011 Feb 22 8:32 PM
Did you try the ACTIVE CALLS stack in the dump as suggested by Krishnendu? or put a breakpoint ? I would also check to see if there were changes to any of Custom BADI implementations that were transported recently...
2011 Feb 22 8:45 PM
Yes, I tried the Active Calls Stack also. The Short Dump is occuring exactly at the line :-
method IF_EX_WORKORDER_UPDATE~AT_SAVE.
in Class:-
CL_EX_WORKORDER_UPDATE
.
I was informedby the user that this is working perfectly fine in DEV System. The Short Dump is occuring in SBX System.
When I executed the Class "CL_EX_WORKORDER_UPDATE" and Method "IF_EX_WORKORDER_UPDATE~AT_SAVE" via SE24 in SBX, I got the same dump. However it worked fine in DEV System.
I am wondering if the issue is with the Standard Program itself?
Any ideas?
Thanks a lot again.
Another thing is: It is short dumping even before calling any of the BADI Implementations.
Wanted to give some more info on this: I put a break point in Function "CO_ZV_ORDER_POST" after the CALL FUNCTION 'CO_BADI_GET_BUSINESS_ADD_IN'.
And the program dumps right after that when it calls the: CALL METHOD lp_badi_if->at_save.
Thanks.
Edited by: ravi kumar on Feb 22, 2011 1:51 PM
Edited by: ravi kumar on Feb 22, 2011 2:11 PM
2011 Feb 22 9:40 PM
What difference you see between DEV and SBX Systems when you debug FM "CO_ZV_ORDER_POST"?
2011 Feb 22 9:58 PM
When I was debugging the FM in DEV System, as soon as it calls the Method "lp_badi_if->at_save", it goes to the "CL_BADI_CACHE_HANDLER=>GET_INSTANCE" method and then returns to method CL_EX_WORKORDER_UPDATE-IF_EX_WORKORDER_UPDATE~AT_SAVE".
However in SBX System, as soon as it calls the Method "lp_badi_if->at_save", it short dumps.
Thanks.
2011 Feb 23 11:40 AM
Can you please try to re-activate in SBX system each class and BADI implementation itself and try again?
Sometime it is purely an activation problem.
2011 Aug 09 9:34 PM
Hi Ravi, How did U resolve this coz Iam seeing the same problem with one of my Badi implementations..
2012 Dec 29 9:46 PM
Sorry, it's a late response. But my issue was because one of the Implementations was "Inactive. So I activated that and it resolved the issue. Thought anybody with the same issue would benefit from this.