on 02-23-2015 6:13 PM
Dear Gurus,
I searched the forum but did not manage to find an answer...
Here is the scenario.
I want to run the retraction from BPC to ECC. The retraction is ran through a data package. I want the users to be able to select their version (CATEGORY) and the year to retract. So using the PROMPT function, I can achieve that.
BUT I want to "hard code" a list of dimension values as the input for the data package. I don't want the user to choose for a selection file...
I did not find how to filter the data passed to a data package...
Is it possible without selection file ?
PY
Hi Pierre,
You use PROMPT to provide user selection of CATEGORY and TIME (Year). You have to fix other dimension members in other dimensions? Easy! Just fix them in the advanced DM package script.
Please show full advanced script you have and what you want to fix...
Vadim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vadim
Do you mean somehting like that ?
PROMPT(SELECTIONINPUT,%SELECTION%,,,"%CATEGORY%,%TIME%")
INFO(%SUFFIX1%,DIMENSION:AUDITTRAIL|INPUT|)
INFO(%SUFFIX2%,DIMENSION:AUDITTRAIL|AUTO_CALC|)
INFO(%SUFFIX3%,DIMENSION:CURRENCY|LC|)
INFO(%BADINAME%,"POSTPRIMCOST")
INFO(%MEASURESLIST%,"SIGNEDDATA")
and then I replace the %SELECTION% in tasks by %SELECTION%%SUFFIX1%%SUFFIX2%SUFFIX3%
Is that correct ?
PY
Hi Vadim
Is there a way to select on Attribute property of a dimension ?
I did not find any documentation on that
PY
Hi Vadim
The context is for the retraction.
We call the retraction badi from the DM. Some cost elements have been used for input in BPC with cost centers as a CO object. But in ECC, those cost elements are only allowed for budget with activities. So, ECC rejects that.
Thus, I wanted to exclude those cost elements from the retraction. We added a property to the account dimension, to select the accounts we want to retract. We would like to use that property as a filter (as you could do in BI-IP using the navigational attribute)...but it looks like it is not possible from there...
My understanding is that we need to find another approach. I can filter in the retraction badi with abap code, but it is not very convenient...
Any other idea ?
PY
Hi Vadim
Actually, I made your modifications and it works
The purpose of the retraction is to send the result of the planning data from BPC to ERP using BAPIs
So in BPC (BW layer), we call a BADI for retraction and in that BADI we call the BAPI.The input if the BAPI is to be the data from BPC (a little bit transformed to fit ECC master data...)
So to select the data from BPC, I would like to be able to filter not on O_ACCOUNT dimension (for example), but on a property of O_ACCOUNT (for example the property name could be ECC_PLANNING and the possible values "X" or empty). I would select for example all the accounts for which the ECC_PLANNING property is equal to X. Using that way I can ensure to send to ECC only the data that can fit in...if it fails, it is the user's responsibility to maintain its master data correctly in BPC (using BPC you get the right to maintain master data...so it is not free, you have to be careful 😉 )
The %SELECTION% will include the list of members for the dimensions users can filter. It will then be passed to the data selector to retrieve the data from the cube
Hope it is clearer..
Thanks
PY
Hi Gersh
Thanks! Actually that log is also accessible throuhg the excel interface when you look at the log status...and I will be unable to "mimick" as the selection is then hard coded...I mean that when you filter through a property, it creates a file with all the dimension members in it...at the time you did the selection...So, if you add any new account or you change the value of the property for some accounts, the selection is not re-evaluated...We are still far from BI-IP features...but from and enduser point of view, they have the flexibility...
Nevertheless, thanks the help
PY
"when you filter through a property, it creates a file with all the dimension members in it...at the time you did the selection" - yes!
Another option is to use custom logic badi to perform retraction... In this case you can use script logic before badi call to scope properly some dimensions...
Vadim
Hi Gersh,
that's the one I tried.
But when you save it, it evaluates the condition at that time...I saved the selection file and when I opened it I saw the exact list of the current accounts filling my condition...but it will not be re-evaluated after...
So I will certainly have to look into the script logic in the admin tool...
PY
Hi PY,
As you can see it doesn't store list of members - just Property value. So, next time you choose same saved filter it evaluets members and will add/remove members from the list if you changed that property in some members.
Did you see a list of members on the right hand side or just filter condition?
Regards,
Gersh
Hi Gersh,
Got it!! Actually I did not save the filter...
I just executed it and add to the selection...
Now, I saved it and in the log I got another string with the call to the filter:
DIMENSION:O_ACCOUNT|[Filter:nameofthefilter]
It looks like it works, but now I am wondering how it can be transported and validated...
Really THANKS A LOT!!!
PY
Hi PY,
Ok, this is a good first step:).
Transport is a little tricky with this kind of filter because it's user dependent. So, it depends if you want scheduling that package or run on demand. If you want to schedule it, do you know under what user ID it will run?
Regarding validation I'm not sure I understood your question. Do you mean how to validate if it re-evaluets members or not? I think i described that in my previous post. If some other validation can you please elaborate?
Regards,
Gersh
Hi PY,
To test you can take any Package, like Copy, set this kind of filter and check which members it copied; then change Property value on one of the members to exclude it and on another to include it; then run it again and check if correct members are copied.
It worked for my customer, hope it works for you as well.
Regards,
Gersh
Hi Gersh,
Very interesting knowledge! I managed to test it with simple Clear package. Just created filter based on single property of PERIODS dimension (type - T). Filter name - NODY.
The advanced script of the DM package is (no prompts, filter hardcoded):
INFO(%SELECTION_KEYDATE%,)
TASK(/CPMB/CLEAR_CUBE,CHECKLCK,0)
TASK(/CPMB/CLEAR_CUBE,SELECTION,SELECTION,@@@SAVE@@@@@@EXPAND@@@|DIMENSION:PERIODS|[FILTER:NODY]|)
TASK(/CPMB/CLEAR_CUBE,DUMPLOADMODE,3)
TASK(/CPMB/CLEAR_CUBE,KEYDATE,%SELECTION_KEYDATE%)
TASK(/CPMB/CLEAR_COMMENTS_FOR_CLEAR,SELECTION,@@@SAVE@@@@@@EXPAND@@@|DIMENSION:PERIODS|[FILTER:NODY]|)
TASK(/CPMB/CLEAR_COMMENTS_FOR_CLEAR,ENABLETASK,1)
TASK(/CPMB/CLEAR_COMMENTS_FOR_CLEAR,CHECKLCK,0)
TASK(/CPMB/CLEAR_COMMENTS_FOR_CLEAR,CHECKJOUR,0)
And it's working fine!
If I change the property of some PERIODS member to satisfy the filter criteria - then it will be cleared!
Vadim
P.S. In general, the filter can be complex
Hi,
If my understanding is correct you don't want to pass any value from data manager package and values are fixed want to hard code , then simply hard code (ABAP /Script )it.
But it is strange requirement ...any specific need to hard code time ?
Shrikant
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
2 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.