cancel
Showing results for 
Search instead for 
Did you mean: 

BPC 10.0 NW Business Rules not working

Former Member
0 Kudos

Hello all,

I am a relatively experienced BPC developer but am having fits trying to get the business rules to work at a new company.  I am not very good on the back end, though, so I have not done extensive debugging.  I would appreciate any advice.

The issue appears to be when I run logic that calls a business rule in any of the models.  I have tried Currency Translation, Account-based Calculations and IC Eliminations and all three give me an immediate status of "Abort" on the Package Status screen.  This is despite the fact that the Package Log indicates that the package status was "SUCCESS" (but no records are written).

For example (regarding the Currency Translation in the Planning model specifically):

1.  I have configured the FX Restatement Data Manager package with the appropriate dimensions (CATEGORY, TIME, and ENTITY) and the correct Logic Script file (FXTRANS.LGF).

2.  I have configured the corresponding FXTRANS.LGF file as follows:

     *RUN_PROGRAM CURR_CONVERSION

     CATEGORY = %CATEGORY_SET%

     TID_RA = %TIME_SET%

     OTHER = [ENTITY=%ENTITY_SET%]

     RATEENTITY = Global

     *ENDRUN_PROGRAM

3.  I have created two Currency Translation business rules in the Planning model - one for AVG and one for END.  I have tried entering the formula both as [AVG] and simply AVG.

4.  I have configured all the required dimension properties (ACCOUNT.RATE_TYPE, ENTITY.CURRENCY, AUDITTRAIL.IS_CONVERTED etc.).  The only member of the R_ENTITY dimension is "Global".

5.  I have entered FX rates into the Rates model for the right Category, Input_Currency, and Time.

Any ideas what I am missing?

Thanks,

Brian

P.S. As a side note, if I run logic that I have written myself, the DMP works fine and values are written to the database.  For example, if I replace the logic above with the following, the FX Restatement DMP succeeds:

*LOOKUP Rates
*DIM R_ENTITY = Global
*DIM R_ACCOUNT = ACCOUNT.RATETYPE
*DIM SOURCECURR:INPUTCURRENCY = ENTITY.CURRENCY
*DIM DESTCURR:INPUTCURRENCY = USD
*ENDLOOKUP

*XDIM_MEMBERSET AUDITTRAIL = Input

*XDIM_MEMBERSET RPTCURRENCY = LC

//ENTITY passed by Data Manager Package
//CATEGORY passed by Data Manager Package
//TIME passed by Data Manager Package

*WHEN ACCOUNT.RATETYPE
*IS AVG,END
*REC(FACTOR = LOOKUP(DESTCURR)/LOOKUP(SOURCECURR),RPTCURRENCY = USD)

*IS "
*REC(FACTOR = 1,RPTCURRENCY = USD)

*ENDWHEN

View Entire Topic
Former Member
0 Kudos

Thanks Gersh - the short dumps using ST22 indicated a problem with a value of 'XXXX'.  I remembered that this was the value of the "YEAR" property for one of the Input members in the TIME dimension.  After changing the value of 'XXXX' to a real year, the logic ran fine.

Thanks!

Brian