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

TSV_TNEW_PAGE_ALLOC_FAILED

Former Member
0 Likes
1,757

Hello Experts,

I am facing a problem with this error.<b> TSV_TNEW_PAGE_ALLOC_FAILED</b>

My job is cancelled with this error.

I have analysed the dump and I cam to not the job is canncelled at this point.


  CALL METHOD me->db_get_resb
    EXPORTING
      i_rsnum = lwa_resb-rsnum
      i_werks = lwa_resb-werks
      i_matnr = lwa_resb-matnr
      i_kzkfg = wa_mara-kzkfg
    IMPORTING
      et_resb = it_resb.

" In side the method.
* ...
  DATA: LWA_RESB TYPE RESB.
  DATA: LWA_RESB_COMP TYPE RESB.
  DATA: L_CHARG TYPE CHARG_D.
  DATA: SAVE_TABIX1 TYPE SYTABIX.
  DATA: SAVE_TABIX2 TYPE SYTABIX.
  DATA: L_SUBRC TYPE SUBRC.

  CLEAR ET_RESB.
  REFRESH ET_RESB.
  SELECT        * FROM  RESB INTO TABLE ET_RESB
         WHERE  RSNUM  = I_RSNUM.       " The error is occured here
  LOOP AT ET_RESB INTO LWA_RESB.
    IF  LWA_RESB-XLOEK  = SPACE
    AND LWA_RESB-MATNR  = I_MATNR
    AND LWA_RESB-WERKS  = I_WERKS.
    ELSE.
      DELETE ET_RESB.
    ENDIF.
  ENDLOOP.

Could anyone suggest me a solution to avoid this dump.

Thanks !!!

Best Regards,

Vasanth

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,671

Hello Rich,

Thank you for ur quick reponse.

As you said I have used the free statement and executed the report again.

Will see the result again.

Thanks !!

Vasanth

Hello Rich,

Thank you for ur quick reponse.

As you said I have used the free statement and executed the report again.

Will see the result again.

Thanks !!

Vasanth

13 REPLIES 13
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
1,671

Seems like the application is our of memory, try freeing up internal tables that are not being used anymore. Use the FREE statement.

Regards,

Rich Heilman

Read only

Former Member
0 Likes
1,672

Hello Rich,

Thank you for ur quick reponse.

As you said I have used the free statement and executed the report again.

Will see the result again.

Thanks !!

Vasanth

Read only

0 Likes
1,671

Yep, make sure that you explore the entire program and free any internal tables that are not going to be used and further, this will make room so that your method can fill the internal table for RESB.

Regards,

Rich Heilman

Read only

0 Likes
1,671

Hello Rich,

I have freed all the internal table the error occurs.

Any Solution ???

Thanks and Regards,

Vasanth

Read only

0 Likes
1,671

Exactly which line of code does it dump on.

Regards,

RIch Heilman

Read only

0 Likes
1,671

Hello Rich,

The problem is here.


I have analysed the dump and the job is canncelled at this point.


  CALL METHOD me->db_get_resb
    EXPORTING
      i_rsnum = lwa_resb-rsnum
      i_werks = lwa_resb-werks
      i_matnr = lwa_resb-matnr
      i_kzkfg = wa_mara-kzkfg
    IMPORTING
      et_resb = it_resb.
 
" In side the method.
* ...
  DATA: LWA_RESB TYPE RESB.
  DATA: LWA_RESB_COMP TYPE RESB.
  DATA: L_CHARG TYPE CHARG_D.
  DATA: SAVE_TABIX1 TYPE SYTABIX.
  DATA: SAVE_TABIX2 TYPE SYTABIX.
  DATA: L_SUBRC TYPE SUBRC.
 
  CLEAR ET_RESB.
  REFRESH ET_RESB.
  SELECT        * FROM  RESB INTO TABLE ET_RESB
         WHERE  RSNUM  = I_RSNUM.       " The error is occured here
  LOOP AT ET_RESB INTO LWA_RESB.
    IF  LWA_RESB-XLOEK  = SPACE
    AND LWA_RESB-MATNR  = I_MATNR
    AND LWA_RESB-WERKS  = I_WERKS.
    ELSE.
      DELETE ET_RESB.
    ENDIF.
  ENDLOOP.


Read only

0 Likes
1,671

Hi Vasanth,

How many entries are there in the RESB for given RSNUM. Can you just check it in SE16.

Regards,

Atish

Read only

0 Likes
1,671

Hello Expetrs,

Any Suggestion to avoid this short dump.

Thanks in Advance.

Regards,

Vasanth

Read only

0 Likes
1,671

Hi,

This kind of dump occurs after implemementing the OSS notes. this is for short time then it will work

most of the clients inform about this dump.

Please contact your basis team about the same

Regards

