Protected by Copyscape Original Content Checker

Saturday, April 16, 2011

Selective deletion process chain





This article tells you how to use the Selective Deletion in Process Chains. I.e. Using "DELETE_FACTS"
TCode , how to generate the selective deletion program and then using that program how to delete the data in InfoCube.


Sometimes, before loading the data to InfoCube, we need to delete the data based on some selective
deletion, E.g. Date, then we need to load the data to InfoCube. Every time we don't want to do this activity manually, and we need to automate this process.


InfoCube Data deletion by using Selective Deletion through Process Chains. In some cases we need to
delete the InfoCube data based on selective deletion.
E.g.: We have Planning InfoCube in BW system and the data will get from APO system, in APO they will run
planning on weekly basis and they plan from SY-DATUM to next 30 days. So once APO system will completes the SNP Weekly runs, then BW system need to extract the data from APO.
But before loading the data to BW Plan InfoCube, first we need to delete the existing data from SY-DATUM
to next 30 days data, after that I need to load the data. Because APO SNP runs will happen every Week, if we load the data directly to Plan InfoCube, it will give wrong information in reports, because every time we are loading from SY-DATUM to next 30 days. (E.g.: Suppose APO SNP first run date is 01.02.2009, so after the APO run we loaded Plan data to BW InfoCube i.e. from date = SY-DATUM (01.02.2009) and to date = 01.03.3009.
Then on 08.02.2009 second SNP run was happen, so if I load data from SY-DATUM (08.02.2009) to
08.03.2009, then the data is duplicated in InfoCube, because we already loaded from 01.02.2009 to 01.03..2009 in the first SNP run, and now we are again loading from 08.02.2009 to 08.03.2009, so finally InfoCube is having the data from 08.02.2009 to 01.03.2009 from first SNP run and 08.02.2009 to 08.03.2009 from second run, this is wrong data. So first we need to delete the data from 08.02.2009 to 01.03.2009 and then load the data from 08.02.2009 to 08.03.2009).
We can achieve this by using "DELETE_FACTS" Transaction code. I want to automate the complete
process using Process Chains.
Give DELETE_FACTS Tcode in Command field screen and enter and give InfoCube name and select
Generate selection program option and then execute.

Take this program  and then go to SE38 and give program name and click on Variants option
Give the Varient name ZVAR_DEL1 and then click on create
It will display the selection screen. Our intension is we need to delete the data based on 0Calday (Calendar 
Day), so press F1 and find the screen fields for that Calendar Day. 








In the following screen you can find the Screen Field for Calendar Day. I.e. C006-LOW. Once you find the screen field number then close the screen. 

Click on Technical name button And click on the Attributes ButtonClick on Selection Variable and select "D: Dynamic date calculation"Then select Name of Variable like below and double click on that it will open the following screen.I want to delete the data from Current day to next 30 days. So select Current date -xxx, current date + yyy and double click.








  






Save. Come back to SE38 and select Variants option and Click on Display button.See the values for that variant. It shows SY-DATUM to next 30 days date.So we created a selective deletion program to delete data from InfoCube, and whenever you execute this program with using Variant ZVAR_DEL, it will delete the data from that day to next 30 days.

Add the program in process chain and automate using SAP scheduler. . 

No comments:

Post a Comment

Web Analytics