cancel
Showing results for 
Search instead for 
Did you mean: 

BPC Script post against a period offset

former_member201314
Participant
0 Kudos

Hi guys,

I am (again) struggling with the BPC Script syntax...

Basically, what I am trying to achieve is to post a record partially against the record's original period and partially against the following period.

The idea is to use the TMVL command. However, this seems to require a 'real' member as the 'base period'. The problem is that the time member that is supposed to be the base period of the TMVL command is the time member of the record that is currently processed and hence dynamic. (there are no %TIME_SET% variable in use)

Question: is there a particular syntax that I can use in order to reference the time member of the record in process? And as a work around: would it be possible to dump the time member currently being processed in a local variable that could then be referenced in the TMVL command?

Please ref. my code attempt below...

Thanks for your ideas...

Claus

*XDIM_MEMBERSET VWR_KONTO = BAS(K.Elem0001)
*XDIM_MEMBERSET VWR_FUNKTIONSBER = <ALL>
*XDIM_MEMBERSET VWR_KATEGORIE = <ALL>
*XDIM_MEMBERSET TIME = <ALL>
*XDIM_MEMBERSET VWR_DATENQUELLE = <ALL>
*XDIM_MEMBERSET VWR_PLANUNGSZYKL = <ALL>
*XDIM_MEMBERSET VWR_BEWEGUNGSART = <ALL>
*XDIM_MEMBERSET VWR_WAEHRUNG = EUR

*WHEN VWR_KONTO
*IS BAS(K.Elem0001)
*REC(FACTOR=1,VWR_KONTO=K.Elem2005)
*REC(FACTOR=0.1x0.75,VWR_KONTO=K.Elem2012)
*REC(FACTOR=0.1x0.75x(-1),VWR_KONTO=K.Elem2005)
*REC(FACTOR=0.1x0.25,VWR_KONTO=K.Elem2012,TIME=TMVL(1,TIME))
*REC(FACTOR=0.1x0.25x(-1),VWR_KONTO=K.Elem2005,TIME=TMVL(1,TIME))

*ENDWHEN

*COMMIT

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor

The easy way to write to next month is to create property in TIME dimension, for example NEXTMONTH and fill it with next TIME member ID for all base members (not a lot of maintenance).

Then you will be able:

*REC(...,TIME=TIME.NEXTMONTH)

former_member201314
Participant
0 Kudos

Thanks Vadim, I will give that a go.

However, is there no way to derive a dimension member of a record currently being processed???

Can't believe that this is not possible....

(The derived value could be thrown in a local variable which could the be referenced in the TMVL command?)

Cheers

Claus

former_member186338
Active Contributor
0 Kudos

Sorry, but no way! All variables are processed BEFORE WHEN/ENDWHEN loop execution. With TMVL the result will be VERY slow FOR/NEXT loop containing WHEN?ENDWHEN - not a good idea!

Answers (0)