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

No storage space

Former Member
0 Likes
1,061

Hi GURUS,

I am facing no storage space available for extending to internal table....

Generally when we get the problem,,,and how to resolve it,,,,,but in my case when i am writing data into unix file in background it is occuring this dump....so pls could any body help me in this..........and how to debug the background job.

DATA : BEGIN OF gt_gl_header OCCURS 2000,

ap_header(5000),

END OF gt_gl_header.

DATA : BEGIN OF gt_gl_item OCCURS 2000,

ap_header(5000),

END OF gt_gl_item.

above are my internal tables where i am putting final data and writhing to output file from this header to header and item to item file.......i dont think, is it right way to define final internal tables,,,,,,,it has 156000 records or 300 thousends or data .

eagerly waiting for solution from you .

Krisna

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
982

Hi Krishna,

I dont find any problem with the internal tables definition.

but i suggest u to gothis way.

Types : begin of ty_gl_header,

ap_header(5000),

END OF ty_gl_header.

Types : BEGIN OF ty_gl_item ,

ap_header(5000),

END OF ty_gl_item .

by this u r defining the structure.

now define internal tables and work areas.

data : gt_gl_header type standard table of ty_gl_header,

gt_gl_item type standard table of ty_gl_item,

wa_gl_header type ty_gl_header,

wa_gl_item type ty_gl_item.

Now perform all the operations on internal table thru workareas.

and have validations while transferring those many records.

u can start executing the program in background in debugging mode thru

se38->file->test->debugging

or in the selection screen(if exists) program->execute in background by switching on the debugging mode.

Please reward points if helpful.

regards,

Ravi G

Hi GURUS,

I am facing no storage space available for extending to internal table....

Generally when we get the problem,,,and how to resolve it,,,,,but in my case when i am writing data into unix file in background it is occuring this dump....so pls could any body help me in this..........and how to debug the background job.

DATA : BEGIN OF gt_gl_header OCCURS 2000,

ap_header(5000),

END OF gt_gl_header.

DATA : BEGIN OF gt_gl_item OCCURS 2000,

ap_header(5000),

END OF gt_gl_item.

above are my internal tables where i am putting final data and writhing to output file from this header to header and item to item file.......i dont think, is it right way to define final internal tables,,,,,,,it has 156000 records or 300 thousends or data .

eagerly waiting for solution from you .

Krisna

5 REPLIES 5
Read only

Former Member
0 Likes
983

Hi Krishna,

I dont find any problem with the internal tables definition.

but i suggest u to gothis way.

Types : begin of ty_gl_header,

ap_header(5000),

END OF ty_gl_header.

Types : BEGIN OF ty_gl_item ,

ap_header(5000),

END OF ty_gl_item .

by this u r defining the structure.

now define internal tables and work areas.

data : gt_gl_header type standard table of ty_gl_header,

gt_gl_item type standard table of ty_gl_item,

wa_gl_header type ty_gl_header,

wa_gl_item type ty_gl_item.

Now perform all the operations on internal table thru workareas.

and have validations while transferring those many records.

u can start executing the program in background in debugging mode thru

se38->file->test->debugging

or in the selection screen(if exists) program->execute in background by switching on the debugging mode.

Please reward points if helpful.

regards,

Ravi G

Read only

Former Member
0 Likes
982

Krishna,

1. Why do you declare internal table occurs 2000?

If you write like it will occupy 2000 records memory space though if you have

100 records .So first declare it as occurs 0.If records are increased according

to that memory space will be allotted.

DATA : BEGIN OF gt_gl_header OCCURS 0,

2 .ap_header(5000)----


Is 5000 length is compulsorly required.Check the total

records length.

3.When you are passing the data to internal tables use the package size(30000 records) syntax in select and end select statement.So that the extarct time of data from database will get reduced.No dump will Occur.

Ex : SELECT ... APPENDING FIELDS OF TABLE <itab>

PACKAGE SIZE 30000

WHERE ............

if you require to do any validations with data you can write logic here.

ENDSELECT.

Generally basis persons will set the time for one session 30 min.So when you try to extrct 156000 records it may take more than 30 mins that is the reason program is going dump.

If you use above syntax for 30000 records it will take below 30 mins. for next 30000 records will come like that the internal table will get it fill.

Note : adjust the 30000 records according to your system time

First add 50000 packze size it still going dump reduce the records size to 40000 like that check it once.

Don't forget to reward if useful...

Read only

Former Member
0 Likes
982

Hi Gurus,

I am still facing same no storage space avilable problme,, can any body give me best solution,it would great help full to me.....and

Extracting data from database one by one record into some work area and directly writting into file....is suggestable to hit N number of times on same database table if it has more than 10 minlian records..for earch and every record...and what to do Gurus,,,,,,,

How to over come this problem....

Even i am able to hold the data in internal table but while writting one by one record it is going to short dhump.....

Krisna

Read only

0 Likes
982

can you show your code?

Read only

0 Likes
982

Thanks for reply and helping ,,,,,l have data in table i am processing from work area and deleting that record from internal table...

pls check it

DATA : lf_field TYPE string,

lf_line TYPE string.

DATA : pa_uf1 TYPE rlgrap-filename,

pa_pcf1 TYPE rlgrap-filename.

DATA : pa_uf2 TYPE rlgrap-filename,

pa_pcf2 TYPE rlgrap-filename.

FIELD-SYMBOLS : <fs_field>,<fs_comp>.

CLEAR p_gt_data.

  • CLEAR lv_lno.

OPEN DATASET p_unix FOR OUTPUT IN TEXT MODE.

TRANSFER p_hdr TO p_unix.

LOOP AT p_gt_data ASSIGNING <fs_field>.

DO.

ASSIGN COMPONENT sy-index OF STRUCTURE <fs_field> TO <fs_comp>.

IF sy-subrc <> 0.

EXIT.

ENDIF.

lf_field = <fs_comp>.

IF sy-index = 1.

lf_line = lf_field.

ELSE.

CONCATENATE lf_line lf_field INTO lf_line SEPARATED BY c_tab.

ENDIF.

CLEAR lf_field.

ENDDO.

TRANSFER lf_line TO p_unix.

gv_lno = gv_lno + 1.

CLEAR lf_line.

ENDLOOP.

CLOSE DATASET p_unix.