cancel
Showing results for 
Search instead for 
Did you mean: 

Start Routine : Source Package

Former Member
0 Kudos
2,285

Hi Gurus

I know this is a basic question but still have doubt. Hope moderators will not lock my thread.

>> We say Start Routine runs per Source Package but field routine per record.

What does this mean?

If I have a start routine to delete some records based on certain condition, we write DELETE SOURCE_PACKAGE

But basically we delete one record here not the total package of 50,000. Then why do we write Delete Source package?

Thanks

Shouvik

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,shouvikbi

u r right ,if delete one record in a package of 50,000,we must delete source package also,,

but i guess,you can througth others to resove it base bussiness logic

just for DTP filter or Query filter

Answers (4)

Answers (4)

Former Member

Hi,

Delete statement with the given condition deletes the record from only one package where the records satisfy the condition.Suppose we have 50000 records coming from the source system and the package size is of 10000. Every time 10000 records will come to the transformation one by one. Start Routine works on that 10000 records only not the whole 50000 records.

So if you have written a deletion statement it will delete all the records from the source package containg 10000 records based on the condition given. Hence we call that Start routines work on the whole package.

While Field level routine will work on each of the records of the source package. Suppose we have deleted 1000 records from the Source Package based on some condition then field level routine will work on all the remaining 9000 records of the source package, thats why we say field leveol routine works record wise.

Hope it clarifies your doubts.

Navesh

former_member202684
Contributor
0 Kudos

Hi,

To delete only specific records we write the "where" condition.

If we write only "delete source_package" the whole data (i.e. each package coming from source) will be deleted.

Delete statement can be written for a table.

check this

http://help.sap.com/saphelp_erp60_sp/helpdata/en/06/aafd54fc4011d195280000e8353423/frameset.htm

Regards,

Joe

Former Member
0 Kudos

Hi,

if you write the below statement,

DELETE SOURCE_PACKAGE

then yes, it will delete complete source package but it is not correct.

Generally what we do is, put some condition in delete command just to delete specific records and not the entire source package.

delete source_package where country = 'USA'.

This will not delete source package but only remove those records where the country value is 'USA'..

Regards,

Durgesh.

Former Member
0 Kudos

hi

for your understanding i will give you a small scenario:

we were loading actual data to balance sheet cube , i have written a start routine to delete the data if anything loaded ather than actuals like OBJ, SOP

Delete Source_Package where data type code ne 'ACTL'

Explanation:

Source_Package is a source structure, here we are deleting the data type code is not equal to actuals but not not all the data.

Thank you.