cancel
Showing results for 
Search instead for 
Did you mean: 

Script multiplying values wrongly

former_member228522
Active Participant
0 Kudos

Hello All,

I am getting value multiplied by 2 in below script logic:

*XDIM_MEMBERSET MODEL=%ASTOCK1%

*XDIM_MEMBERSET SLSACCOUNT=SALES_UNIT, SAIR_REBATE_PER_UNIT,SMIR_REBATE_PER_UNIT,BMIR_REBATE_PER_UNIT,BIR_REBATE_PER_UNIT,ABR_REBATE_PER_UNIT,DCR_REBATE_PER_UNIT

*XDIM_MEMBERSET CUSTOMER=<ALL>

*XDIM_MEMBERSET CHANNEL=<ALL>

*XDIM_MEMBERSET AUDITTRAIL=INPUT

*WHEN MODEL.CALC_QTY_DRIVEN_ACCT

*IS <> "N"

*WHEN SLSACCOUNT

*IS SALES_UNIT

*REC(EXPRESSION=[SLSACCOUNT].[SAIR_REBATE_PER_UNIT]*[SLSACCOUNT].[SALES_UNIT]*-1, SLSACCOUNT="SAIR_REBATE_CALC")

*ENDWHEN

*WHEN SLSACCOUNT

*IS SAIR_REBATE_PER_UNIT,SMIR_REBATE_PER_UNIT,BMIR_REBATE_PER_UNIT,BIR_REBATE_PER_UNIT,ABR_REBATE_PER_UNIT,DCR_REBATE_PER_UNIT

*REC(EXPRESSION=[SLSACCOUNT].[SAIR_REBATE_PER_UNIT]*[SLSACCOUNT].[SALES_UNIT]*-1, SLSACCOUNT="SAIR_REBATE_CALC")

*ENDWHEN

*ENDWHEN

*COMMIT

I have tried posts:

but not getting correct value. Could anyone please help me in this?

Beat Regards,

Deepak Palsaniya

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Kudos

Hi Deepak,

Are you talking about default.lgf or DM package script? Please answer questions in

Vadim

former_member228522
Active Participant
0 Kudos

Hello Vadim,

I talking about DM package script. Sorry my mistake here.


Deepak

former_member186338
Active Contributor
0 Kudos

BPC version?? Please, other info:

How you get values to %ASTOCK1%??? Full script please...

Vadim

former_member228522
Active Participant
0 Kudos

Hello Vadim,

I am using SAP BPC NW 10.0 801 SP04.

Data manager Variables:

TIME: 2015.FEB

CATEGORY: PLAN

CURRENCY:USD

COMPANY:1000

Best Regards,

Deepak

former_member228522
Active Participant
0 Kudos

Hello,

Below is full script code:

*SELECT(%ASTOCK1%,"[ID]","MODEL","STOCKSTATUS='ASTOCK'")

*XDIM_MEMBERSET MODEL=%ASTOCK1%

*XDIM_MEMBERSET SLSACCOUNT=SALES_UNIT, SAIR_REBATE_PER_UNIT,SMIR_REBATE_PER_UNIT,BMIR_REBATE_PER_UNIT,BIR_REBATE_PER_UNIT,ABR_REBATE_PER_UNIT,DCR_REBATE_PER_UNIT

*XDIM_MEMBERSET CUSTOMER=<ALL>

*XDIM_MEMBERSET CHANNEL=<ALL>

*XDIM_MEMBERSET AUDITTRAIL=INPUT

*WHEN MODEL.CALC_QTY_DRIVEN_ACCT

*IS <> "N"

*WHEN SLSACCOUNT

*IS SALES_UNIT

*REC(EXPRESSION=[SLSACCOUNT].[SAIR_REBATE_PER_UNIT]*[SLSACCOUNT].[SALES_UNIT]*-1, SLSACCOUNT="SAIR_REBATE_CALC")

*ENDWHEN

*WHEN SLSACCOUNT

*IS SAIR_REBATE_PER_UNIT

*REC(EXPRESSION=[SLSACCOUNT].[SAIR_REBATE_PER_UNIT]*[SLSACCOUNT].[SALES_UNIT]*-1, SLSACCOUNT="SAIR_REBATE_CALC")

*ENDWHEN

*ENDWHEN

*COMMIT

former_member186338
Active Contributor
0 Kudos

Please use the following code:

*SELECT(%ASTOCK1%,"[ID]","MODEL","[STOCKSTATUS]='ASTOCK' AND [CALC_QTY_DRIVEN_ACCT]<>'N'")

*XDIM_MEMBERSET MODEL=%ASTOCK1%

*XDIM_MEMBERSET AUDITTRAIL=INPUT

// Clear destination

*XDIM_MEMBERSET SLSACCOUNT=SAIR_REBATE_CALC

*WHEN SLSACCOUNT

*IS *

*REC(EXPRESSION=0)

*ENDWHEN

// Calculate [SLSACCOUNT].[SAIR_REBATE_PER_UNIT]*[SLSACCOUNT].[SALES_UNIT]

*XDIM_MEMBERSET SLSACCOUNT=SALES_UNIT

*WHEN SLSACCOUNT

*IS *

*REC(EXPRESSION=%VALUE%*[SLSACCOUNT].[SAIR_REBATE_PER_UNIT], SLSACCOUNT="SAIR_REBATE_CALC")

*ENDWHEN

Never use COMMIT, useless!

Vadim

former_member228522
Active Participant
0 Kudos

Thanks a lot Vadim.

Best Regards,

Deepak

Answers (0)