‎2007 Mar 19 6:53 AM
Hi,
i need some guides to solve this problem.
The program works fine in client DEV. However, when it's in QAS, we encounter short dump: Runtime Error DBIF_RSQL_SQL_ERROR exception CX_SY_OPEN_SQL_DB
info from short dump:
An SQL error occurred when accessing a table.
_______________
Error analysis
_______________
An exception occurred. This exception is dealt with in more detail below
. The exception, which is assigned to the class 'CX_SY_OPEN_SQL_DB', was
neither
caught nor passed along using a RAISING clause, in the procedure
"FILL_T_DATA_TABLE" "(FORM)"
.
Since the caller of the procedure could not have expected this exception
to occur, the running program was terminated.
The reason for the exception is:
________________________
How to correct the error
__________________________
The exception must either be prevented, caught within the procedure
"FILL_T_DATA_TABLE"
"(FORM)", or declared in the procedure's RAISING clause.
To prevent the exception, note the following:
Database error text........: "ORA-24371: data would not fit in current prefe
buffer"
Internal call code.........: "[RSQL/FTCH/VBUK ]"
Please check the entries in the system log (Transaction SM21).
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
use the following search criteria:
-
"DBIF_RSQL_SQL_ERROR" CX_SY_OPEN_SQL_DBC
"ZSDR_SHIPPING_REPORT" or "ZSDR_SHIPPING_REPORT"
"FILL_T_DATA_TABLE"
-
If you cannot solve the problem yourself, please send the...
______________________________
Information on where terminated
______________________________
The termination occurred in the ABAP program "ZSDR_SHIPPING_REPORT" in
"FILL_T_DATA_TABLE".
The main program was "ZSDR_SHIPPING_REPORT ".
The termination occurred in line 3561 of the source code of the (Include)
program "ZSDR_SHIPPING_REPORT"
of the source code of program "ZSDR_SHIPPING_REPORT" (when calling the editor
35610).
Processing was terminated because the exception "CX_SY_OPEN_SQL_DB" occurred in
the
procedure "FILL_T_DATA_TABLE" "(FORM)" but was not handled locally, not
declared in the
RAISING clause of the procedure.
The procedure is in the program "ZSDR_SHIPPING_REPORT ". Its source code starts
in line 3468
of the (Include) program "ZSDR_SHIPPING_REPORT ".
source code:
035490
035500 *get all open sales orders (those that are deemed open at the Sales
035510 *Order "Header" level)
035520 clear open_orders.
035530 refresh open_orders.
035540 select * into corresponding fields of table open_orders
035550 from vbuk
035560 where ( vbtyp = 'C' or vbtyp = 'I' )
035570 and ( gbstk = 'A' or gbstk = 'B' ).
035580
035590 *get all open deliveries(some sales orders may be closed yet the
035600 *associated Delivery is not yet PGI'd)
> clear open_deliveries.
035620 refresh open_deliveries.
035630 select * into corresponding fields of table open_deliveries
035640 from vbuk
035650 where vbtyp = 'J'
035660 and ( wbstk = 'A' or wbstk = 'B' ).
035670
035680 *get sales orders associated with the Open deliveries
Please advice.
Thanks.
‎2007 Mar 19 6:59 AM
Hi,
Something wrong with the select statement of VBUK.
Check the structure of the internal Table OPEN_DELIVERIES
RSQL error means the sequence of the fields fetched doesn't match the sequence of the fields in the internal table.
so check that.
Regards,
Anji
‎2007 Mar 19 7:09 AM
Hi,
Error in Short dump shows that the huge volume of data is fetched from database. Check your query, whether you are using the proper indexes. Or else paste your coding for more understanding of the error.
Regards
R. Rengaraj
‎2007 Mar 19 7:43 AM
Thanks for the response.
Hi Renga,
The error happens in second selection.
this is the souce code:
data: begin of open_orders occurs 0,
vbeln like vbuk-vbeln,
gbstk like vbuk-gbstk,
vbtyp like vbuk-vbtyp,
end of open_orders.
data: begin of open_deliveries occurs 0,
vbeln like vbuk-vbeln,
wbstk like vbuk-wbstk,
vbtyp like vbuk-vbtyp,
end of open_deliveries.
*get all open sales orders (those that are deemed open at the Sales
*Order "Header" level)
clear open_orders.
refresh open_orders.
select * into corresponding fields of table open_orders
from vbuk
where ( vbtyp = 'C' or vbtyp = 'I' )
and ( gbstk = 'A' or gbstk = 'B' ).
*get all open deliveries(some sales orders may be closed yet the
*associated Delivery is not yet PGI'd)
clear open_deliveries.
refresh open_deliveries.
select * into corresponding fields of table open_deliveries
from vbuk
where vbtyp = 'J'
and ( wbstk = 'A' or wbstk = 'B' ).
Hi Prabhu,
how to identify the problem in DB02?
Please advice.
Thanks.
regards.
‎2007 Mar 19 7:11 AM
this is Basis Related Error , so please have a word with ur Basis person /
this is due to space availability of DB tables.u can also check ur system settings in DB02.
Regards
Prabhu