Quantcast
Viewing all articles
Browse latest Browse all 10425

Re: TSV_TNEW_PAGE_ALLOC_FAILED: how to split internal table?

Hi Dennis,

 

The developer should use the PACKAGE SIZE addition to the SELECT statement in order to avoid the internal table from growing too big i.e. growing more than the space allowed by the system parameter.

 

This is clearly an example of poor programming. The approach should be similar to the code below:

 

DATA:

   tbl_outrec      TYPE STANDARD TABLE OF ty_tbl_outrec,

   tbl_bsegout   TYPE STANDARD TABLE OF ty_tbl_bsegout,

   tbl_bkpf        TYPE HASHED TABLE OF bkpf

                           WITH UNIQUE KEY mandt bukrs belnr gjahr,

   tbl_bseg       TYPE HASHED TABLE OF bseg

                           WITH UNIQUE KEY mandt bukrs belnr gjahr buzei.

 

     SELECT bukrs belnr gjahr FROM bkpf PACKAGE SIZE 10000

         INTO CORRESPONDING FIELDS OF TABLE lt_bkpf

         WHERE   bukrs IN s_bukrs

         AND         budat IN s_budat.

 

         TRY.

             SELECT * FROM bseg PACKAGE SIZE 50000

               INTO CORRESPONDING FIELDS OF TABLE tbl_bseg

               FOR ALL ENTRIES IN lt_bkpf

               WHERE bukrs = lt_bkpf-bukrs

               AND       belnr = lt_bkpf-belnr

               AND       gjahr = lt_bkpf-gjahr.

 

               LOOP AT tbl_bseg ASSIGNING <ls_bseg>.

                 APPEND INITIAL LINE TO tbl_bsegout ASSIGNING <ls_rec>.

                 MOVE-CORRESPONDING <ls_bseg> TO <ls_rec>.

               ENDLOOP.

 

               PERFORM write_file USING tbl_bsegout.

 

              FREE:

                 tbl_bseg,

                 tbl_bsegout.

 

             ENDSELECT.                                          "SELECT FROM BSEG

           CATCH cx_sy_open_sql_db INTO lx_open_sql.

             lv_text = lx_open_sql->if_message~get_text( ).

             MESSAGE e000 WITH lv_text.

         ENDTRY.

 

        FREE lt_bkpf.

 

    ENDSELECT.                                                   "SELECT FROM BKPF   

 

Hope this helps.

 

Cheers,

Sougata.


Viewing all articles
Browse latest Browse all 10425

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>