Skip to Main Content

Analytics Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Triggering a business rule only if rtp member a descendant

Developer86Jul 4 2025 — edited Jul 4 2025

Hello,

I'm trying to write a business rule that only triggers if the run-time prompt (rtpOrganisation) member is a descendant of a design-time prompt (dtpParentOrganisation) member - but I'm having some difficulties! Appreciate any help anyone can offer!

Without any attempt at the rtp descendant check, the sample code below is working fine:

    /* Aggregate Settings */
   SET UPDATECALC OFF;
   SET AGGMISSG ON;
   SET EMPTYMEMBERSETS ON;
FIX({rtpScenario}, {rtpVersionTarget})
   /*Aggregate Org member*/   
   FIX(&PriorYear01, "AP12")
       @IDESCENDANTS([dtpParentOrganisation]);
   ENDFIX
ENDFIX

However, I only want this to run if the rtpOrganisation is a descendant of the dtpParentOrganisation member.

In my simplistic mind, I'd love to do an IF statement at the start to do the check but I don't think Planning works that way, instead requiring a FIX before I can get into these? This would be the ideal (albeit, psuedo code, not proper syntax but displayed to illustrate the ask):

IF {rtpOrganisation} IS A DESCENDANT OF [dtpStatRuleOrg] THEN
/* run script */
ENDIF

I've also tried a variety of methods - including trying to pass different things through the dtp, different @ANCESTOR/@DESCENDANT/@INTERSECT commands in a FIX - with no joy. One of the common themes I'm having when trying with a fix is that I get the restricted member error - due to the aggregation line also referring to the Organisation dimension.

If I've not explained this well enough, apologies, I'd be happy to add more detail if it helps come up with a solution! Any help would be so greatly appreciated!

Comments
Post Details
Added on Jul 4 2025
0 comments
27 views