cancel
Showing results for 
Search instead for 
Did you mean: 

Routine in the update rules to exclude the unwanted records at ODS

Former Member
0 Kudos

Hi,

I have WBS element and system status fields in master data tables.

I have WBS element field in transaction datasources level.

in the update rules i am mapping system status to infocube.

We have lot of records which are having system status "5", i don't want to load these records into the ODS.

Is it possible to write the routine at update rules level to exclude those unwanted records.

Is there any command to exclude the records in update routine.

please let me know the logic.

Thanks in advance.

BR,

Venkat.

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

dear Venkat,

yes, you can use start routine in update rules, the syntax code

delete data_package where [fieldname] = '5'.

or in transfer rules start routine

delete datapak where [fieldname] = '5'.

hope this helps.

Former Member
0 Kudos

Hi,

system status fileds is not there in the communication struture or transfer struture.

How can i use

DELETE DATA_PACKAGE where [field name] = '5'.

system status field comming from master data table, in the update rules i am mapping system status field to ODS.

Please help me with any alternate solution.

Thanks in advance.

BR

Venkat.

0 Kudos

dear Venkat,

assume your master data is 0wbs and has infoobject attribute 0status, try

tables : /bi0/pwbs.

  • p table is attribute no time-dependent

data : lt_wbs like /bi0/pwbs occurs 0 with header line.

select * from /bi0/pwbs into table lt_wbs

for all entries in data_package

where [wbs] = data_package-[wbs]

and [status] = '5'.

  • replace all [ ] with object real name

  • here we have list for records for all status = 5.

sort lt_wbs by [wbs].

DELETE ADJACENT DUPLICATES FROM lt_ods2 comparing [wbs].

  • after sort and delete adjacent, we will have only unique wbs values list

  • here we have 2 approaches, 1st loop on master data table and delete or loop on data_package and delete, depend on which has less volume data

  • i guess master data should have less data

*1st approach

loop at lt_wbs.

delete data_package where [wbs] = lt_wbs-[wbs].

endloop.

*2nd approach

loop at data_package.

read table lt_wbs with key wbs=data_package-[wbs].

if sy-subrc ne 0.

delete data_package.

endif.

endloop.

hope this helps.

Former Member
0 Kudos

In the start routine

simply write

Delete data_package where system_status = '5'.

That shud do

RD

Former Member
0 Kudos

hi

check these similar links

here is a code sample that we use in the start routines to exclude individual records that met a condition. The routine checks each record individually.

this is a sample code

data: l_tabix like sy-tabix.

Loop AT DATA_PACKAGE.

l_tabix = sy-tabix.

*Condition

if sy-subrc NE 0.

delete DATA_PACKAGE index l_tabix.

continue.

endif.

Endloop.