07-14-2015 11:56 AM
HI All,
I have downloaded the internal content to the application server AL11 ,
1.My Question is : how much data i can store in internal table and the same i can download and view in application server.
2.Or , May can split the record in internal table and store in application server two times ?
3.How much data can Application server can hold it ?
4.i have 13 lines lines in internal table , by using describe < internal table > length < lv_lenth > by bytes mode , i will get the byte of the internal table as 8 Bytes , how to caluculate it and what does it mean?..
Regards,
Ananth.
07-14-2015 12:00 PM
If you want to know how much table space you have etc. then you should forward these questions to your basis team as this will differ from client to client. Basis will be able to help you.
If you have 13 lines in your internal table you don't have to worry about space.
07-14-2015 12:02 PM
Forgot to say.... you cannot use Describe.. Length by Bytes mode for internal tables only for fields.
07-14-2015 12:05 PM
I Just given a example like 13 lines ,
I just want to know how much data i can store in my application server at single download from internal table ?
07-14-2015 12:08 PM
yes you are right ,but if i give the internal table , it wis considering ..
ok - if fieds has 4 lines then how it will calculate by bytes? -> Its based on character in that field ?
Becuase 1 bytes can hold one character ..?
07-14-2015 12:10 PM
Need clarification in : If i get huge number of records in my internal table , can i download it to application server ( like normally ) or do i need to split the internal table and download it two times , becuase of any space issue in Application server ?.
07-14-2015 12:20 PM
I have never had an internal table too big that I wasn't able to save it to AL11 so I cannot see this being a problem.
i am not sure on the bytes, but if you go to the sap help on 'describe' command then there is plenty of info there on this. Or just google this command.
07-14-2015 12:31 PM
Hi Ananth,
1) As long as program runs, your process continues. Usually there is program runtime limit but you can change this. AL11 or any other program uses open dataset syntax to reach aplication server and open dataset store/read your table data line by line until all line finished.
2) I dont understand the question. what do you mean? If you want to write your own Z program, you can split your internal table as much as you want ( If you know how to do it ). If you will use AL11 you can split your file in excel, notepad or some editor program.
3) What is aplication server HDD size? Storage limit depends only HDD size.
4) What is your internal table line size ( How much karakter ) ? with this you can multiple internal table total line count for total size. check this answer : How to get size of internal table in bytes | SCN
Tolga
07-14-2015 12:38 PM
Thank you very much ,
I Have Z report and have huge number of data in one internal table and that internal table used to download to Application server -> so do we need to split the internal table in to two and download two times in Application server or we can download all the records in internal table to application server ( whether may i get any memory dump while download to application server )?
07-14-2015 1:30 PM
For memory error or time limit error cosult your basis team.
But my advice to you for this kind of app
1) I understand you will upload file from your client. so when you get your data pass this data to back ground process using asynchronous function.
2) split your data in first function, then pass this table to another asynchronous function. this function is for download to aplication server so you will use this function for every part.
This way you wil avoid long run time. and you can log every part separetly.
basic code :
data : lv_first_index type sy-tabix,
lv_last_index type sy-tabix,
lv_file_lenght type sy-tabix.
constant : lc_file_size type sy-tabix value '50000'." How much lines will be stored
data : task type c lenght 8,
count type n lenght 4.
lv_total_lenght = lines( my_big_table ).
lv_first_index = 1. " In ABAP index start with 1, not 0
do.
if lv_total_lenght < lv_file_size.
lv_last_index = lv_first_index + lv_total_lenght - 1.." What is the last index
else.
lv_last_index = lv_first_index + lc_file_size - 1." What is the last index
endif.
loop at my_big_table
into wa_big_table
from lv_first_index
to lv_last_index.
append wa_big_table
to my_table.
endloop.
add 1 to count.
concatanete 'TASK'
count
into task.
call function 'ZRF_DOWNLOAD' " This will upload data to application server
STARTING NEW TASK task
exporting
it_table = my_table.
lv_first_index = lv_first_index + lc_file_size. " What is the starting index now!
lv_total_lenght = lv_total_lenght - lc_file_size." How many line is left.
if lv_total_lenght <= 0." there is no line
exit.
endif.
enddo.