cancel
Showing results for 
Search instead for 
Did you mean: 

Data Transfer

Former Member
0 Kudos

Hi, experts,

We have got a local process chain with many packages to import data from other cubes.(BW 3.5) The main Idea is that we do not need all data from the source cubes in our destination cubes. We need to limit data transfer by 0CALLDAY.

The useal method is to enter period in the packageparameters.

But this procedure is regular with changing range of 0CALL day.We do not want to set up variables in every package each time we need to transfer data.

Can we use some kind of CHANGING VARIABLE in 'DATA SELECTION' part of the package?

A lot of thanks in advance!

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

You don't have to put period every time before running your IP. You can use either a OLAP variable or ABAP routine according to your requirement.

On Data Selection screen of IP, you can use type 6 for routine and type 7 for OLAP variable.

Sample code for routine

data: w_month(6) type n,
             from_date type sy-datum,
             to_date type sy-datum.

     w_month = sy-datum(6).

     concatenate w_month '01' into from_date.
     concatenate w_month '01' into to_date.

    l_t_range-low = from_date.
    l_t_range-high = to_date.
    l_t_range-sign = 'I'.
    l_t_range-option = 'BT'.

    modify l_t_range index l_idx.

Just find out whether any OLAP Varibale fulfills your requirement or not. Otherwise Routine can be used.

Hope it helps...

Regards,

Ashish

Answers (2)

Answers (2)

Former Member
0 Kudos

Yes, that was what i need!

I have create a range variable (31.12.9999) in SM30 in TVARV table and chek it whith Routine.


 data:
                from_date type sy-datum,
                from_date_t like TVARVC,
                to_date_t like TVARVC,
                 to_date type sy-datum.


  select single *
    from TVARVC
    into to_date_t
    where NAME = 'YPERELIV' and TYPE = 'S' and NUMB = 0.


  select single *
    from TVARVC
    into from_date_t
    where NAME = 'YPERELIV' and TYPE = 'S' and NUMB = 0.

  concatenate from_date_t-LOW+6(4)
              from_date_t-LOW+3(2)
              from_date_t-LOW(2)
              into from_date.
  concatenate to_date_t-HIGH+6(4)
              to_date_t-HIGH+3(2)
              to_date_t-HIGH(2)
              into to_date.

  l_t_range-low = from_date.
  l_t_range-high = to_date.
  l_t_range-sign = 'I'.
  l_t_range-option = 'BT'.

  modify l_t_range index l_idx.

It was my first ABAP:)

Thank you!

Former Member
0 Kudos

Hi Aleksandr Ilichev ,

As you said that the daily data transfer is done by entering values for CALDAY in Infopackage. The criterion for CALDAY is changing , thats what I understand.

I would suggest you to write a routine at the Infopackage level for CALDAY.

For example , If you want last 5 years data only , then write a small ABAP code would be a good option.Thus the data load criterion would change daily because sy-datum(system date) would change daily.This is quite simple to write and test.

Regards,

James Harold.