2. www.bispsolutions.com
DataUnitItem
Returns the data unit item to process during consolidation, calculation, or translation.
This function can be used in these types of rules:
I. Calculation
II. Translation
III. Consolidation
Syntax
HS.OpenDataUnit("")
Set MyDataUnit = HS.OpenDataUnit("")
NumItems= MyDataUnit.GetNumItems
For i = 0 to NumItems - 1
Account = MyDataUnit.Item(i)Account.
ICP = MyDataUnit.Item(i).ICP
Flow = MyDataUnit.Item(i)Custom("Flows")
Nature = MyDataUnit.Item(i).Custom("Nature")
3. www.bispsolutions.com
PCon
Gets the percentage of consolidation for the current member or a specified member.
This function can be used in these types of rules:
I. Calculation
II. Translation
III. Consolidation
IV. Allocation
Syntax
HS.Node.PCon("S#Scenario.Y#Year.P#Period.E#Entity")
HS.Node.PCon("")
Pcon = HS.Node.PCon("S#Actual.Y#2014.P#January.E#Regional.Connecticut")
4. www.bispsolutions.com
Con
Puts data into the [Proportion] and [Elimination] Value dimension members. This function
can be used in Consolidation rules.
Syntax
HS.Con ("DestPOV", Factor, "Nature")
Examples
Call HS.Con ("V#[Elimination]",-1*dPCon,"")
Call HS.Con ("V#[Elimination]",-1*dPCon,"Elimination")
Call HS.Con ("V#[Elimination]"PCON,"DefaultConsolidation")
6. www.bispsolutions.com
Consolidation is the process of gathering data from child entities and aggregating the
data to parent entities. When you run a consolidation, each child's contribution to the
parent is derived by using the default application calculations, and the results are written
to the Entity Currency member of the parent.
The following steps describe the procedure that Financial Management uses to
calculate the child's contribution to the parent for each account:
1 Verify that there is data in the account.
2 Apply the consolidation percentage in the PCON system account to the data in the
Parent Total member. (Th ePCON account stores the consolidation percentage for the
child.) The Parent Total member is the sum of the Parent Curr Total and Parent Curr
Adjs. If there is no data in the PCON account, use 100%.
3 Write the result to the Proportion member of the Value dimension.
4 Run Calculate rules for the Proportion member.
5 Determine whether an intercompany elimination is required. These four criteria must
be met.
1. The IsICP property of the account is selected.
2. The PlugAcct property of the account specifies a plug account.
3. The ICP member of the Value dimension specifies an intercompany partner.
4. The specified Intercompany partner is a descendant of the current parent.
About the Default Consolidation Calculation
7. www.bispsolutions.com
6. If the criteria listed instep 5 are met, perform the elimination
Write a reversing entry to the Elimination member:-(Parent Total x PCON)
Write an entry to the Elimination member of the Plug account: (Parent Total x
PCON)
7 Run Calculate rules for the Elimination member.
8 Run Calculate rules for the Contribution Adjs member.
9 Write the sum of the Proportion, Elimination, and Contribution Adjs membres of the
child to the Entity Currency member of the parent.
About the Default Consolidation Calculation
9. www.bispsolutions.com
You can override the default consolidation calculations by creating your own
consolidation rules. To use consolidation rules, you must enable the Consolidation Rules
option in the application settings. When the Consolidation Rules option is enabled, the
default consolidation calculations are disabled. You must create a Consolidate ruleset
with the necessary rules for consolidation. Accounts for which you do not include rules in
the Consolidate ruleset are not consolidated.
You create consolidation rules to derive the values for the Proportion and Elimination
members of the value dimension. The aggregation of the Proportion, Elimination, and
Contribution Adjs members to the Entity Currency member of the parent takes place
automatically, even when the Consolidation Rules option is enabled.
Creating Consolidation and Elimination Rules
11. www.bispsolutions.com
PCON
The PCon function retrieves the consolidation percentage from the PCON system
account for a specified parent and child. It multiples the amount in the PCON account by
.01 to arrive at a percentage. For example, if the value in the PCON account is 80, the
PCON function returns .8.
Syntax
@Node.PCon(S#Scenario.Y#Year.P#Period.E#Parent.Child)
Parameters
Scenario, Year, Period
The point of view for which to retrieve the consolidation percentage. If a dimension is
omitted, the value from the current point of view is used.
Parent, Child
The parent and child for which to retrieve the consolidation percentage. If this parameter
is omitted, the current parent and child are used.
Consolidation Functions
12. www.bispsolutions.com
Factor
A factor by which to multiple the data in the Parent Total member. This factor can be a
variable, a constant, a function,or an expression using mathematical operators (+,-,*,/).
The PCon function is typically used to specify the factor.
Nature
A text string used for audit purposes. This string is stored and provides information
about the accounting purpose of the transaction. To allow users to view consolidation
source and destination transaction details after running a consolidation, you must include
test in this parameter. Otherwise, the transaction details is not stored.
13. www.bispsolutions.com
Remarks
You cannot specify a source member expression for the Con function. The source is
always the Parent Total member of the Value dimension for the current scenario, year,
period, and entity. The Con function is used within a loop that is created with a Data
Range component, and the source account for Con is always the account for the current
item in the data range.
You can use any valid combination of members for the Account, Intercompany, custom,
and Entity dimensions on the left(destination) side of the equal sign. You can use only
the Proportion and Elimination members of the Value dimension on the left side of the
equal sign. If no value dimension member is specified, the Proportion member is used
as the destination. To use the default destination, enter quotation marks on the left side
of the equal sign.
If the destination account has a different debit/credit attribute from the source account,
the system reverses the sign in the destination. For example, if the source is a Revenue
account and the destination is an Expense
14. www.bispsolutions.com
Examples
For example 1 on the slide, the Parent Total member is multiplied by the value returned
by the PCon function. If there is no data in the PCON system account for the current
point of view, a default of 100 percent is used. Because no destination point of view is
specified, the Proportion member, which is the default destination member, is updated
with the result.
If you are not using consolidation percentages in your application, you can use a factor
1 to consolidate all children at 100 percent, as in the following example:
@con(1,"")
For the second example on the slide, the Elimination member is specified as the
destination for the Value dimension. Because this entry is a reversing entry, a factor of -1
is used.
@Parent.Member
The @Parent.Member function returns the parent of the current entity
Example
The following example stores the current parent in a variable:
{vParent}=@Parent.Member()
15. www.bispsolutions.com
Standard Consolidation Template
Standard Consolidation Template
When you create a custom consolidation rule, you can use the calculation defined in the
Standard Consolidation system template as a starting point. You can modify the degault
calculations for those entities or accounts that you need special treatment.
16. www.bispsolutions.com
The example on the slide shows the calculations that are defined by the Standard
Consolidation System template. The following steps explain the calculations:
1. The consolidation percentage for the current child is retrieved from the PCON
system account by using the PCon() function, and is stored in the nrPcon variable.
{nrPcon}=@Node.PCon("")
2. A data range component opens a data unit for all accounts for the current point of
view. The global variables srAcct, srCr, srC2, srC3, srC4, srICP store member names
for the current record in the data range. The variable nrData stores the data value for
the current record.
3. A condition component verifies that there is data for the current record in the data
unit. The condition statement is {nrData} <>0. If there is no data, the rest of the
procedure is skipped
4. The Con function calculates the Proportion member for the current account in the
data range by multiplying the account value with the percentage in the PCON
account(nrPCon). Quotation marks are used on the left(destination) side of the equal
sign to specify the default destination.
"" = @CON({nrPCon},"")
Standard Consolidation Template
17. www.bispsolutions.com
5. The plug account for the current account member (srAcct) is retrieved by using the
@Account.PlugAccount function, and is stored in the srPlugAccount variable. The
srPlugAccount variable is used in a later step as part of the intercompany elimination.
{srPlugAccount} = @Account.PlugAcct({srAcct})
6. A condition component tests whether the current record contain intercompany data.
The condition statement is {srICT} <> [ICP None]. If the record does not contain
intercompany data, the rest of the procedure is skipped.
7. A condition component vertifies, for the records that contain intercompany data, that
the record meets the requirements for intercompany elimination: The account must be
an intercompany account, the partner entity must be a descendant of the current
parent, and the account must have a plug account. The following is the condition
statement:
@Account.IsICP(){srAcct}=True AND @Parent.IsDescendant(@Parent.Member,
{srICP})=True and {srPlugAcct} <> ""
Standard Consolidation Template
18. www.bispsolutions.com
8 If the current record meets the requirements for the intercompany elimination, the
Con function is used to create a reversing entry and a plug account entry.
a) To create the reversing entry, the Elimination member is specified as the
destination for the Value dimension, and the sign for the consolidation percentage is
reversed.
V#Elimination = @Con(-1 * {nrPCon},"")
b) To create the plug account entry, the Elimination member for the plug account
(srPlugAccount) is specified as the destination.
A#{srPlugAcct}.V#[Elimination] = @Con({nrPCon},"")
Standard Consolidation Template
19. www.bispsolutions.com
Standard Consolidation Template
Sub Consolidate()
Set MyDataUnit = HS.OpenDataUnit("")
PCon = HS.Node.PCon("")
NumItems = MyDataUnit.GetNumItems
For i = 0 to NumItems - 1
'Get the next item from the dataunit
'Call MyDataUnit.GetItem(i, strAccount, strICP, strCustom1, strCustom2,
strCustom3, strCustom4, dData)
Set MyRecord = MyDataUnit.Item(i)
'Proportionalize this account
HS.Con "", PCon, ""
'See if we should eliminate this account
Call Eliminate(Account, ICP, PCon)
Next
End Sub
20. www.bispsolutions.com
Standard Consolidation Template
Sub Eliminate (Account, ICP, PCon)
CanEliminate = True
If StrComp(ICP, "[ICP None]", vbTextCompare) = 0 Then
'If the ICP is [ICP None] don't eliminate
CanEliminate = False
ElseIf Not HS.Account.IsICP(Account) Then
'If the account is not an ICP account, don't eliminate
CanEliminate = False
ElseIf Not HS.Parent.IsDescendant(HS.Parent.Member, ICP) Then
'If the ICP is not a descendant of the entity's parent, don't eliminate
CanEliminate = False
Else
'If there is no Plug account, don't eliminate
Plug = HS.Account.PlugAcct(Account)
If (Plug = "") Then CanEliminate = False
End If
If CanEliminate Then
'Reverse the account
HS.Con "V#[Elimination]", -1 * PCon, ""
'Repost in the Plug account to balance
HS.Con "V#[Elimination].A#" & Plug, PCon, ""
End If
End Sub