Skip to Content
0
Former Member
Sep 05, 2012 at 04:35 PM

Run Allocation Performance

28 Views

Hi Experts.

I have an allocation requirement and I'm trying to solve it under Script Logic but the performance is not quite good.

The records are as follow:

Entity Account Condition Version Date Ratio SIGNEDDATA A ACC_A NA V1 2012.JAN AMOUNT 1000 A ACC_A C1 V1 2012.JAN PERCT 0.5

And the result should be:

Entity Account Condition Version Date Ratio SIGNEDDATA A ACC_A C1 V1 2012.JAN AMOUNT 500

To do this, the Script Logic I've defined is:

*XDIM_MEMBERSET RATIO = PERCT*XDIM_MEMBERSET ENTITY = %ENTIDAD_SET%*XDIM_MEMBERSET VERSION = %VERSION_SET%*XDIM_MEMBERSET DATE = %DATE_SET%*XDIM_MEMBERSET CONDITION =  C1, C2, C3, C4*SELECT(%VBLE_ACC%, ID, ACCOUNT, [CALC]='N')*XDIM_MEMBERSET ACCOUNT= %VBLE_ACC%*XDIM_MAXMEMBERS ACCOUNT = 20*XDIM_MAXMEMBERS ENTITY = 1*XDIM_MAXMEMBERS VERSION = 1*FOR %ENT%=%ENTITY_SET%*FOR %VER%=%VERSION_SET%*FOR %ACC%=%VBLE_ACC%*FOR %DAT%=%DATE_SET%*FOR  %COND%= C1, C2, C3, C4   *XDIM_FILTER ENTITY= [ENTITY].PROPERTIES("ID") = %ENT%   *XDIM_FILTER VERSION= [VERSION].PROPERTIES("ID") = %VER%   *XDIM_FILTER DATE= [DATE].PROPERTIES("ID") = %DAT%   *XDIM_FILTER ACCOUNT = [ACCOUNT].PROPERTIES("ID") = %ACC%   *XDIM_FILTER CONDITION = [CONDITION].PROPERTIES("ID") = %COND%   *RUNALLOCATION   *DESCRIPTION=ALLOCATION TEST1   *FACTOR=USING*1   *DIM CONDITION WHAT=%COND%;WHERE=<<<;USING=NA   *DIM ACCOUNT WHAT=%ACC%;WHERE=<<<;USING=<<<    *DIM ENTITY WHAT=%ENT%;WHERE=<<<;USING=<<<   *DIM DATE WHAT=%DAT%;WHERE=<<<;USING=<<<   *DIM RATIO WHAT=PERCT; WHERE=AMOUNT;USING=AMOUNT   *DIM VERSION WHAT=%VER%;WHERE=<<<;USING=<<<   *ENDALLOCATION*NEXT *NEXT*NEXT*NEXT*NEXT*COMMIT

The allocation works fine but the time to execute for one entity, version and 12 months is greater than 20 minutes, even if I just try to allocate 3 records.

Any idea on how can I improve the performance of the script logic?

Thanks in advance.

it0