cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

prior version definition from property

former_member414265
Participant
0 Likes
160

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,

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Likes


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

former_member186338
Active Contributor
0 Likes

Just to clarify:

"Prior version technical name" - means PROPERTY Name of the property containing prior version

Vadim

Former Member
0 Likes

yip, thats what I meant thanks.

Answers (2)

Answers (2)

former_member414265
Participant
0 Likes

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???)

former_member186338
Active Contributor
0 Likes

Unclear, please explain what do you mean!

former_member414265
Participant
0 Likes

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.

former_member186338
Active Contributor
0 Likes

Still, absolutely unclear!

Explain the calculation logic with the real dimension members!

Please read:

Vadim

former_member414265
Participant
0 Likes

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

  • - Input – hierarchy leaf – BAS level
  • - System calculated – hierarchy leaf – BAS level
  • - Copy from P&L  - hierarchy leaf -  BAS level

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.

former_member186338
Active Contributor
0 Likes

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

former_member414265
Participant
0 Likes

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

Former Member
0 Likes

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

former_member186338
Active Contributor
0 Likes

Please read:

You have to use %VERSION_SET% if you set VERSION member in the Data Region:

VERSION=SOMEMEMBER

Or:

$version$

if you set version=SOMEMEMBER in the PARAM line

Vadim

former_member186338
Active Contributor
0 Likes

Hi Andy,

Sorry, but "in UJKT the %VERSION_SET% won't work" - is absolutely incorrect, Data Region will do the job.


Vadim

Former Member
0 Likes

Hi Vadim,

Ok thanks, tried on my system and it works. learnt something new

Andy