cancel
Showing results for 
Search instead for 
Did you mean: 

DSO: Override a field with a tranformation

Denis_Müller
Participant
0 Kudos

Hello,

I have a DSO and in it there is a field which is "X" or " ".

After the transformation I need to have a way to set this field as "X".

How can I do this?

At the moment we have a program which updates the data and set this "X", but this is very slow (there are 20 - 30 million data in it). Is there a standard way to do this faster? Can we solve it with a transaction?

Normally it is no problem that it is slow but we have a time critical process for the month end closing, so we need to have less time.

View Entire Topic
Former Member
0 Kudos

Hi Denis,

In the transformation don't map that field with any data source field. Just assign the value directly to that field as CONSTANT (in the transformation rule itself)value because in your case that field is always getting populated with valur "X" which is a constant.

For doing this you will have to double click on the "=" symbol beside that field in the transformation and select CONSTANT from the options and provide constant value as "X". No need to map it with DS field.

Navesh

Denis_Müller
Participant
0 Kudos

Hi,

that's clear but we need to have a second tranformation or so to set this field AFTER the first transformation.

The first transformation have some logic to created specific data. While this transformation is running the field have to be " ".

Now when the transformation is finished I need to have a logic/transformation to set this "X".

Do you understand my case?

Former Member
0 Kudos

Hi Denis,

In that case you can use End routine to populate that field. End routine works after all the transformation is completed.

or

you can create obne more DSO over the current DSO whih will have one to one mapping with all the fields except the field which needs to be populated with constant value. In this transformation just assign the value for that field.

Navesh

Edited by: navsamol on Oct 4, 2011 4:32 PM

Denis_Müller
Participant
0 Kudos

Hi Navesh,

no this isn't possible because there is a small logic (a ABAP-Program) after the first transformation which have to be finished before the second tranformation can start.

Former Member
0 Kudos

Hi Denis,

Do you mean to say that from DS to DSO you have 2 transformations? I am a bit confused here. Assume T1 and T2 be 2 transformations. Let me know now how the data flow is designed. Is it like DS->T1->T2->DSO?

Navesh

Denis_Müller
Participant
0 Kudos

Hi Navesh,

I thought that I explain it more easier, because it is a very complex logic, but I will explain it for you.

Our architecture is:

DSO 1 -> Transformation -> DSO 2.

In this transformation we implemented a start routine and an end routine. Here the logic calculates and evaluates lots of new datasets. It is very complex, because it's based on the BCS data.

After this transformation we need to set this "X" in DSO 1.

So you can see the problem, we can't use the end routine of the transformation, because this is the tranformation for the wrong DSO.

Why do we set this "X"?

This "X" shows that this dataset is processed and don't read again when the transformation called twice.

At the moment we have an ABAP-Program to set these "X" in the DSO-Table.

These is'nt very fast, because the DSO has at the moment about 30 Mio data.

Who can we set these "X" faster?

It have to be fast because it is part of the month end closing.

I hope this is well explained

Former Member
0 Kudos

Hi Denis,

In your case I can't think of any better solution than your already implemented solution. However you can take help of some ABAPer to optimize the code if possible.

Navesh