on 2015 Jun 23 7:37 PM
Dear BPC experts,
I have the version dimension and also the prior version which
is the property of the version dimension:
Version (DM variable) Prior version (property of the
version)
Target version Source version
2015_P1 2015_FC9
2015_P2 2015_FC10
2015_P3 2015_FC11
I need a script logic which is able to read the prior version property of the version dimension based on the
DM variable (version) which is the target version. The user will define the
version as a DM variable that will be the target version and the source version
will be the prior version which is the property of the dimension version. Please
be noted that each version has a different prior version.
For example:
Version=(DM variable)=$VERSION$=2015_P01
Prior version=2015_FC9 (property of the version dimension)
In the script logic I need to define the source data where
the version will be the prior version that is the property of the version
dimension (DM variable):
*XDIM_MEMBERSET VERSION=
Question how I can define the version?
Thanks,
Request clarification before answering.
Hi Tamas,
*SELECT(%S_VERSION%,"[Prior version technical name]","VERSION","[ID]=%VERSION_SET%")
then use the variable %S_VERSION% in your script logic as it will contain prior version.
Andy
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for this Vadim.
I have another question if I have to restrict the data
source value to member value how can I do that?
Total: This is a member
Manual input: This is a BAS level member
Script calc: This is a BAS level member
How can I restrict the data source value into to total
(member) in the following data source definition:
*XDIM_MEMBERSET DATA SOURCE TOTAL (in here the TOTAL member should be used here???)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Vadim please see the details:
I have the following BAS level members in the data source:
-Total - MEMBER - SYSTEM CALCULATED NODE
-Manual input (user can enter data in the input ready layout) - BAS LEVEL
-SYSTEM_CALCULATED (calculated by script logic) - BAS LEVEL
When the system runs the script it has to read the Total in the logic to define the source data:
**XDIM_MEMBERSET DATA SOURCE=TOTAL (is it possible to define this in the script?)
I think that this will work.
How can I add my LGF file into a process chain?
Which system defined process chain has to be used as a template where I can add my LGF file to the process chain?
Please be noted that my LGF file will not be part of the DEFAULT.LGF file since this script will be run randomly by the user from the data manager.
I have three records in the fact table which are the soruce data:
Account Data source Value
10000 Input 10
10000 System calc 30
10000 Copy from P&L 50
Data source hierarchy looks like the following:
Total – hierarchy node from BW perspective
When the script is running it has to read the total value of the account 10000 which is 90 as the source data that should be copied to another account 20000 with the system calculated data source.
So the source data has to be defined on the following way:
*XDIM_MEMBERSET ACCOUNT=10000
*XDIM_MEMBERSET Data source=total
- is this correct with respect to the requirement?
How can I put my script logic into the data manager and and create a custom process chain for this?
This will not be part of the DEFAULT file.
Hi Tamas,
You have to read at least some basic info about script logic...
*WHEN/*ENDWHEN loop works only with base members - *XDIM_MEMBERSET Data source=total is useless!
The correct way is:
*XDIM_MEMBERSET DataSource=BAS(total) // including Input, System calc, Copy from P&L
*XDIM_MEMBERSET ACCOUNT=10000
*WHEN ACCOUNT
*IS * // Already scoped with XDIM_MEMBERSET
*REC(EXPRESSION=%VALUE%,ACCOUNT=20000,DataSource=SystemCalc)
*ENDWHEN
The sum of 3 records will be accumulated into single with ACCOUNT=20000,DataSource=SystemCalc
"How can I put my script logic into the data manager and and create a custom process chain for this?" - please search forum, it was explained so many times! You don't need any "custom process chain"
Vadim
Thanks for the answer 🙂
It is working fine in the transaction UJKT if I put a fix_value to the version dimension.
*SELECT(%S_VERSION%,"[Prior version technical name]","VERSION","[ID]=fix_value")
But if I put a variable to the version dimension it says that it is not able to recognise the version 😞
*SELECT(%S_VERSION%,"[Prior version technical name]","VERSION","[ID]=
$version$")
I am on SAP ABAP 740 SP11.
Any idea why it is getting fail ?
Thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Tamas,
You use %VERSION_SET% in the logic script file.
in UJKT the %VERSION_SET% won't work, as %VERSION_SET% is passed from the package file to the logic file.
If you are happy with the fixed value in UJKT then move to logic script file and run package to see if the value passes through.
Andy
| User | Count |
|---|---|
| 17 | |
| 8 | |
| 7 | |
| 6 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.