Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

DBIF_RSQL_INVALID_RSQL

0 Kudos

Dear all

I am facing a problem related to abap program, when I run the program like zmatlist

When I give Material Number in selection option ( for example 20000 Material Number )

In one go then abap report give me the following DUMP

DBIF_RSQL_INVALID_RSQL

CX_SY_OPEN_SQL_DB

And when in give selection option in chunk the that report run fine

After the dump I check dev_w0 file it shows like that

C *** ERROR => max. statement length (65536) exceeded

[dbsloci.c 5759]

C Dumping statement ...

C 0 | TEXT | 6 | SELECT

C 1 | TEXT | 4 | T_00

C 2 | TEXT | 1 | .

C 3 | IDENTIFIER | 5 | BISMT

.

.

.

So on

C 17481 | TEXT | 3 | AND

C 17482 | TEXT | 4 | T_02

C 17483 | TEXT | 1 | .

C 17484 | IDENTIFIER | 5 | WERKS

C 17485 | TEXT | 1 | =

C 17486 | MARKER(8588)| 0 | NULL

C token_cnt=17487, input_cnt=8589, marker_cnt=8589, stmt_length=86128

B ***LOG BYK=> current SQL statement exceeds a database limit [dbtran#5 @ 7261] [dbtran 7261 ]

B dbtran ERROR LOG (hdl_dbsl_error): DbSl 'PRE'

thankx

Rayyan

8 REPLIES 8

Former Member
0 Kudos

Can u copy paste ur select query ?

Former Member
0 Kudos

Check the field you are using in the select query , I think you are passing the data to the field which is not long enough .

Former Member
0 Kudos

Hi,

Check your Select queries.The fields you are selecting from a table may not be same as strcture of internal table.There may be a reason that too many records are there in DB and memory for expanding internal table is not sufficient.

Former Member
0 Kudos

Hi ,

Could you please paste the SQL statement resulting in the dump.

Regards

Arun

Former Member
0 Kudos

Hi,

The dump is due to some mismatch in one of your select statements pls check it.

check the decleration of your inter table wether all the fields given are in order same as given in the select.

Hope this helps..

regards,

Sharath

0 Kudos

abper write following query

004280 perform authority_begin(rsaqexce).

004290 perform authority(rsaqexce) using 'MARA'.

004300 perform authority(rsaqexce) using 'MAKT'.

004310 perform authority(rsaqexce) using 'MARC'.

004320 perform authority(rsaqexce) using 'MBEW'.

004330 perform authority_end(rsaqexce).

004340 perform %comp_ldesc.

-


> select MARABISMT MARAEKWSL MARAERNAM MARAERSDA MARALIQDT MARALVORM

004360 MARASPART MARAZEINR MAKTMAKTX MAKTMATNR MARCAUSME MARCBESKZ

004370 MARCDISMM MARCDISPO MARCEISBE MARCEKGRP MARCFEVOR MARCMABST

004380 MARCSOBSL MARCSSQSS MARCSTRGR MARCUSEQU MARCWEBAZ MARCWERKS

004390 MBEWMATNR MBEWSALK3 MBEWVERPR MBEWVPRSV

004400 into (MARA-BISMT , MARA-EKWSL , MARA-ERNAM , MARA-ERSDA , MARA-LIQDT , M

004410 , MARA-MTART , MARA-QMPUR , MARA-SPART , MARA-ZEINR , MAKT-MAKTX ,

004420 , MARC-BSTMA , MARC-BSTMI , MARC-BSTRF , MARC-DISLS , MARC-DISMM ,

004430 , MARC-MABST , MARC-MATNR , MARC-MINBE , MARC-PLIFZ , MARC-PRCTR ,

004440 , MARC-USEQU , MARC-WEBAZ , MARC-WERKS , MBEW-BKLAS , MBEW-BWKEY ,

004450 , MBEW-SALK3 , MBEW-VERPR , MBEW-VPRSV )

004460 from ( MARA

004470 inner join MAKT

004480 on MAKTMATNR = MARAMATNR

004490 inner join MARC

004500 on MARCMATNR = MAKTMATNR

004510 inner join MBEW

004520 on MBEWMATNR = MARCMATNR

004530 and MBEWBWKEY = MARCWERKS )

004540 where MARA~BISMT in SP$00009

0 Kudos

Hi,

The abap dump is due to the Select query...

Check the select query...

Regards,

Kunjal

Former Member
0 Kudos

write perform authority statement with 'CL_QUERY_TAB_ACCESS_AUTHORITY'

PERFORM AUTHORITY_BEGIN(RSAQEXCE) using 'CL_QUERY_TAB_ACCESS_AUTHORITY'.

PERFORM AUTHORITY(RSAQEXCE) USING 'EKKO' 'CL_QUERY_TAB_ACCESS_AUTHORITY'.

PERFORM AUTHORITY(RSAQEXCE) USING 'LFA1' 'CL_QUERY_TAB_ACCESS_AUTHORITY'.

PERFORM AUTHORITY(RSAQEXCE) USING 'EKPO' 'CL_QUERY_TAB_ACCESS_AUTHORITY'.

PERFORM AUTHORITY(RSAQEXCE) USING 'EBAN' 'CL_QUERY_TAB_ACCESS_AUTHORITY'.

PERFORM AUTHORITY_END(RSAQEXCE) using 'CL_QUERY_TAB_ACCESS_AUTHORITY'.