Sei sulla pagina 1di 15

OracleR12SLACustomization

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

Release12ofOracleApplications, SubledgerAccounting(SLA)hasbeenintroduced, whichisaRulebased


accountingengine,toolset&repositorywhichissupportingmostofOraclebusinessSuitemodules.
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 isvery similarto
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 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

Oracle Functionality allows for the variance/debit/credit amount to be applied at the


ConsolidatedAccountlevel.

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.

Using the SLA functionality, there is no adjustmentneededasthefirstexpensejournalentry will


already be at the store level. Additionally thisremovesany chanceoferrorduringthecopy/paste
process.

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

Location Segment (DFF) stored at the bankstatementlinethatcanholdthestorelocationforthe


GLAccountingString.

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

ValueType Independent Value


Value

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

Potrebbero piacerti anche