Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Author:SireeshVishnubhatla
Page1
Contents
Contents
Introduction
DefinitionofSubLedgerAccounting
SampleClientBusinessProcess:
Process/SystemFlow
Technology
ProgramLogic(CodeusedtoderivetheLocation(Segment2)fromBankStmt
Line)
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
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 Point ofSale(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 amountthatisreportedby POS
oradebit/creditmemofromthebank,thisexpenseamountneedstobeappliedatthestorelevel.
StandardOraclefunctionality
ProposedSolution
In order to satisfy the requirement of tracking expenses at the store level, the proposed
workaround is to store the location segment in a Flexfield on the bank statement line and using
Oracles Custom SLA functionality to insert this location value into the location segment of the
GLValueString.
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
entries to be uploaded into Oracle GL. The Cash Accounting analyst would have to copy and
pastetheseadjustingentriesintoOracle.
For any Debit Memo or Credit Memo Application and Reconciliation, the custom source will
allow us the ability to apply any expense amount to the storelocation.InordertouseSubledger
Accounting to meet this requirement, wewillneedtodefineacustomsourcewhichwillderivethe
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
XX Process:
BusinessArea:
Date:
ControlNumber:
CashManagement
Priority(H,M,L):
H
ProcessOwner:
XYZ
SubledgerAccountingMethod
MethodCode
XXGL_Custom_Accounting_Convention
Owner
User
MethodName
XXGL_Custom_Accounting_Convention
Enabled
Yes
Transaction
XXGL_Corporate_Flexfield
Accounting
XX_GL_Corporate_Flexfield
ApplicationAccountingDefinitionAssignments
**ThisisacopyoftheStandardAccrualAccountingMethod.AllDefinitionswillremainthe
samewiththeexceptionofCashManagement.**
Application
Name
Owner
Start
End
CashManagement
XX_Cash_Management_Standard
User
ApplicationAccountingDefinitions
Application
C ashManagement
Owner
DefinitionCode
XXCE_Standard_Accounting
Version
User
DefinitionName
XXCE_Standard_Accounting
Description
Transaction
XX_GL_Corporate_Flexfield
Accounting
XX_GL_Corporate_Flexfield
ApplicationAccountingDefinitionAssignments
**ThisisacopyoftheCashManagementStandardAccountingDefinition.AllEvent
DefinitionswillremainthesamewiththeexceptionofBankStatementCashFlows.**
EventClass
EventType
ValidationStatus
Create
Accounting
Locked
Valid
Yes
Yes
BankStatementCash
All
Flows
JournalLinesDefinitionsAssignments
EventClass
Owner
Description
Page11
XXCE_BankStatementCashflow
User
ApplicationAccountingDefinitions
Application
CashManagement
EventType
All
EventClass
BankStatementCashflows
Owner
User
Yes
No
Enabled
Budgetary
Control
DefinitionCode
XXCE_Standard_Accounting
DefinitionName
Description
Transaction
XX_GL_Corporate_Flexfield
Accounting
XX_GL_Corporate_Flexfield
LineAssignments
JournalLineType
Owner
Inherit
LineDescription
Description
Owner
StatementLineCashCR
Oracle
Yes
Oracle
StatementLineCashDR
Oracle
Yes
Oracle
StatementLinePaymentOffsetDR
Oracle
Yes
Oracle
StatementLinePaymentOffsetCR
Oracle
Yes
StatementLineJournalEntryLine
Description
StatementLineJournalEntryLine
Description
StatementLineJournalEntryLine
Description
StatementLineJournalEntryLine
Description
Oracle
AccountDerivationRules
StatementLinePaymentOffsetDR
Segment
Inherit
RuleName
Description
Side
AllSegments
No
Location
No
StatementLinePaymentOffsetCR
CashflowOffsetAccount
XXCE_Location
Segment
Inherit
RuleName
Description
Side
AllSegments
Location
No
No
CashflowOffsetAccount
XXCE_Location
AccountDerivationRule
Application
C ashManagement
Owner
User
RuleCode
XXCE_Location
RuleName
XXCE_Location
Enabled
Yes
Description
Page12
Transaction
XX_GL_Corporate_Flexfield
Accounting
XX_GL_Corporate_Flexfield
OutputType
SegmentLocation
Priorities
Priority
ValueType
Value
InputSource Segment
10
Condition
Source
XXCE_LOCATION_GET_FNC
Seq
Source
Segment Operator
Segment An
10
XXCE_LOCATION_GET_FNC
ISNOTNULL
CustomSource
Application
CashManagement
CustomSourceCode
XXCE_LOCATION_GET_FNC
CustomSourceName
XXCE_LOCATION_GET_FNC
Enabled
Yes
Description
PLSQL
Function
XXXXCE_LOCATION
C
ReturnDataOptions
DataType
Segment
LookupApplication ValueSet
AccountingFlexfield
LookupType
10
Parameters
ManagementSegment
Yes
Seq
Type
Name
SourceDescription
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