05-11-2006 4:38 PM
Hello, all.
I have a strage behaviour with one of my customer's programs. Running this problem caused no problems before I edited it. After I edited it, <b>without making any changes to the source code</b>, but saving and activating it again, the program won't run anymore.
One of the SQL statements in the program, as the dump that the execution throws now (I repeat, this dump wasn't thrown before I edited and re-activated the program) is too long: the ABAP runtime error I get now is SAPSQL_STMNT_TOO_LARGE.
How is that possible?
Thank you,
Bogdan
05-11-2006 4:42 PM
Hi Bogdon,
Go to version management from uitilities and compare the codes before and after activation.
Probably you have missed a '.' in your code and that made the compiler assume that a statement is too large.
Regards,
Ravi
05-11-2006 4:57 PM
As I mentioned before, the select statement was absolutely, 100%, unchanged.
But I did change something, and that was the selection screen.
A few select-options were declared like this:
... FOR caufv-aufnr
... FOR caufv-auart
... FOR caufv-erdat
... FOR caufv-werks
and I've replaced that (in order to have F4 assistance) with:
... FOR afko-aufnr
... FOR aufk-auart
... FOR aufk-erdat
... FOR aufk-werks
This caused the dump, rolling back the change makes the program work again.
Still, this is some very strage behaviour.
Can anyone explain it? That person'll get all my points.
Thanks,
Bogdan
05-11-2006 5:04 PM
Hi Bogdan,
PL take a look at the OSS Note 779374. It talks about the 64k limitation in the where clause.
Regards,
Suresh Datti
05-11-2006 5:22 PM
Suresh,
I think the problem might be related to what is written in this note. I'll check. Thanks.
Bogdan
05-11-2006 4:42 PM
the dump anlaysis will show you where exactly the error occurred with an arrow.. PL examine that SQL statemente carefully if you have accidentally hit 'ENTER' & created a blank line etc..
Regards,
Suresh Datti
05-11-2006 4:42 PM
Hi Bogdan,
check out the threads:
sap.ittoolbox.com/groups/technical-functional/ SAP-R3-ALE/short-dump-in-select-statement
https://forums.sdn.sap.com/thread. jspa?threadID=11318&messageID=77748 - 47k
award pts if helpful.
regards,
keerthi.
05-11-2006 5:03 PM
hii
plzz go thru the dump analysis
and catch exactly the line where it throws error .
the error is somewhere around
i'm sure some '.' might have been missed .
reply back for more help .
Thanks®ards
Naresh
05-11-2006 5:05 PM
Bogdan,
Goto Utilities ->versions->Version Management...
It will show you all versions. Uisng this you can goto Active Version of program as well.
You can even compare two verions for change.
Overall your error descriptions says you have miss Period '.' or '"'
Hope this will help you.
Cheers,
Nilesh
05-11-2006 5:13 PM
Guys,
Please don't insist on a wrong track.
I did ofcourse compare the two versions of the program (I did it long time before writing this post). And yes, ofcourse I analised the ST22 dump, and also the ST11 error log file.
The SQL Statement, as I previously said, was 100% UNCHANGED.
The select-options caused the problem, I've already reproduced the behaviour a few times since my last post.
Can you explain how two different ways of declaring the select-options of a program can change the execution behaviour of the same piece of software?
Thanks,
Bogdan
05-11-2006 5:15 PM
05-11-2006 5:17 PM
05-11-2006 5:08 PM
You will get SAPSQL_STMNT_TOO_LARGE error typically when you have a SELECT statement with too many single values. It has nothing to do with your changing the select option definitions. Can you post your SELECT statement please?
Srinivas
05-11-2006 5:16 PM
Well, yes it seems it has something to do with the select options. I repeat, I reproduced the behaviour a few times already.
Bogdan
05-11-2006 5:10 PM
Hi Bogdon,
I'm adding my figment of imagination to your problem.
Probably your enter key got stuck after being accidentally pressed.
eg:
select *
from mara
into table itab
where matnr = '00000001'.
now that you have pressed enter, the slect statement would have been converted into
select *
from mara
into table itab
where matnr = '00000001
*some lines
*some lines
'.
REgards
05-11-2006 5:15 PM
05-11-2006 5:23 PM
That is strange because you will get this error when your where clause is too long when it is interpreted into native SQL command by the compiler. I think at this point, we may need to see the code and the an extract of the dump to identify what caused it.
05-11-2006 9:32 PM
I think it may be that the program that you activated, but didn't change may have been inactive to start with. In other words, version X was saved and activated a long time ago. After that, but before you came along, someone changed and saved the code, but did not activate it. This created version X+1. So when you activated what you thought was unchanged code, you were actually activating changed code.
You might see if the code you activated is different from that in production. And you might want to check which version is in production. And you might see what are the differences between the current an previous version.
Rob