SpreadBudget

Spread Annual Budget to Periods

Major Business Rule

Object Name: B1400007

Parent DLL: CFIN

Location: Client/Server

Language: C

Functional Description

Purpose


This function receives the amount passed in and spreads it to the fourteen period amounts that are 

returned as parameters.  The business function determines the number of period to spread to by looking 

at the account's company information.  The manner in which the amount is spread is determined by the 

budget pattern code that is passed in as a parameter.


Setup Notes and Prerequisites


When spreading the amounts the business function will use the rounding increment and rounding method 

parameters to resolve any rounding issues, and when the annual budget amount is not an even multiple 

of the rounding increment the balancing method.



Technical Specification


Determine the type of spread to perform.  

If the budget pattern code is equal to do not spread

If the ledger type is set to do not spread

Perform an even spread

Else 

return without spreading

If the budget pattern code is not equal to do not spread and the budget pattern code is not blank

Perform a spread according the budget pattern code

Else If even spread

Perform an even spread

Else If budget pattern code is blank

Perform spread according to blank budget pattern code

If spread failed

Perform even spread  ^

^

Data Structure

D1400451 - Spread Annual Budget to Periods

Parameter NameData ItemData TypeReq/OptI/O/Both
szAccountIdAIDcharNONENONE

Special Input Expected

This input parameter receives the account ID for the account pertaining to the spread to be 

performed.


^

mnCenturyCTRYMATH_NUMERICNONENONE

Special Input Expected

This input parameter receives the century for the spread to be performed.


^

mnFiscalYearFYMATH_NUMERICNONENONE

Special Input Expected

This input parameter receives the fiscal year for the spread to be performed.


^

szFiscalQtrFQcharNONENONE

Special Input Expected

This input parameter receives the fiscal quarter for the spread to be performed.


^

szLedgerTypeLTcharNONENONE

Special Input Expected

This input parameter receives the ledger type for the spread to be performed.


^

szSubledgerSBLcharNONENONE

Special Input Expected

This input parameter receives the subledger for the spread to be performed.


^

cSubledgerTypeSBLTcharNONENONE

Special Input Expected

This input parameter receives the subledger type for the spread to be performed.


^

szCurrencyCodeCRCDcharNONENONE

Special Input Expected

This input parameter receives the currency code for the spread to be performed.


^

mnAmount1AN01MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #1.

^

mnAmount2AN02MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #2.

^

mnAmount3AN03MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #3.

^

mnAmount4AN04MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #4.

^

mnAmount5AN05MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #5.

^

mnAmount6AN06MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #6.

^

mnAmount7AN07MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #7.

^

mnAmount8AN08MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #8.

^

mnAmount9AN09MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #9.

^

mnAmount10AN10MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #10.

^

mnAmount11AN11MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #11.

^

mnAmount12AN12MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #12.

^

mnAmount13AN13MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #13.

^

mnAmount14AN14MATH_NUMERICNONENONE

Special Input Expected

This output parameter returns the spread amount for period #14.

^

mnMath01MATH01MATH_NUMERICNONENONE

Special Input Expected

This required input parameter receives the annual budget amount to spread.

^

szBudgetPatternCodeBPCcharNONENONE

A unique three-character code that identifies a seasonal pattern. The system uses this code to calculate budget amounts for an accounting 
period. For example: DNS Do not spread annual budget among the months. You cannot set up or change this code, defined as part of the 
system. Blank Spread annual budget evenly across all months. (Blank works this way unless your company changes it to mean otherwise.)      *** 
       Represents a blank value.    SUM Spread according to percentages shown below.    WIN Spread according to percentages shown 
below. SUM (Summer)    Jan.   0%    Feb.   2%    ....   48%    ....   50%    Dec.   0%    TOTAL - 100% WIN (Winter)    Jan.   30%    Feb.   30%    ...    0%    ...    0%    
Dec.   40%    TOTAL - 100%

szCompanyCOcharNONENONE

Special Input Expected

This required input parameter receives the company for the spread to be performed.


^

mnIncrmMATH02MATH_NUMERICNONENONE

Special Input Expected

This required input parameter receives the rounding increment for the spread to be performed.  The 

result of rounding will be exactly divisible by this value.


Example:  10 - Round to the nearest 10

           1 - Round to the the nearest 1

         ' ' - Round to the smallest currency unit


^

cBalEV02charNONENONE

Special Input Expected

This required input parameter receives the balancing method for the spread to be performed.  This 

method will be used when an annual budget amount is not an even multiple of the specified rounding 

increment. 


Significant Data Values


 ' ' - Do not force the the total of   

       the rounded period amounts to   

       equal the annual budget amount. 


 '1' - Force a balanced spread by 

       rounding the annual budget 

       amount prior to the spread.


 '2'-  Force a balanced spread by 

       NOT rounding the last      

       calculated period amount.

^

cRoundEV04charNONENONE

Special Input Expected

This required input parameter receives the rounding method for the spread to be performed.


Significant Data Values


 ' ' - Round up or down to nearest  

       increment.                   

 '1' - Round up to next increment.  

 '2' - Round down to previous       

       increment.                   

^

Related Functions

None

Related Tables

F0010 Company Constants
F0025 Ledger Type Master File
F0902 Account Balances
F1401 Budget Patterns