Advertisement
Guest User

Division common expenses allocation

a guest
Jun 7th, 2011
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.35 KB | None | 0 0
  1. // DESCRIPTION: Division Expenses Allocation - Actual
  2. // CREATED BY: Regis Cabaret
  3. // LAST UPDATED ON: 2011/6/2
  4.  
  5. *SELECT(%ALLOCACCS%,"[ID]",ACCOUNT, "[ALLOC]='Y' AND [CALC]='N'")
  6. *SELECT(%DIVISIONS%,"[ID]",DIVISION,"[LEVEL]='DIV' AND [STORECOMMON]<>'Y'")
  7. *SELECT(%DIVISIONINPUTS%,"[ID]",DIVISION,"[INPUTLEVEL]='DIV'")
  8. *SELECT(%DPTS%,"[ID]",DIVISION,"[INPUTLEVEL]='DPT'")
  9. *SELECT(%ITEMSUMEXCLCDS%,"[ID]",DIVISION,"[COMMONDIV]<>'DIV02'")
  10. *SELECT(%BRANCHES%,"[ID]",BRANCH,"[BRANCHTYPE]='STORE'")
  11.  
  12. ///////////////////////////////////////////// ALLOCATION RATIOS ////////////////////////////////////////////////////////////
  13.  
  14. // CALCULATE SALES EXCLUDING PAGEONE AND SALES EXCLUDING PAGEONE AND COOKED DELI
  15.  
  16. *XDIM_MEMBERSET MGTLEVEL=NOMGTLEVEL
  17. *XDIM_MEMBERSET GROUPS=LC
  18. *XDIM_MEMBERSET INTCO=NOIC
  19. *XDIM_MEMBERSET COSTCENTER=NOCC
  20. *XDIM_MEMBERSET DATASRC=BAS(INPUT)
  21. *XDIM_MEMBERSET DIVISION=BAS(ALLDIV)
  22. *XDIM_MEMBERSET ACCOUNT=BAS(TOTALSALES)
  23. *XDIM_MEMBERSET BRANCH=%BRANCHES%
  24.  
  25. *WHEN ACCOUNT
  26. *IS <> "SALESPAGEONE"
  27. *WHEN DIVISION
  28. *IS <> %DIVISIONINPUTS%
  29. *WHEN DIVISION.INPUTDIVISION
  30. *IS <> ""
  31. *WHEN DIVISION
  32. *IS %ITEMSUMEXCLCDS%
  33. *REC(FACTOR=-1,ACCOUNT="SALESEXCLPO",DATASRC="ALLOCDIVCOMMON",DIVISION=DIVISION.INPUTDIVISION)
  34. *REC(FACTOR=-1,ACCOUNT="SALESEXCLPOCD",DATASRC="ALLOCDIVCOMMON",DIVISION=DIVISION.INPUTDIVISION)
  35. *ELSE
  36. *REC(FACTOR=-1,ACCOUNT="SALESEXCLPO",DATASRC="ALLOCDIVCOMMON",DIVISION=DIVISION.INPUTDIVISION)
  37. *ENDWHEN
  38. *ENDWHEN
  39. *ENDWHEN
  40. *ENDWHEN
  41.  
  42. *COMMIT
  43.  
  44. // CALCULATE DIVISION ALLOCATION RATIOS ON ALLOCFACTOR1
  45.  
  46. *XDIM_MEMBERSET MGTLEVEL=NOMGTLEVEL
  47. *XDIM_MEMBERSET GROUPS=LC
  48. *XDIM_MEMBERSET INTCO=NOIC
  49. *XDIM_MEMBERSET BRANCH=%BRANCHES%
  50.  
  51. *FOR %DIVISION%=%DIVISIONS%
  52. *RUNALLOCATION
  53. *FACTOR=USING/TOTAL/USING
  54. *DIM ACCOUNT WHAT=SALESEXCLPO;WHERE=DIVSALESEXCLPOPER;USING=SALESEXCLPO;TOTAL=SALESEXCLPO
  55. *DIM DIVISION WHAT=BAS(%DIVISION%);WHERE=<<<;USING=<<<;TOTAL=<<<
  56. *DIM DATASRC WHAT=ALLOCDIVCOMMON;WHERE=<<<;USING=<<<;TOTAL=<<<
  57. *DIM COSTCENTER WHAT=NOCC;WHERE=<<<;USING=<<<;TOTAL=<<<
  58. *ENDALLOCATION
  59. *RUNALLOCATION
  60. *FACTOR=USING/TOTAL/USING
  61. *DIM ACCOUNT WHAT=SALESEXCLPOCD;WHERE=DIVSALESEXCLPOCDPER;USING=SALESEXCLPOCD;TOTAL=SALESEXCLPOCD
  62. *DIM DIVISION WHAT=BAS(%DIVISION%);WHERE=<<<;USING=<<<;TOTAL=<<<
  63. *DIM DATASRC WHAT=ALLOCDIVCOMMON;WHERE=<<<;USING=<<<;TOTAL=<<<
  64. *DIM COSTCENTER WHAT=NOCC;WHERE=<<<;USING=<<<;TOTAL=<<<
  65. *ENDALLOCATION
  66. *NEXT
  67.  
  68. ////////////////////// ALLOCATION OF DIVISION COMMON EXPENSES ////////////////////////////////////////////
  69.  
  70. // 1 - COPY AMOUNT TO BE ALLOCATED TO EACH DEPARTMENT ON ALLOCFACTOR1 DATASRC
  71.  
  72. *XDIM_MEMBERSET MGTLEVEL=NOMGTLEVEL
  73. *XDIM_MEMBERSET GROUPS=LC
  74. *XDIM_MEMBERSET INTCO=NOIC
  75.  
  76. *FOR %DIVISION%=%DIVISIONS%
  77. *RUNALLOCATION
  78. *DIM DATASRC WHAT=BAS(INPUT);WHERE=ALLOCDIVCOMMON
  79. *DIM DIVISION WHAT=[COMMONDIV]="%DIVISION%" AND [INPUTLEVEL]="DIV";WHERE=[COMMONDIV]="%DIVISION%" AND [INPUTLEVEL]="DPT"
  80. *DIM ACCOUNT WHAT=%ALLOCACCS%;WHERE=<<<
  81. *DIM COSTCENTER WHAT=BAS(ALLCC);WHERE=<<<
  82. *DIM BRANCH WHAT=%BRANCHES%;WHERE=<<<
  83. *ENDALLOCATION
  84. *NEXT
  85.  
  86. *COMMIT
  87.  
  88. // 2 - MULTIPLY BY ALLOCATION RATIO
  89.  
  90. *XDIM_MEMBERSET ACCOUNT=%ALLOCACCS%
  91. *XDIM_MEMBERSET COSTCENTER=BAS(ALLCC)
  92. *XDIM_MEMBERSET MGTLEVEL=NOMGTLEVEL
  93. *XDIM_MEMBERSET GROUPS=LC
  94. *XDIM_MEMBERSET INTCO=NOIC
  95. *XDIM_MEMBERSET DATASRC=ALLOCDIVCOMMON
  96. *XDIM_MEMBERSET BRANCH=%BRANCHES%
  97.  
  98. *WHEN ACCOUNT.ALLOC1_DRIVER
  99. *IS "SALESEXCLPO"
  100. *WHEN ACCOUNT.ACCTYPE
  101. *IS "EXP"
  102. *REC(EXPRESSION=%VALUE%*([ACCOUNT].[DIVSALESEXCLPOPER],[COSTCENTER].[NOCC]))
  103. *IS "INC"
  104. *REC(EXPRESSION=(-1)*%VALUE%*([ACCOUNT].[DIVSALESEXCLPOPER],[COSTCENTER].[NOCC]))
  105. *ENDWHEN
  106. *IS "SALESEXCLPOCD"
  107. *WHEN ACCOUNT.ACCTYPE
  108. *IS "EXP"
  109. *REC(EXPRESSION=%VALUE%*([ACCOUNT].[DIVSALESEXCLPOCDPER],[COSTCENTER].[NOCC]))
  110. *IS "INC"
  111. *REC(EXPRESSION=(-1)*%VALUE%*([ACCOUNT].[DIVSALESEXCLPOCDPER],[COSTCENTER].[NOCC]))
  112. *ENDWHEN
  113. *ENDWHEN
  114.  
  115. *COMMIT
  116.  
  117. // 3 - REVERSE ALLOCATED AMOUNT ON SOURCE DIVISION MEMBER
  118.  
  119. *XDIM_MEMBERSET ACCOUNT=%ALLOCACCS%
  120. *XDIM_MEMBERSET COSTCENTER=BAS(ALLCC)
  121. *XDIM_MEMBERSET DATASRC = BAS(INPUT)
  122. *XDIM_MEMBERSET MGTLEVEL=NOMGTLEVEL
  123. *XDIM_MEMBERSET GROUPS=LC
  124. *XDIM_MEMBERSET INTCO=NOIC
  125. *XDIM_MEMBERSET DIVISION=%DIVISIONINPUTS%
  126. *XDIM_MEMBERSET BRANCH=%BRANCHES%
  127.  
  128. *WHEN ACCOUNT.ACCTYPE
  129. *IS "EXP"
  130. *REC(FACTOR = -1,DATASRC=ALLOCDIVCOMMON)
  131. *IS "INC"
  132. *REC(DATASRC=ALLOCDIVCOMMON)
  133. *ENDWHEN
  134.  
  135. *COMMIT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement