cancel
Showing results for 
Search instead for 
Did you mean: 

select 4K records from Mara table

Former Member
0 Kudos

Hello all

please see:

tried to select 4K records from Mara table the system gives me an error message, this never happen before. btw, i have put in the material number which is the primary key of the table.

if iIreduce to 700+ records, it works fine.

Any idea why that could happen ?

Thank you.

Pavol

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hello Markus,

thank you again. I `m testing it on the test server. I have the new dbsllib in my kernel directory. Parameter dbs/ada/input_parameters is set to 10000.

But when I try the selection I`m getting the dump: DBIF_RSQL_SQL_ERROR

Database error text........: "POS(5642) Too complicated SQL statement (too much

data)"

Internal call code.........: "[RSQL/OPEN/MARA ]"

Termination occurred in the ABAP program "/1BCDWB/DBMARA" - in

"START-OF-SELECTION".

The main program was "/1BCDWB/DBMARA ".

In the source code you have the termination point in line 613

of the (Include) program "/1BCDWB/DBMARA".

Source Code Extract

Line SourceCde

583 START-OF-SELECTION.

584 IF MAX_SEL > 0.

585 RSEUMOD-TBMAXSEL = MAX_SEL.

586 ELSEIF MAX_SEL = 0.

587 CLEAR RSEUMOD-TBMAXSEL.

588 ENDIF.

589 IMPORT G_DATA_EXIT FROM MEMORY ID MEM_ID.

590 IF SY-BATCH IS INITIAL AND G_DATA_EXIT IS INITIAL.

591 IMPORT ACTION FROM MEMORY ID MEM_ID.

592 ELSE.

593 ACTION = 'ANZE'.

594 concatenate '/1BCDWB/DB' 'MARA' into g_dbdatakey-eu_name.

595 g_dbdatakey-username = c_all.

596 import sort_NAME_TAB to %_TAB2_sort

597 field_name_tab to %_TAB2_field

598 from database dbdata(DB) id g_dbdatakey.

599 if sy-subrc = 0.

600 delete from dbdata

601 where relid = 'DB' and

602 eu_name = g_dbdatakey-eu_name and

603 username = c_all.

604 describe table %_tab2_field lines %_l_lines.

605 if not %_l_lines is initial.

606 %_TAB2[] = %_tab2_field[].

607 endif.

608 endif.

609 ENDIF.

610 CASE ACTION.

611 WHEN 'ANZE'.

612 try.

>>>>> SELECT * FROM MARA "client specified

614 APPENDING TABLE IMARA

615 UP TO RSEUMOD-TBMAXSEL ROWS BYPASSING BUFFER

616 WHERE MATNR IN I1

617 AND MTART IN I2.

618

619 CATCH CX_SY_DYNAMIC_OSQL_SEMANTICS INTO xref.

620 IF xref->kernel_errid = 'SAPSQL_ESCAPE_WITH_POOLTABLE'.

621 message i412(mo).

622 exit.

623 ELSE.

624 RAISE EXCEPTION xref.

markus_doehr2
Active Contributor
0 Kudos

> Database error text........: "POS(5642) Too complicated SQL statement (too much

Searching notes often helps

Note 1001257 - SQL error -1105 Too complicated SQL statement

Markus

lbreddemann
Active Contributor
0 Kudos

Hello Pavel,

besides that this is likely to be a configuration issue, have you ever considered, that you are doing things the wrong way here?

The SE16 is just not made to take thousands of IDs to run custom queries.

It's not made for it.

Why don't you just create a nice little report in which you read in all the IDs directly from the file or via frontend and then run a FOR ALL ENTRIES select on it?

This would be so much simpler and flexible.

regards,

Lars

Former Member
0 Kudos

Hello again,

thank you for the answer. I downloaded the latest kernel available on SAP Marketplace and put it it the system.

But when I go to RZ11 and look for dbs/ada/input_parameters parameter I got the message that the parameter is not know.

I also try to defined it in RZ10 and restarted the instance....no effect.

The same message we have also for dbs/ada/schema parameter.

Any idea ?

Thank you.

markus_doehr2
Active Contributor
0 Kudos

> thank you for the answer. I downloaded the latest kernel available on SAP Marketplace and put it it the system.

Read the note: it's not the kernel you have to change but the libdbsl

> But when I go to RZ11 and look for dbs/ada/input_parameters parameter I got the message that the parameter is not know.

> I also try to defined it in RZ10 and restarted the instance....no effect.

Those parameters are always marked as "unknown" - that is not a problem.

Markus

Former Member
0 Kudos

SE16 -> enter table name MARA, click on table contents

then multiple selection -> import from text file.

Then I import the text file with for example 2000 material numbers. I confirm the selection and push the execute button.

What we got is the short dump:

DBIF_RSQL_INVALID_RSQL

Error in the ABAP Application Program

The current ABAP program "/1BCDWB/DBMARA" had to be terminated because it has

come across a statement that unfortunately cannot be executed.

We have now the reply from SAP:

The dump points to the SELECT ALL statement in MARA:

>>>>> SELECT * FROM MARA "client specified

625 APPENDING TABLE IMARA

626 UP TO RSEUMOD-TBMAXSEL ROWS BYPASSING BUFFER

The termination with error DBIF_RSQL_INVALID_RSQL can be traced

back to the fact that a restriction of the database system was broken

by the statement in question. Different restrictions apply to the

different DB systems supported by R/3.

In this case the error was caused by exceeding the maximum number of

host-variables allowed in an SQL statement. In the trace file dev_w0

the following can be seen:

B *** ERROR => dbtran ERROR (set_input_da_spec): statement too big

marker count = 2002 > max. marker count = 2000

Therefore, you should reduce the number of bind variables used to a

value less than or equal than 2000, by reducing the number of material

that are selected within SE16.

Please review the note 13607 attached for more info about the error

you are getting and how to solve it.

We are going to check it I dont know where is the limit...because for 1500 material numbers we are getting short dump, but for 500 no....

If you can help, it will be very fine.

Tahnk you.

Pavol

markus_doehr2
Active Contributor
0 Kudos

That is a known limitation and was solved by applying

Note 655018 - Input parameters for SQL statements increased

Markus

lbreddemann
Active Contributor
0 Kudos

> tried to select 4K records from Mara table the system gives me an error message,

should we guess the error message or are you willing to share this information with us?