Skip to Content
0

Script logic issue?

May 24, 2017 at 10:13 AM

23

avatar image

Hi Team,

We are using BPC 10.1 Classic on BW 7.5 SP 05, EPM SP 27.

We have a requirement to copy data from one model(Sales) to another(Sales1). We have exact combination of dimensions in both models except one dimension (i.e.Product in Source & Product1 in Destination).

In Product dimension, we have hierarchy structure to Level 5 (i.e. base members are at 5th level) and in Product 1 Dimension, Hierarchy level 4 (i.e. base members are at 4th level). So we have to map Level 5 base members of Product dimension to Level 4 base members of Product1 dimension.

We are executing this calculation using DM package with product as prompt.

We are using below code & it is working as expected.

*XDIM_MEMBERSET PRODUCT=%PRODUCT_SET%
*DESTINATION_APP=SALES
*SKIP_DIM=PRODUCT
*ADD_DIM PRODUCT1=PRODUCT :PARENTH1
*WHEN VERSION
*IS ACTUAL
*REC(EXPRESSION=%VALUE%)
*ENDWHEN

Now the other requirement is, there are some hierarchies in product (source) dimension which have base members at both 4th level & 5th level.

In this case, we have to send 4th level base member data & ignore 5th level base member data. From the below hierarchy, Pd111a(base member) data has to send & ignore Pd1111b1(base member) & Pd1111b2(base member) data

eg:

Pd1(Parent)
Pd1a(parent)
Pd11a(parent)

Pd111a(base member)
Pd111b(parent)
Pd1111b1(base member)

Pd1111b2(base member)



We have tried with the below code to read hierarchy and siblings of scoping member, but fails to check the sibling member is parent or base. Is there any alternative way to check sibling member is parent or base member??

//*************************if member has Siblings*******************

*XDIM_MEMBERSET PRODUCT=Pd111a,Pd1111b1,Pd1111b2
*DESTINATION_APP=SALES1
*SKIP_DIM=PRODUCT
*ADD_DIM PRODUCT1=PRODUCT :P ARENTH1
*WHEN PRODUCT.PARENTH1
*IS *
*WHEN PRODUCT.SIBLINGS
*IS *
*REC(EXPRESSION=%VALUE%)
*ENDWHEN
*ENDWHEN
*COMMIT

//*********************************if member doesn't have Siblings*********************

*XDIM_MEMBERSET PRODUCT=Pd111a,Pd1111b1,Pd1111b2
*DESTINATION_APP=SALES1
*SKIP_DIM=PRODUCT
*ADD_DIM PRODUCT1=PRODUCT :P ARENTH1
*WHEN PRODUCT.PARENTH1
*IS *
*WHEN UPRODUCT.SIBLINGS
*IS <> *
*REC(EXPRESSION=%VALUE%)
*ENDWHEN
*ENDWHEN
*COMMIT

Thanks,

Naidu

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Vadim Kalinin May 24, 2017 at 10:32 AM
0

Sorry, but your requirements are not clear!

You can send data from base level to base level. WHEN/ENDWHEN loop is working only with base members.

Use dedicated property for mapping! Fill it with correct id's...

"SIBLINGS" - is not supported!

Share
10 |10000 characters needed characters left characters exceeded