Hi, Gurus, I'm having a problem coz my functional consultant has been trying to do transaction PASRPDEL and he's getting a short dump that look like:
Short text
Error in module RSQL of the database interface.
What happened?
Error in the ABAP Application Program
The current ABAP program "SAPLAFWGO_SERVICES" had to be terminated because it
has
come across a statement that unfortunately cannot be executed.
Runtime Errors DBIF_RSQL_INVALID_RSQL
Date and Time 28.05.2008 11:33:45
Short text
Error in module RSQL of the database interface.
What happened?
Error in the ABAP Application Program
The current ABAP program "SAPLAFWGO_SERVICES" had to be terminated because it has come across a statement that unfortunately cannot be executed.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
Note which actions and input led to the error.
For further help in handling the problem, contact your SAP administrator
.
You can use the ABAP dump analysis transaction ST22 to view and manage
termination messages, in particular for long term reference.
Error analysis
When attempting to open a cursor for a SELECT or OPEN CURSOR, all 16
cursors of the SAP-internal database interface were already in use.
The failed statement accesses table "AFWGO_LOADADMIN ".
How to correct the error
The developer trace of the relevant work process (transaction ST11)
contains a list of the tables on which a cursor was open at the time the
error occurred.
You will often find a table in this list that occupies almost all open
cursors. Based, on this table name, you should then attempt determine
the corresponding application for further program analysis.
This error can be caused by OPEN CURSOR statements that are not closed
using CLOSE CURSOR.
The cursor was not released till the end of the running database
transaction.
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:
"DBIF_RSQL_INVALID_RSQL" " "
"SAPLAFWGO_SERVICES" or "LAFWGO_SERVICESU01"
"AFWGO_DELETE_AV1"
Application server... "radev"
Network address...... "192.168.1.81"
Operating system..... "SunOS"
Release.............. "5.9"
Hardware type........ "sun4u"
Character length.... 16 Bits
Pointer length....... 64 Bits
Work process number.. 1
Shortdump setting.... "full"
Database server... "radev"
Database type..... "ORACLE"
Database name..... "DEV"
Database user ID.. "SAPSR3"
Char.set.... "C"
SAP kernel....... 700
created (date)... "Aug 31 2006 20:59:23"
create on........ "SunOS 5.9 Generic_117171-13 sun4u"
Database version. "OCI_102 (10.2.0.2.0) "
Patch level. 75
Patch text.. " "
Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
SAP database version. 700
Operating system..... "SunOS 5.9, SunOS 5.10"
Memory consumption
Roll.... 16192
EM...... 12569544
Heap.... 0
Page.... 65536
MM Used. 1707640
MM Free. 2479608
User and Transaction
Client.............. 300
User................ "KGUJS"
Language key........ "E"
Transaction......... "PASRPDEL "
Program............. "SAPLAFWGO_SERVICES"
Screen.............. "SAPMSSY0 1000"
Screen line......... 6
Information on where terminated
Termination occurred in the ABAP program "SAPLAFWGO_SERVICES" - in
"AFWGO_DELETE_AV1".
The main program was "RAFWGO_DELETE_SRP ".
In the source code you have the termination point in line 89
of the (Include) program "LAFWGO_SERVICESU01".
lwa_date_selopt-sign = 'I'.
lwa_date_selopt-option = 'EQ'.
lwa_date_selopt-low = l_tempdat.
APPEND lwa_date_selopt TO lt_date_selopt.
IF NOT i_control-application IS INITIAL.
CLEAR lt_tabn_tmp[].
first delete analyzer data (with db-commits !)
lt_kdates = lt_date_selopt.
CALL FUNCTION 'RDB_REC_DEL_ALL'
EXPORTING
i_application = i_control-application
i_evalproc = i_evalproc1
i_keydates = lt_kdates
i_flg_ignore_status = i_flg_ignore_status
TABLES
e_deltab = lt_tabn_tmp.
LOOP AT lt_tabn_tmp.
COLLECT lt_tabn_tmp INTO lt_tabn.
ENDLOOP.
then delete control data
IF NOT i_flg_ignore_status IS INITIAL.
CLEAR lt_tabn-delreccount.
SELECT SINGLE * FROM afwgo_loadadmin
INTO lwa_loadadmin
WHERE keydate = l_tempdat
AND evalproc1 = i_control-evalproc1.
IF sy-subrc = 0.
CALL FUNCTION 'EH_DB_DELETE_PROT'
EXPORTING
i_auswtyp = '1'
i_logname = lwa_loadadmin-logname
i_object = l_object.
lt_tabn-delreccount = lt_tabn-delreccount + 1.
ENDIF.
SELECT * FROM afwgo_loghistory
INTO lwa_loghostory
WHERE keydate = l_tempdat
All assistance will be rewarded.
Regards