‎2007 Dec 12 1:40 PM
Hi Experts,
I got a dump at the select statement in the production during the excution.The Details of the program are :
DATA : BEGIN OF it_ekko OCCURS 0.
INCLUDE STRUCTURE ekko.
DATA : END OF it_ekko.
.....
.....
.....
START-OF-SELECTION.
SELECT * FROM ekko
INTO TABLE it_ekko
WHERE ebeln IN p_ebeln
AND aedat IN p_aedat
AND bsart IN p_bsart
AND lifnr IN p_lifnr.
In ST22, the description of dump details is as follows.
<b><u>What happened?</u></b>
Error in ABAP application program.
The current ABAP program "ZMMRP126_1" had to be terminated because one of the statements could not be executed.
This is probably due to an error in the ABAP program.
<b><u>Error analysis</u></b>
An exception occurred. This exception will be dealt with in more detail
below. The exception, assigned to the class 'CX_SY_OPEN_SQL_DB', was not
caught, which
led to a runtime error. The reason for this exception is:
The SQL statement generated from the SAP Open SQL Statement violates a
restriction imposed by the database system used in R/3.
Possible errors:
o The maximum size of an SQL statement has been exceeded.
o The statement contains too many input variables.
o The space needed for the input data exceeds the available memory.
o ...
You can usually find details in the system log (SM21) and in the
developer trace of the work process (ST11).
If an error occurs the developer trace often informs you about the
current restrictions.
<b><u>Source Code Extract</u></b>
001830
-
> SELECT * FROM ekko "read through purchase orders
001850 INTO TABLE it_ekko
001860 WHERE ebeln IN p_ebeln "for order number
001870 AND aedat IN p_aedat "created date
001880 AND bsart IN p_bsart "document type
001890 AND lifnr IN p_lifnr.
001900
001910 LOOP AT it_ekko INTO ekko.
001920 PERFORM process_items. "read, check and save line items
001930 ENDLOOP.
<b><u>Contents of system fields</u></b>
SY field contents..................... SY field contents.....................
SY-SUBRC 0 SY-INDEX 0
SY-TABIX 1 <b>SY-DBCNT 69682</b>
SY-FDPOS 0 SY-LSIND 0
SY-PAGNO 0 SY-LINNO 1
SY-COLNO 1 SY-PFKEY
SY-UCOMM SY-TITLE Purchase Order Receipt Status
SY-MSGTY I SY-MSGID SF
SY-MSGNO 616 SY-MSGV1 5000098347
SY-MSGV2 SY-MSGV3
SY-MSGV4
Kindly help me to solve out this issue.
Thanks & Regards,
Krishna Kishore .K
‎2007 Dec 12 1:56 PM
hi,
I think you declared p_ebeln as parameter and used in where condition with IN operator.
Could you change with EQ operator.
Or If p_ebeln is select-oprions means check you are giving high range in the selection screen for the input values.
try to check by giving 1 purchase order i.e p_ebeln = 'XXXX' only.
dont give range.
If output is big range means program goes to dump.
are you trying to modify EKKO table in the program?
Please reward if its useful.
Thanks
Sivaparvathi
Or
‎2007 Dec 12 1:47 PM
Are you doing multiple selects against EKKO? The reason why I am asking is because the select statement in the dump has comments next to it ("read through purchase orders") and the EKKO startment right after start of selection does not. So you might want to check that. If you need two table reads, consider creating a separate internal table.
John
‎2007 Dec 12 1:47 PM
Hi
Try to check how many hits were entered in the select-options.
Max
‎2007 Dec 12 1:48 PM
>You can usually find details in the system log (SM21)
So, what does SM21 indicate happened at the time of this dump?
matt
‎2007 Dec 12 1:51 PM
Hi,
You have writen the code as in p_field
if this is a parameter there will be single value
modify your select to
SELECT * FROM ekko
INTO TABLE it_ekko
WHERE ebeln <b>EQ</b> p_ebeln
AND aedat EQ p_aedat
AND bsart EQ p_bsart
AND lifnr <b>EQ</b> p_lifnr.
basically parameter contains a single value
Regards,
siva chalasani.
<b>Reward points if found usefull</b>
‎2007 Dec 12 1:51 PM
‎2007 Dec 12 1:56 PM
hi,
I think you declared p_ebeln as parameter and used in where condition with IN operator.
Could you change with EQ operator.
Or If p_ebeln is select-oprions means check you are giving high range in the selection screen for the input values.
try to check by giving 1 purchase order i.e p_ebeln = 'XXXX' only.
dont give range.
If output is big range means program goes to dump.
are you trying to modify EKKO table in the program?
Please reward if its useful.
Thanks
Sivaparvathi
Or