cancel
Showing results for 
Search instead for 
Did you mean: 

Characteristic relationships and input layout

0 Kudos

Dear Experts,

I have an input layout on a planning infocube. By saving new data in the layout I want to start a characteristic relationship and derive some characteristics. In the theory to be executed the characteristic relationship should get all the source characteristics filled with values. I have 2 source characteristics and one of them is # in some cases. When char2=# my Characteristic relation does not start. Is there a trick to start it for the combination char1 = value 1 and char2=#?

This happens only when I am using layout. When I execute copy function for example and the data in some rows is exactly the same char1 = value 1 and char2=# the characteristic relationship starts and derives value for the target characteristic.

We are on BW on HANA system.

thanks,

Maria

Accepted Solutions (1)

Accepted Solutions (1)

gregor_dieckmann
Active Contributor

Hi Maria,

if one source field of a derivation relation is initial, the DERIVE method will not be called. These combinations are call 'automatically valid', you might use your favorite search engine to get more information about this topic. You can use the setting EXCL# = X, then DERIVE and CHECK will also be called for automatically valid relations.

Regards,

Gregor

0 Kudos

Thank you! Yes, with this indicator the layout is working, but I have error when I execute functions writing records in the same cube. I got error Invalid characteristic combinations exists. When I uncheck EXCL# there is no error. I know that this is due to the specific of the data. It seems that I have some records with source char=#. But why the function and the layout are working differently?

I noticed that by executing functions in memory, the char relationship is started even for combination source char1=value1 and source char 2=#.


The system is BW on HANA. Is it possible that the layout is using ABAP execution and the function the HANA?

regards,
Maria

gregor_dieckmann
Active Contributor

Yes, it depends on 'layer' of data whether characteristic relationships are processed in ABAP or in HANA, cf.

https://scn.sap.com/thread/3766588

for more details. But the logic should be the same. Have you checked that your initial source characteristic value has the correct (ABAP internal format), e.g. 000 for NUMC with length 3?

Regards,

Gregor

0 Kudos

Dear Gregor,

thanks again for the useful information! In my input-ready layout I have set source char 1=#. It is type char, not numeric.

Should I change it?

gregor_dieckmann
Active Contributor
0 Kudos

Hi Maria,

you say that you have set the source 'char1 = #', here for me it is unclear whether you talk about the internal value or the external value. Any client uses external format; '#' is the external format of the initial value. The client converts the external value to the internal value and the latter is used in BW to process the data. To use '#' as interval value would be wrong.

Do your have more information about the 'Invalid characteristic combinations exists' message (this is message RSPLS070 I gess, e.g. other messages with information about the combination)? The following notes might be helpful to analyze PAK messages:

2375039

2085284

Regards,

Gregor

Answers (2)

Answers (2)

cornelia_lezoch
Active Contributor

Hi Maria,

I am not sure what you mean by "source characteristics".

in a char relationship you define as "Source char" the one that is filled in query or function and as "target" the one that shall be fileed by the derivation rule.

derived char = target char MAY NOT be part of the aggregation level, otherwise the derivation will not start.

here in my example, we always use 0FISCYEAR in all queries and functions and from this for instance 0CALYEAR is derived.

regards

Cornelia

0 Kudos

Hi Cornelia,

thanks for answering. This rule is kept. All the target char. are not in the aggr. level. The source char. are in the level, but one of them gets value=#. It is set in the query and it is used so in the planning model, so I can't change it. So, for the combination of char1 =val1 and char2=# I want to derive a value for the target char1=val1 and target2=val2. The problem is that the char. relation does not start at all.

thanks and regards,

Maria

cornelia_lezoch
Active Contributor
0 Kudos

what type is your char relationship? when it is exit, there is a special flag to deal with # and you might need to set this