on 09-19-2006 10:56 PM
Hello all,
I have two basic cubes, CUBE-1 and CUBE-2 both of them have almost similar data except couple of fields, one of them is an indicator (Y or N).I have three infoobjects named 0Competitor 1 , 0Competitor 2 and 0Competitor 3 in both the cubes.
Report Requirement on Multi Provider is I want to run the report where I am checking for a competitor for example "ORACLE" in either 0competitor1,2 and 3 info objects.
I cannot chage the current design, so I have to handle this only through query.
any input is really appreciated,
thank you much.
k.
Your post is not very clear to me.
You have these 3 'competitor' fields in both cubes, and you want to select rows if 'any' of these rows match with the specified value (is it an input from the user - 'ORACLE' in your example)?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Krishna,
This can be done easily with BEx variables customer exit, don't go for virtual fields that makes the query performance worse on multiprovider.
(1) Create variable type <i>Processing by User Entry/Default Value</i> on 0COMPETITOR1 with single selection entry.
(2) Pass the value entered in above variable into the field 0COMPETITOR2 by creating another variable type <i>Processing by Customer Exit</i> . In customer exit ABAP code at <b>I_STEP = 2</b> , read the value entered in step1 and assign this value to 0COMPETITOR2
(3) Repeat the same with 0COMPETITOR3
So that the user entering the ORACLE (or) selected value in 0COMPETITOR1 field onetime that will bring the matching data from all three fields in both cubes.
Cheers
Martin
Ok, here is a work-around which might just work :-
- create two additional variables of user-exit type, assign value to these variables from the one which user has input. At the end of it, all 3 variable have the same input value (eg ORACLE)
- create restricted KF column restricting some KF (any, doesn't matter) on first char (0COMPETITOR1 say), restricting it by variable1. This column will then have values for rows where 0competitor1 matches the variable value and initial/zero for other rows.
- Create similar other two restricted KF; restricting them on 0comp..2 and 0comp..3 chars, with corresponding variable values. These column would also then have non-zero values for the rows where corresponding char contains the variable value (eg ORACLE).
- create a CKF which is RKF1RKF2RKF3. Now, this CKF will be non-zero if one of the three 0COMPx characteristics contain the user-input variable value, and zero where none match.
- Create a condition (remember there was no filter used) to show only rows where the CKF from the previous step has a non-zero value.
- Hide the CKF/RKF columns that you don't need to show.
Don't tell, it is convoluted
Hi Krishna,
Yes, this will work for selection range as well.
The customer exit variable for other 2 fields needs to be <u>"not ready for input"</u>, then only variable entry comes into ABAP code.
please inform if need ABAP code for I_STEP = 2 , Couple of posting available online for the same.
Thanks
Martin
I understand what you are saying, but it works as "AND" condition. If I copy the variable value of one infoobject into other two info objects.
It will retrive records where competitor 1 , 2 and 3 are "ORACLE" in my example.
But I want it to work on "OR" i.e I want all the rows where competitor is "ORACLE" in Either competitor 1 or either competitor 2 or either competitor 3.
k
User | Count |
---|---|
89 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.