cancel
Showing results for 
Search instead for 
Did you mean: 

Start Routine - in an Info-Cube

0 Kudos

In the scenario of an update to an Info-Cube from an ODS, the system automatically creates a number of dialog process based on the volume of data to be updated.

Since each of these processes run independently, it appears that the start rtn is executed in each process.

In the cases where a large table is read into memory in the start rtn, this happens in each process which is an unnecessary in terms of efficiency of the load process.

Any ideas on ways around this and/or is there a way to share the table in memory once its read.

Thanks Mathew

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

You can write the data out to the shared memory, then set a flag in an info object to tell the other processes to use the shared memory data, and not load the data into an internal table.

0 Kudos

Hi Bill,

Thanks for the information. Appreciate some guidelines on a way to do this in ABAP. Since the processes run in parallel, there is no way to tell which one will finish last to clear the global memory ...appreciate your thoughts on how this could be catered for.

Thanks Mathew

Former Member
0 Kudos

Hi Mathew,

Look at the ABAP keywords like export to memory in the on-line documentation. We looked at using this for some of large data loads, but decided not to use this method.

If you are running 3.0B or higher, you could set up a process chain to clear out the memory once all of the jobs have completed running. HTH

Former Member
0 Kudos

Hi Matthew,

Another option to consider is to load the data into an ODS table as the first step in your data load, then all following jobs will read the data from the ODS table. This might be a better solution and easy to manage on your system.

0 Kudos

Hi Bill,

Why did you decide against the export to memory ?

Tx for the suggestion on the process chain bit..I did not think of it.

In our scenario the start rtn, reads an info-object master data to memory to save on repeated disk access. Using an ODS as you suggested later would function identically as a master data table ...at least that's my impression.

How did you end up handling large tables in start rtn which were used for referencing and not modified in any way ?

Tx Mathew

Former Member
0 Kudos

Hello Mathew

Our load into info-cube was taking long time because of repeated disk access. We simply wrote ABAP program updated the necessary objects before the info-cube load and with process chain ran the program before the cube load.

This way we cut the load time by more the half.

parmjit

Former Member
0 Kudos

Hi Matthew,

Here are some quick answers to your questions below:

Why did you decide against the export to memory ? If one data load failed, then it is easier to re-run the data load for that one ODS table since the data we need is in a ODS table, not stored temporary in memory.

You can use a ODS table or IO table in this way. We do not read in the whole ODS table when we load data, in the str, we only read into an internal table only the records we need.

The downside to this is that we have created a dependecny between getting data load into ODS table, before we can do any other processing.

Cheers!

0 Kudos

Thanks Guys,

Mathew

0 Kudos

Hi Bill,

Just thought I'll add something one of the guys did think up lately.

They use the serial method of reading data packages to an ODS and in the start rtn. check if its data package 1 and then fill the table. All subsequent packets only read from the table.

I am not sure of the performance implications, buts its a tradeoff bt memory paging with parallel processes and a single process .

Mathew