Application Development and Automation 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: 
Read only

Problem with clustered table(FI tables)

Former Member
0 Likes
1,647

Hi All,

I am getting data from BSIK,BSEG etc tables into some internal tables and i am getting a short dump due to large volume of data and i cannot restrict the data from the selection screen.

is there any other alternative to achive this,plz help me out in solving this.

Thanks,

Kumar

Hi All,

I am getting data from BSIK,BSEG etc tables into some internal tables and i am getting a short dump due to large volume of data and i cannot restrict the data from the selection screen.

is there any other alternative to achive this,plz help me out in solving this.

Thanks,

Kumar

14 REPLIES 14
Read only

Former Member
0 Likes
1,558

Hi

Try to avoid using the Table BSEG which is a cluster

instead first search in the tables

BSIk, BSAK for Acc payables data

BSID and BSAD for Account receivables data

BSIS and BSAS for GL related data

and use them instead of BSEG

so that you can save lot of process time

Regards

Anji

Read only

Former Member
0 Likes
1,558

Not a whole lot. But you can try using field-groups, or free some memory after processing the data, if you can. As far as possible do not use BSEG, you should use BSIK(open), and BSAK(cleared)

Albert

Read only

0 Likes
1,558

Hi Albert,

The table i am using to retrive the data are BKPF and BSEG,now plz tell me how to get the same data from the other tables or you said that to use field symbols

plz let me know how to use that,here below is my code.

SELECT BUKRS

BELNR

GJAHR

MONAT

BUDAT

BLDAT

BLART

XBLNR

AWKEY

BKTXT

TCODE

USNAM

HWAER

WAERS

INTO TABLE IT_BKPF

FROM BKPF

  • WHERE BUKRS = P_BUKRS "Remedy# 165906

WHERE BUKRS IN S_BUKRS "Remedy# 165906

AND BELNR IN S_BELNR

AND GJAHR IN S_GJAHR

AND BLART IN S_BLART

AND MONAT IN S_MONAT

AND BUDAT IN S_BUDAT.

IF SY-SUBRC = 0.

SORT IT_BKPF BY BUKRS BELNR GJAHR.

ENDIF.

IF NOT IT_BKPF[] IS INITIAL.

SELECT BUKRS

BELNR

GJAHR

BUZEI

HKONT

KOSTL

PRCTR

ZUONR

FKBER

EBELN

LIFNR

SGTXT

SHKZG

DMBTR

WRBTR

KOART

INTO TABLE IT_BSEG

FROM BSEG

FOR ALL ENTRIES IN IT_BKPF

WHERE BUKRS = IT_BKPF-BUKRS

AND BELNR = IT_BKPF-BELNR

AND GJAHR = IT_BKPF-GJAHR

AND PRCTR IN S_PRCTR "Remedy# 167305

AND KOSTL IN S_KOSTL. "Remedy# 167305

IF SY-SUBRC = 0.

SORT IT_BSEG BY BUKRS BELNR GJAHR BUZEI.

ENDIF.

ENDIF.

Thanks,

Bharani kumar

Read only

0 Likes
1,558

Hi,

Please send us the ABAP Dump details, so we can try to fix it?

Thanks,

Sriram POnna.

Read only

Former Member
0 Likes
1,558

Hi kumar,

Instead of reading all records in one shot, read in bunches.

1. READ ALL RECORDS IN ONE SHOT (IN ONE BUNCH)

(normal select query)

READ RECORDS IN SMALL-SMALL BUNCHES

(using packet concept)

2. The above is the main difference, and usage,

of packet concept.

3. Just copy paste to get a taste of it.

4.

REPORT abc.

DATA : t001 LIKE TABLE OF t001 WITH HEADER LINE.

DATA : ctr TYPE i.

*----


selection screen.

PARAMETERS : a TYPE c.

*----


START-OF-SELECTION.

SELECT * FROM t001

INTO TABLE t001

PACKAGE SIZE 5 .

ctr = ctr + 1.

WRITE 😕 '----


Loop Pass # ' , ctr.

LOOP AT t001.

WRITE 😕 t001-bukrs , t001-butxt.

ENDLOOP.

ENDSELECT.

regards,

amit m.

Read only

Former Member
0 Likes
1,558

We could give a much better answer if you would post your code.

Rob

Read only

0 Likes
1,558

Hi Rob,

Here below is my code.

SELECT BUKRS

BELNR

GJAHR

MONAT

BUDAT

BLDAT

BLART

XBLNR

AWKEY

BKTXT

TCODE

USNAM

HWAER

WAERS

INTO TABLE IT_BKPF

FROM BKPF

  • WHERE BUKRS = P_BUKRS "Remedy# 165906

WHERE BUKRS IN S_BUKRS "Remedy# 165906

AND BELNR IN S_BELNR

AND GJAHR IN S_GJAHR

AND BLART IN S_BLART

AND MONAT IN S_MONAT

AND BUDAT IN S_BUDAT.

IF SY-SUBRC = 0.

SORT IT_BKPF BY BUKRS BELNR GJAHR.

ENDIF.

IF NOT IT_BKPF[] IS INITIAL.

SELECT BUKRS

BELNR

GJAHR

BUZEI

HKONT

KOSTL

PRCTR

ZUONR

FKBER

EBELN

LIFNR

SGTXT

SHKZG

DMBTR

WRBTR

KOART

INTO TABLE IT_BSEG

FROM BSEG

FOR ALL ENTRIES IN IT_BKPF

WHERE BUKRS = IT_BKPF-BUKRS

AND BELNR = IT_BKPF-BELNR

AND GJAHR = IT_BKPF-GJAHR

AND PRCTR IN S_PRCTR "Remedy# 167305

AND KOSTL IN S_KOSTL. "Remedy# 167305

IF SY-SUBRC = 0.

SORT IT_BSEG BY BUKRS BELNR GJAHR BUZEI.

ENDIF.

ENDIF.

Thanks,

Kumar

Read only

0 Likes
1,558

Are you getting a memory type of dump or a timeout?

Could we see some of the dump details?

Rob

Read only

0 Likes
1,558

Hi Rob,

Its not a time out error,it is related to memory error.

Thanks,

kumar

Read only

0 Likes
1,558

You can use the PACKAGE SIZE addition to the SELECT statement to process data in chunks.

Is the problem with the first SELECT on BKPF or the second one on BSEG?

Rob

Message was edited by:

Rob Burbank

Read only

0 Likes
1,558

Hi,

Here below is the message in the short dump.

ABAP/4 processor: TSV_TNEW_PAGE_ALLOC_FAILED

Thanks,

kumar

Read only

0 Likes
1,558

See my earlier response. You can use the PACKAGE SIZE addition to resolve this.

Rob

Read only

0 Likes
1,558

Hi all,

Please help me out in converting the code above to get the result of the two internal tables into two <FS>, as using field symbols will help me out in solving the issue.

Rob ,

I can go for the PACKAGE notation but with that performance will be low.

Thanks,

Kumar

Read only

0 Likes
1,558

The performance issue will be small. In any event it will be better than dumping.

But no one can help you until you tell us which SELECT it is dumping on: BKPF or BSEG?

Rob