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: 

runtime error

Former Member
0 Kudos

I got the following runtime error. please guide and help

tvs_tnew_page_alloc_failed

short dump has not being completely stored. its too big.

LOOP AT I_TMP_CAUFV.

SELECT SINGLE * INTO I_JEST FROM JEST

WHERE STAT IN ('I0002','I0042') AND OBJNR = I_TMP_CAUFV-OBJNR.

IF SY-SUBRC = 0.

APPEND I_TMP_CAUFV TO I_CAUFV<b>.-->error</b>

CLEAR I_TMP_CAUFV.

ENDIF.

ENDLOOP.

IF NOT I_CAUFV[] IS INITIAL.

SELECT * FROM afko INTO TABLE I_afko FOR ALL ENTRIES IN I_CAUFV

WHERE aufnr = I_CAUFV-AUFNR.

SELECT * FROM MARA INTO TABLE I_MARA FOR ALL ENTRIES IN I_CAUFV

WHERE MATNR = I_CAUFV-PLNBEZ.

SELECT * FROM AFPO INTO TABLE I_AFPO FOR ALL ENTRIES IN I_CAUFV

WHERE AUFNR = I_CAUFV-AUFNR.

LOOP AT I_CAUFV.

READ TABLE I_AFPO WITH KEY AUFNR = I_CAUFV-AUFNR.

IF SY-SUBRC = 0.

DATA_TAB_TEMP-AUFNR = I_CAUFV-AUFNR.

DATA_TAB_TEMP-GAMNG = I_CAUFV-GAMNG.

DATA_TAB_TEMP-GLTRP = I_CAUFV-GLTRP.

DATA_TAB_TEMP-PLNBEZ = I_CAUFV-PLNBEZ.

DATA_TAB_TEMP-CALQTY = DATA_TAB_TEMP-CALQTY + I_CAUFV-GAMNG -

I_AFPO-WEMNG.

DATA_TAB_TEMP-OBJNR = I_CAUFV-OBJNR.

ENDIF.

READ TABLE I_MARA WITH KEY MATNR = I_CAUFV-PLNBEZ.

IF SY-SUBRC = 0.

DATA_TAB_TEMP-WRKST = I_MARA-WRKST.

ENDIF.

READ TABLE I_afko WITH KEY AUFNR = I_CAUFV-AUFNR.

if sy-subrc = 0.

DATA_TAB_TEMP-LEAD_AUFNR = i_caufv-lead_aufnr.

data_tab_temp-maufnr = i_caufv-maufnr.

endif.

  • I_CAUFV-LEAD_AUFNR = I_ORDNA-LEAD_AUFNR.

  • I_CAUFV-MAUFNR = I_ORDNA-MAUFNR.

  • MOVE I_CAUFV-LEAD_AUFNR TO DATA_TAB_TEMP-LEAD_AUFNR.

  • MOVE I_CAUFV-MAUFNR TO DATA_TAB_TEMP-MAUFNR.

MOVE-CORRESPONDING DATA_TAB_TEMP TO DATA_TAB.

APPEND DATA_TAB.

CLEAR DATA_TAB.

CLEAR CALQTY.

ENDLOOP.

ENDIF.

6 REPLIES 6

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

It appears that you have ran out of usable memory. You need to free some up. Loop for big internal tables which are no longer necesary and FREE them.

free itab.

Regards,

Rich Heilman

Former Member
0 Kudos

hi Kamalesh,

I guess here you are trying to move the values with append statement ..


 APPEND I_TMP_CAUFV TO I_CAUFV.-->error

 try using it in this way ..

 move I_TMP_CAUFV-field TO I_CAUFV-field.
 append I_CAUFV.

Regards,

Santosh

Former Member
0 Kudos

even i had got this error

this is because the number of entries are huge

so while appending one more than maximum it is giving error, no of records to be reduced ot i think there r some settings to be changed to increase the space

Former Member
0 Kudos

It looks as if you have two large tables. You may be able to resolve this by deleting the entry from the first table asy append it to the second:


LOOP AT i_tmp_caufv.

<b>tmp_index = sy-tabix.</b>

  SELECT SINGLE * INTO i_jest FROM jest
  WHERE stat IN ('I0002','I0042') AND objnr = i_tmp_caufv-objnr.
  IF sy-subrc = 0.
    APPEND i_tmp_caufv TO i_caufv. "-->error
    clear i_tmp_caufv.
<b>    delete i_tmp_caufv index tmp_index.</b>
  ENDIF.
ENDLOOP.

Rob

Message was edited by: Rob Burbank

Former Member
0 Kudos

Hi,

dump is due internal table exceeded its max limit.

use below logic

data I_TMP_CAUFV1 like I_TMP_CAUFV occurs 0 with header line.

if not I_TMP_CAUFV[] is initial.

I_TMP_CAUFV1[] = I_TMP_CAUFV[].

delete I_TMP_CAUFV1 where objnr is initial.

sort I_TMP_CAUFV1 by objnr.

delete adjacent duplicates from I_TMP_CAUFV1 comparing

objnr.

if not I_TMP_CAUFV1[] is initial.

SELECT * INTO table I_JEST FROM JEST

for all entries in I_TMP_CAUFV1

WHERE STAT IN ('I0002','I0042')

AND OBJNR = I_TMP_CAUFV1-OBJNR

endif.

free I_TMP_CAUFV1

.REgards

amole

Former Member
0 Kudos

If nothing of the suggested before really helps - I would modify your logic to process records in packages starting from the inital select.

select ... into table I_TMP_CAUFV package-size 1000

your processing logic... to populate i_caufv.

endselect.

OR - do it other way, instead of adding record to i_caufv, just delete it from i_tmp_caufv if your select from JEST returns non zero subrc.