Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // DESCRIPTION: Division Expenses Allocation - Actual
- // CREATED BY: Regis Cabaret
- // LAST UPDATED ON: 2011/6/2
- *SELECT(%ALLOCACCS%,"[ID]",ACCOUNT, "[ALLOC]='Y' AND [CALC]='N'")
- *SELECT(%DIVISIONS%,"[ID]",DIVISION,"[LEVEL]='DIV' AND [STORECOMMON]<>'Y'")
- *SELECT(%DIVISIONINPUTS%,"[ID]",DIVISION,"[INPUTLEVEL]='DIV'")
- *SELECT(%DPTS%,"[ID]",DIVISION,"[INPUTLEVEL]='DPT'")
- *SELECT(%ITEMSUMEXCLCDS%,"[ID]",DIVISION,"[COMMONDIV]<>'DIV02'")
- *SELECT(%BRANCHES%,"[ID]",BRANCH,"[BRANCHTYPE]='STORE'")
- ///////////////////////////////////////////// ALLOCATION RATIOS ////////////////////////////////////////////////////////////
- // CALCULATE SALES EXCLUDING PAGEONE AND SALES EXCLUDING PAGEONE AND COOKED DELI
- *XDIM_MEMBERSET MGTLEVEL=NOMGTLEVEL
- *XDIM_MEMBERSET GROUPS=LC
- *XDIM_MEMBERSET INTCO=NOIC
- *XDIM_MEMBERSET COSTCENTER=NOCC
- *XDIM_MEMBERSET DATASRC=BAS(INPUT)
- *XDIM_MEMBERSET DIVISION=BAS(ALLDIV)
- *XDIM_MEMBERSET ACCOUNT=BAS(TOTALSALES)
- *XDIM_MEMBERSET BRANCH=%BRANCHES%
- *WHEN ACCOUNT
- *IS <> "SALESPAGEONE"
- *WHEN DIVISION
- *IS <> %DIVISIONINPUTS%
- *WHEN DIVISION.INPUTDIVISION
- *IS <> ""
- *WHEN DIVISION
- *IS %ITEMSUMEXCLCDS%
- *REC(FACTOR=-1,ACCOUNT="SALESEXCLPO",DATASRC="ALLOCDIVCOMMON",DIVISION=DIVISION.INPUTDIVISION)
- *REC(FACTOR=-1,ACCOUNT="SALESEXCLPOCD",DATASRC="ALLOCDIVCOMMON",DIVISION=DIVISION.INPUTDIVISION)
- *ELSE
- *REC(FACTOR=-1,ACCOUNT="SALESEXCLPO",DATASRC="ALLOCDIVCOMMON",DIVISION=DIVISION.INPUTDIVISION)
- *ENDWHEN
- *ENDWHEN
- *ENDWHEN
- *ENDWHEN
- *COMMIT
- // CALCULATE DIVISION ALLOCATION RATIOS ON ALLOCFACTOR1
- *XDIM_MEMBERSET MGTLEVEL=NOMGTLEVEL
- *XDIM_MEMBERSET GROUPS=LC
- *XDIM_MEMBERSET INTCO=NOIC
- *XDIM_MEMBERSET BRANCH=%BRANCHES%
- *FOR %DIVISION%=%DIVISIONS%
- *RUNALLOCATION
- *FACTOR=USING/TOTAL/USING
- *DIM ACCOUNT WHAT=SALESEXCLPO;WHERE=DIVSALESEXCLPOPER;USING=SALESEXCLPO;TOTAL=SALESEXCLPO
- *DIM DIVISION WHAT=BAS(%DIVISION%);WHERE=<<<;USING=<<<;TOTAL=<<<
- *DIM DATASRC WHAT=ALLOCDIVCOMMON;WHERE=<<<;USING=<<<;TOTAL=<<<
- *DIM COSTCENTER WHAT=NOCC;WHERE=<<<;USING=<<<;TOTAL=<<<
- *ENDALLOCATION
- *RUNALLOCATION
- *FACTOR=USING/TOTAL/USING
- *DIM ACCOUNT WHAT=SALESEXCLPOCD;WHERE=DIVSALESEXCLPOCDPER;USING=SALESEXCLPOCD;TOTAL=SALESEXCLPOCD
- *DIM DIVISION WHAT=BAS(%DIVISION%);WHERE=<<<;USING=<<<;TOTAL=<<<
- *DIM DATASRC WHAT=ALLOCDIVCOMMON;WHERE=<<<;USING=<<<;TOTAL=<<<
- *DIM COSTCENTER WHAT=NOCC;WHERE=<<<;USING=<<<;TOTAL=<<<
- *ENDALLOCATION
- *NEXT
- ////////////////////// ALLOCATION OF DIVISION COMMON EXPENSES ////////////////////////////////////////////
- // 1 - COPY AMOUNT TO BE ALLOCATED TO EACH DEPARTMENT ON ALLOCFACTOR1 DATASRC
- *XDIM_MEMBERSET MGTLEVEL=NOMGTLEVEL
- *XDIM_MEMBERSET GROUPS=LC
- *XDIM_MEMBERSET INTCO=NOIC
- *FOR %DIVISION%=%DIVISIONS%
- *RUNALLOCATION
- *DIM DATASRC WHAT=BAS(INPUT);WHERE=ALLOCDIVCOMMON
- *DIM DIVISION WHAT=[COMMONDIV]="%DIVISION%" AND [INPUTLEVEL]="DIV";WHERE=[COMMONDIV]="%DIVISION%" AND [INPUTLEVEL]="DPT"
- *DIM ACCOUNT WHAT=%ALLOCACCS%;WHERE=<<<
- *DIM COSTCENTER WHAT=BAS(ALLCC);WHERE=<<<
- *DIM BRANCH WHAT=%BRANCHES%;WHERE=<<<
- *ENDALLOCATION
- *NEXT
- *COMMIT
- // 2 - MULTIPLY BY ALLOCATION RATIO
- *XDIM_MEMBERSET ACCOUNT=%ALLOCACCS%
- *XDIM_MEMBERSET COSTCENTER=BAS(ALLCC)
- *XDIM_MEMBERSET MGTLEVEL=NOMGTLEVEL
- *XDIM_MEMBERSET GROUPS=LC
- *XDIM_MEMBERSET INTCO=NOIC
- *XDIM_MEMBERSET DATASRC=ALLOCDIVCOMMON
- *XDIM_MEMBERSET BRANCH=%BRANCHES%
- *WHEN ACCOUNT.ALLOC1_DRIVER
- *IS "SALESEXCLPO"
- *WHEN ACCOUNT.ACCTYPE
- *IS "EXP"
- *REC(EXPRESSION=%VALUE%*([ACCOUNT].[DIVSALESEXCLPOPER],[COSTCENTER].[NOCC]))
- *IS "INC"
- *REC(EXPRESSION=(-1)*%VALUE%*([ACCOUNT].[DIVSALESEXCLPOPER],[COSTCENTER].[NOCC]))
- *ENDWHEN
- *IS "SALESEXCLPOCD"
- *WHEN ACCOUNT.ACCTYPE
- *IS "EXP"
- *REC(EXPRESSION=%VALUE%*([ACCOUNT].[DIVSALESEXCLPOCDPER],[COSTCENTER].[NOCC]))
- *IS "INC"
- *REC(EXPRESSION=(-1)*%VALUE%*([ACCOUNT].[DIVSALESEXCLPOCDPER],[COSTCENTER].[NOCC]))
- *ENDWHEN
- *ENDWHEN
- *COMMIT
- // 3 - REVERSE ALLOCATED AMOUNT ON SOURCE DIVISION MEMBER
- *XDIM_MEMBERSET ACCOUNT=%ALLOCACCS%
- *XDIM_MEMBERSET COSTCENTER=BAS(ALLCC)
- *XDIM_MEMBERSET DATASRC = BAS(INPUT)
- *XDIM_MEMBERSET MGTLEVEL=NOMGTLEVEL
- *XDIM_MEMBERSET GROUPS=LC
- *XDIM_MEMBERSET INTCO=NOIC
- *XDIM_MEMBERSET DIVISION=%DIVISIONINPUTS%
- *XDIM_MEMBERSET BRANCH=%BRANCHES%
- *WHEN ACCOUNT.ACCTYPE
- *IS "EXP"
- *REC(FACTOR = -1,DATASRC=ALLOCDIVCOMMON)
- *IS "INC"
- *REC(DATASRC=ALLOCDIVCOMMON)
- *ENDWHEN
- *COMMIT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement