cancel
Showing results for 
Search instead for 
Did you mean: 

Delete overlap request in DSO

Former Member
0 Kudos

Hi All,

I have a reqquirement to delete the Request as Delete overlap request in DSO.

I know that there is a Process type availabe.but this only for Infocube.

can you pls help me how to get the similar kind in DSO.

Thanks,

Anilkumar

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

if you don't want to create a program to delete overlapping data in your dso you can create a transformation from your dso in the same dso (ringload). You have to use the same selection in this dtp as in your infopackage/ dtp in this dso. You have to use this coding in start routine:

   DATA: wa_data_package LIKE LINE OF SOURCE_PACKAGE.

    wa_data_package-recordmode = 'D'"Set 'Delete' mode

    MODIFY SOURCE_PACKAGE FROM wa_data_package
      TRANSPORTING recordmode
      WHERE recordmode = space.              "for all records

The records in the dso are set to delete mode. After doing the ringload you have to activate data in dso. After that you can load the deleted data into InfoCube or DSO per delta-dtp. You don't have to delete overlapping requests in InfoCube because of the ringload.

Regards,

Yvonne

Former Member
0 Kudos

HI Alex,

Thanks a lot for you Reponse,

I will try as per your information and will get back to you...

Thanks,

Anilkumar

Former Member
0 Kudos

HI Kofski,

Thanks for your response...we will try according to information and get back to you.

As i told our target is DSO and Mode is Full.

Thanks,

Anilkumar

Former Member
0 Kudos

Hi Anil,

here is an example for a datamodel:

infopackage (full) datasource -> PSA (for example July 2012)

delta dtp PSA -> DSO

delta dtp DSO -> InfoCube

When you load July 2012 again, you have to delete the old data in the DSO and in the InfoCube. For this you can use the ringload. Before you load July 2012 again in PSA you do the ringload for your DSO with a DTP full mode and selection July 2012. After that you activate your DSO. Now you can load July 2012 again in your DSO. Activate Data. After that you load the new requests (deleted data and the new data) from DSO per delta into your InfoCube. The old data is deleted in InfoCube and it is updated with your new month data.

Regards,

Yvonne

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

The DSO does not hold the request number in the active data table, therefore it is not possible to delete overlaping requests.

However the DSO works with overwrite, in oppose to an infocube, so you could overwrite data that has the same DSO key  - leaving only the most current as available for reporting.

Regards ,

Alex

Former Member
0 Kudos

HI Alex,

Thanks for your reply,

So can we go for creating a custom program for this?"

The function of our DSo is Summation..Source is also DSO

i think Active table will holds request right.

Thanks,

Anilkumar

Former Member
0 Kudos

It is very difficult for me to answer without knowing the specifics of your implementation,

usually deletion of overlaping request is not required when using a DSO.

If it is possible delete the data from the DSO before each load

if not:

Add the Request number to the key of the DSO and use selective deletion filtering by the request number (you can add the request number in start routine).

Regards,

Alex.

Former Member
0 Kudos

HI Alex,

Thanks for your reply,

My requirement is Data is loaded from DSO1 to DSO 2.This load will happen only once in a month according to the slection periods (fileterd as Dyanamically) mentioend in the DTP.

so when ever we load the data, it has to check ..if there is any same selection of request is there..that has to be delete ..before the load..

Yes.through star routine we can ahead for this.but there is lot of sources available in different flows.

we want make this in Process chains..

so we are trying to find is there any possibilty for achiving this..

Thanks,

Anil

Former Member
0 Kudos

Hi,

Use transaction DELETE_FACTS to create the selective deletion program for the DSO.

Than you can create a custom program that calls this program with the needed request as an input parameter.