Académique Documents
Professionnel Documents
Culture Documents
Author:SireeshVishnubhatla
Page1
Contents
Contents
Introduction
DefinitionofSubLedgerAccounting
SampleClientBusinessProcess:
Process/SystemFlow
Technology
ProgramLogic(CodeusedtoderivetheLocation(Segment2)fromBank
StmtLine)
1.
Toupdatethetableofcontents,putthe
cursoranywhereinthetableandpress
[F9].Tochangethenumberoflevels
displayed,selectthemenuoptionInsert
>IndexandTables,makesuretheTable
ofContentstabisactive,andchangethe
NumberofLevelstoanewvalue.
Page2
Page3
Introduction
This paper enumerates factors which should be taken into consideration while doing
customizationofSubLedgerAccounting(SLA)inR12usingadatabasefunction.
These factors can be categorized broadly into two: people and technology. Following
recommendations given in this paper should lead to better understanding on how we can setup
andcustomizetheSubLedgerAccounting(SLA)whichisanewfeatureinR12.
Audience
Projectmanagers,Functionalconsultants,Technicalconsultants,Technicaldesigners/
developers.
Page4
DefinitionofSubLedgerAccounting
Release 12 of Oracle Applications, Subledger Accounting (SLA) has been introduced, which is a
Rulebased accounting engine, toolset & repository which is supporting most of Oracle business Suite
modules.
SLA has an option of allowing multiple accounting representations for a single business event, resolving
conflicts between corporate and local fiscal accounting requirements. The Functionality isverysimilar to
Globalaccountingengine
SLAisanintermediatestepbetweensubledgerproductsandtheOracleGeneralLedger.
Journal entries are created in Subledger Accounting and then transferred to Oracle
GeneralLedger
Each subledger transaction that requires accounting is represented by a complete and
balancedsubledgerjournalentrystoredinacommondatamodel
ThisisthetypicalflowwithinoneproductofSLA(e.gPurchasing,AP,CashManagement)thatcanbe
bestshowninthebelowchangediagramasdiscussed:
Page5
SampleClientBusinessProcess:
BusinessRequirement
Client reconciles store sales on a daily basis. Daily BAI files will be loaded into Oracle Cash
Management to be reconciled with summarized PointofSale(POS)data. ThePOSdataisloaded
into Oracle, summarized storewise and daywise for tender type Cash and Check only. This
amountshouldmatchuptotheamountthatwasdepositedbythestoremanager.
When there is a variance between the deposited amount and the amountthatisreportedbyPOS
oradebit/creditmemofromthebank,thisexpenseamountneedstobeappliedatthestorelevel.
StandardOraclefunctionality
ProposedSolution
In order to satisfy the requirement of tracking expenses at the store level, the proposed
workaround is tostore the location segment in a Flexfield on the bank statement line and using
Oracles CustomSLAfunctionalitytoinsertthislocationvalueintothelocationsegmentof theGL
ValueString.
Thereare3transactiontypeswhichneedtobetrackedatthestorelevel:
1.VarianceexpensesbetweenBankStatementsandPOS.
2.ClearingPOS/CertegyTransactions.
3.DebitMemosandCreditMemosonBankStatementLines.
WorkaroundusingCustomSLA:
The first two transaction types will be allocated at the store level without using Oracles SLA
functionality.
The workaround is required for Transaction Type (3) Debit and Credit Memos on the Bank
Statement Line which are created using the Bank Statement CashFlow Creation program in
Oracle. By defining this custom source, it will remove any chance for error when applying
expensestothestorelevel.
In the previous design without SLA feature, a discover report would contain all of the journal
entriestobeuploadedintoOracleGL. TheCashAccountinganalystwould havetocopyand paste
theseadjustingentriesintoOracle.
Using the SLA functionality, there is no adjustment neededasthe first expensejournalentrywill
already be at the store level. Additionallythisremovesanychanceoferrorduringthe copy/paste
process.
For any Debit Memo or Credit Memo Application and Reconciliation, thecustom source will
allow us the ability to apply any expense amount to the store location.Inorder touseSubledger
Accounting to meetthisrequirement,wewillneedtodefine acustomsourcewhichwillderivethe
Page6
Assumptions:
ThereisaDFFoneverybankstatementlinewhichcontainstheGLlocationsegmentforthat
specificstore.
TheDFFwillberestrictedtoalistofvalueswhichonlycontainsvalidlocationsegments.
Page7
SLA:Developer>SubledgerAccountingSetups>AccountingMethods
Builder>Sources>CustomSources
Page8
Process/SystemFlow
BankStatementLines
(StoreLocationvalueinAttribute1(DFF)column)
DeriveLocationSegmentValuefromSLA:CustomSource(CustomFunction)
BankStatementCashflowCreationProgramTransactions(CreateAccountingusingtheStore
LocationandAccountingCombinationfromSLACustomSource
CreateAccounting
Page9
Page10
Technology
FollowingaretheSetupsrequiredintheSubLedgermodule(hereitisCashManagement),to
successfullyimplementSLACustomization
CE:SLADeveloper
CashManagement>SLADeveloper>SubledgerAccounting
Setups>AccountingMethodsBuilder>Methodsand
Definitions>SubledgerAccountingMethods
XXProcess: BusinessArea: Date:
CashManagement
ControlNumber: Priority(H,M,L): ProcessOwner:
H XYZ
SubledgerAccountingMethod
MethodCode XXGL_Custom_Accounting_Convention Owner User
MethodName Enabled
XXGL_Custom_Accounting_Convention
Yes
Transaction XXGL_Corporate_Flexfield Accounting XX_GL_Corporate_Flexfield
ApplicationAccountingDefinitionAssignments
**ThisisacopyoftheStandardAccrualAccountingMethod.AllDefinitionswillremain
thesamewiththeexceptionofCashManagement.**
Application Name Owner Start End
CashManagement XX_Cash_Management_Standard User
ApplicationAccountingDefinitions
Application CashManagement Owner
User
DefinitionCode XXCE_Standard_Accounting Version
BankStatementCash
All Valid Yes Yes
Flows
JournalLinesDefinitionsAssignments
EventClass Owner Description
Page11
XXCE_BankStatementCashflow User
ApplicationAccountingDefinitions
Application CashManagement EventType All
EventClass BankStatementCashflows Owner User
DefinitionCode Enabled
XXCE_Standard_Accounting
Yes
DefinitionName Budgetary
No
Control
Description
Transaction XX_GL_Corporate_Flexfield Accounting XX_GL_Corporate_Flexfield
LineAssignments
JournalLineType Owner Inherit LineDescription Owner A
Description
StatementLineCashCR Oracle Yes StatementLineJournalEntryLine Oracle Y
Description
StatementLineCashDR Oracle Yes StatementLineJournalEntryLine Oracle Y
Description
StatementLinePaymentOffsetDR Oracle Yes StatementLineJournalEntryLine Oracle Y
Description
StatementLinePaymentOffsetCR Oracle Yes StatementLineJournalEntryLine Oracle Y
Description
AccountDerivationRules
StatementLinePaymentOffsetDR
Segment Inherit RuleName Description Side
AllSegments No CashflowOffsetAccount
Location No XXCE_Location
StatementLinePaymentOffsetCR
Segment Inherit RuleName Description Side
AllSegments No CashflowOffsetAccount
Location No XXCE_Location
AccountDerivationRule
Application CashManagement Owner User
RuleCode XXCE_Location
RuleName XXCE_Location Enabled Yes
Description
Page12
Priorities
Priority ValueType Value InputSource Segment
10 Source XXCE_LOCATION_GET_FNC
Condition
Seq ( Source Segment Operator ValueType Independent Value Segment An
Value
10 XXCE_LOCATION_GET_FNC ISNOTNULL
CustomSource
Application CashManagement
CustomSourceCode XXCE_LOCATION_GET_FNC
CustomSourceName XXCE_LOCATION_GET_FNC Enabled Yes
ReturnDataOptions
DataType Segment LookupApplication ValueSet AccountingFlexfield LookupType
10 ManagementSegment Yes
Parameters
Seq Type Name SourceDescription
1 Source CashflowNumber Cashflownumberthatuniquelyidentifiesthecashflow
Page13
Page14
ProgramLogic(CodeusedtoderivetheLocation(Segment2)
fromBankStmtLine)
CREATEORREPLACEFUNCTIONXXCE_LOCATION_GET_FNC(p_cashflow_idNUMBER)RETURN
CHARIS
========================================================================
=====
Function:XXCE_LOCATION_GET_FNC
Desc:ThisfunctionderivestheUniqueLocationSegment(Segment2RetailStore)fromStmtLineDFF
NameTypeDatatypeDescription
p_cashflow_idINNUMBERCashflowNumber
ReturnChar(Location)
MODIFICATIONHISTORY
DateChgReq#AuthorComments
DDMMYY1.0NameOriginal
=========================================================
l_locationapps.gl_code_combinations.segment2%TYPE
l_cashflow_idNUMBER:=p_cashflow_id
BEGIN
DeriveLocationinA/cFlexfieldfromtheStmtLineDFF
SELECTcsl.attribute1Location_Segment
INTOl_location
FROM
ce_cashflowscc,
ce_statement_linescsl
WHEREcc.statement_line_id=csl.statement_line_id
ANDcsl.attribute1ISNOTNULL
ANDcc.cashflow_id=l_cashflow_id
RETURNl_location
EXCEPTION
WHENOTHERSTHEN
IfnoLocationSegmentisfoundthenReturnNulltodefaultStdAcc.Combination
RETURNNULL
ENDXXCE_LOCATION_GET_FNC
Page15