Shiva

Read only

0 Likes
1,671

Hello Shivakumar,

Thankyou for ur reply.

But I have consulted with my Basis Consultant. They checked the memory also.

But I think is this due to some error in the code.

Could you please suggest me an solution to avoid this.

Thanks

Vasanth

Read only

0 Likes
1,671

Hi Vasanth,

There is no error in the program being used. This only occurs if there is no memory available for the data being fetched from the database into the primary memory. Also there is a limit in amount of data that can be stored in a single internal table, if i am not wrong it is 2 GB.

Also when i look at the select statement, it is fetching all the fields for the table RESB. Reduce the number for fields that are being fetched. Also ensure that the WHERE condition is not blank since it may have been the scenario where everyting is being fetched from the DB.

Also you could fetch records may be 5000 at a time without causing any dumps. If this is a standard program check if there are any notes released for the same. Hope this helps

Reward if useful...

Thanks...

Preetham

Read only

0 Likes
1,671

Hello Preetham,

Thankyou for ur response.

The code is like this.


    PERFORM GET_RESB_MATNR CHANGING IT_RESB[]
                                    IT_PRPS[]
                                    IT_AFVCP[].


  SELECT *
         FROM  RESB
         APPENDING TABLE PET_RESB
         WHERE MATNR IN S_MATNR
         AND   WERKS IN S_WERKS
         AND   BDTER IN S_BDTER
         AND   SCHGT =  SP_SCHGT       
         AND   XLOEK = SPACE. " here for all the feilds in the where condn have the index in table resb. The number of records is 58000.

  PERFORM GET_MAT USING    IT_RESB[]
                           IT_AFVCP[]
                  CHANGING IT_MATNR[].

FORM GET_MAT USING    PIT_RESB   TYPE RESB_TAB
                      PIT_AFVCP  TYPE AFVCP_TAB
             CHANGING PIET_MATNR TYPE MAT_TAB.

  LOOP AT PIT_RESB INTO WA_RESB.

    READ TABLE PIT_AFVCP INTO WA_AFVCP
                         WITH KEY AUFPL = WA_RESB-RESB-AUFPL
                                  APLZL = WA_RESB-RESB-APLZL
                         BINARY SEARCH.

    READ TABLE PIET_MATNR WITH KEY M1-PSPNR = WA_AFVCP-PROJN
                                   M1-MATNR = WA_RESB-RESB-MATNR
                                   M1-BDTER = WA_RESB-RESB-BDTER
                          INTO WA_MATNR.
    IF SY-SUBRC NE 0.
      CLEAR WA_MATNR.
      CREATE OBJECT WA_MATNR-M2-MAT_REF  " Here is the problem
           EXPORTING I_WA_RESB  = WA_RESB-RESB
                     I_PSPNR    = WA_AFVCP-PROJN
                     I_KZ_LAGER = CHARX.
      WA_MATNR-M1-PSPNR = WA_AFVCP-PROJN.
      WA_MATNR-M1-RSNUM = WA_RESB-RESB-RSNUM.
      WA_MATNR-M1-RSPOS = WA_RESB-RESB-RSPOS.
      WA_MATNR-M1-RSART = WA_RESB-RESB-RSART.
      WA_MATNR-M1-MATNR = WA_RESB-RESB-MATNR.
      WA_MATNR-M1-WERKS = WA_RESB-RESB-WERKS.
      WA_MATNR-M2-CUOBJ = WA_RESB-RESB-CUOBJ.
      WA_MATNR-M1-BDTER = WA_RESB-RESB-BDTER.
      APPEND WA_MATNR TO PIET_MATNR.
    ELSE.
      WA_MATNR-M1-DOUBLE = CHARX.
      WA_MATNR-M1-PSPNR = WA_AFVCP-PROJN.
      WA_MATNR-M1-RSNUM = WA_RESB-RESB-RSNUM.
      WA_MATNR-M1-RSPOS = WA_RESB-RESB-RSPOS.
      WA_MATNR-M1-RSART = WA_RESB-RESB-RSART.
      WA_MATNR-M1-MATNR = WA_RESB-RESB-MATNR.
      WA_MATNR-M1-WERKS = WA_RESB-RESB-WERKS.
      WA_MATNR-M1-BDTER = WA_RESB-RESB-BDTER.
      APPEND WA_MATNR TO PIET_MATNR.
    ENDIF.

  ENDLOOP.

" This method is calling many methods inside.


Vasanth

Read only

0 Likes
1,671

Hi Vasanth,

I was monitoring Production for my client , once we got around 100+ dumps with this kind. he told not to report such dumps.

please go to ST22 and check the dumps with the same error in a single you will see the same.

This may occur becuase of not availabilty of emory during runtime

Try running job late night or before your client operates

Regards

Shiva