Posted by: AnneW | 18 Nov 08

Linking Manual JEs to Transactions

Use Supporting References in SLA and you can see SLA generated and manual JEs in the same inquiry.

First you have to define a supporting reference eg PO Number, then define which Event Classes and the source that has the PO Number, whoohooo this even goes across appl_ids so following PO example, assign it to Invoices in AP and Purchase Orders in PO.

Supporting References can be assigned to line (JLD) or header level (AAD) for Accounting Engine Generated Journals and directly entered for Manual JEs from the page.

In the JLD, you assign to the JLT, which is a bit tedious though needed if the value can be different for different JLTs in the same event class. In the AAD, choose header assignments

NOTE: If you have maintain balances, you can only assign to the line level.

For journals generated by the accounting engine your JLD/AAD setups will automatically populate, for manual SLA journals you have to remember to enter them in the UX.

In the standard inquiry for journal header/line you will be able to see the supporting reference as a column that can be used as a query criteria.  There are no standard reports but the data model is fairly simple. There are analgous header and lines for supporting references as well as a balances table.

Posted by: AnneW | 26 Aug 08

Budgetary Control and SLA Setups

In R12 Budgetary Control is part of the validation of SLA for those products that use SLA.  For non-SLA products (eg GL) then the validation is the same as in previous releases.

The Budgetary Control (BC) flag on the ledger is the highest level flag to check to see if BC is enabled.  However setting this alone does NOT execute the budgetary control validation.  SLA must create the accounting first and then call BC validation.   The SLAM assigned to the ledger must have BC enabled JLDs.  SLA must be called in BC mode, this executes only BC enabled JLDs and BC validation.

I’ve received some specific requests to help people out on this, but each situation is specific to setup and data sets, I’ll talk about in general.

Some questions to answer before starting to help decide what direction to take

  1. how often am i going to change the rules
  2. who is changing the rules – do they understand the business (ie from functional point of view) or its IT folks

Why does it matter? SLA is designed to be highly modular, but you don’t have to take advantage of it if you don’t want to.  A single ADR can be used in many places, a JLT can be reused within an event class in many JLDs.  You can be like me who thinks I want the smallest number of rules possible ie a tight solution BUT the bad thing is that unless other people understand how all the pieces fit together, you will be the person who has to keep changing the rules!  The other extreme is that you never reuse, have JLTS, ADRs used only in one place, easier for others to understand and changing one rule doesn’t affect anything else.  So what’s wrong with that method?  its mostly a maintenace issue and having a larger amount of seed data to maintain.

Ok once you’ve decided how to structure your rules, here’s what I do when customizing rules

  1. enter sample transaction, create accounting using a seeded SLAM
  2. review in dist links table to see which JLT was used
  3. if you want to add addtional JE lines “copy” the JLT that is closest to what you want the new line to be
  4. if you want a different account, look at the JLD that is used and find the ADR associated with the JLT, you can also copy ADRs and modify them
  5. on your “copied” JLTs modify the conditions DR/CR or whatever else you need to meet your requirements
  6. validate and hope it works! sometimes it takes a few tries and if you are just starting out there is a bunch of trial and error
  7. don’t forget DRAFT accounting, this will allow you to reuse the same transaction until you get it right
Posted by: AnneW | 02 Jul 08

What’s in an Org?

To some nothing, to others everything…

Why? Org or organization is a common business term that is used slightly differently in each company, another word that that can have many meanings, but lets stick to org.

Checking the dictionaries online, first of all it can be an adjective or a noun, hmmm. Noun: a) the act of organizing or of being organized b) an administrative and functional structure (as a business or a political party); also : the personnel of such a structure — taken from Merriam Webster!

Why do orgs matter in ERP software? we need “buckets” to put stuff. Setups (rules) and Transactions (data) have to belong to something. Since org is a fairly generic term, our “buckets” are called orgs 😉

Now comes the hard part, software designers need to determine which processes run where and with what rules, how do we do this when each customer’s definition of org can be different.  Well we kinda cheat – cheat by making assumptions on what we believe is most likely for the customers we are designing for. Why is this necessary? mainly for performance and integrity of data. 

An example is Accounting data, since all roads lead to GL, the GL must be the queen of all rules in which data flows to it, ie GL is the centre of the universe (another topic for later, how many centers of the universes exist?) You may think this seems ok, however the transaction data and setups which is used to create accounting data may need to have some limitations as well so it will not create “invalid” data for GL.

Since this is software and we can pretty much do anything, the dilemma is when to validate the data/rules going to the center of the universe? At the earliest point (ie you are subject to rules on any data/setups you enter that has any affect on the queen! The queen’s favorite color is blue, you can only buy blue clothing, but there is another kingdom which says blue is outlawed) OR at the latest point possible (ie you have walked 1000Km to visit the queen and the queen’s guards tells you, entry to the city is only possible if you are wearing black since its Monday)

So what do we do? we check at the last gate, a bit looser in the front end but it depends on the flow. What does that mean to the customer? They need to understand which rules and data partition is best for their org, based on the functionality attached to the “artificial” org in the software.

Posted by: AnneW | 27 Jun 08

SLA_Upgrade_FLAG unintended use …

Ok I’m starting off to clarify this is a hack/backdoor/”workaround” and of course not supported by Oracle development or support or anyone associated with Oracle, ie you are on your own!  So why am I telling you? its one of those tricks that can be pulled out when you need a quick cheap and temporary solution. 

The SLA upgrade flag’s intended use is to bypass the “regular” logic and use “upgrade” logic.   There are two features in SLA, Business Flows and Reversals that require previous accounting to be present in SLA tables in the “regular” logic.  The upgrade logic does not do the look back.  This feature is used by Federal and Public Sector SLAMs seeded in R12.

Why is this cool? you can use this to change SLAMs, on seeded rules this will work if you are changing to the seeded Federal and Encumbrance SLA rules, you will not have to worry about SLA erroring out or having to create the “missing” SLA journals. 

You can also use this for your custom rules if you happen to have a specific case where you want to bypass the “regular” SLA logic.  Though consider using SLA JLT conditions first!  There are hundreds of sources and you can add more via reference objects, however for a quick and temporary fix you may want to try this.

Posted by: AnneW | 11 Jun 08

FND_LOG is my friend…

I like FND_LOG because he listens when you tell him to and remembers everything verbatim that is told to him.  But like most friends there are quirks that are fustrating at times.  I tell FND_LOG tell me the “error messages” in “AP”… so he does, but takes the words literally when I meant anything that is vaguely error like and from AP or anyone else who interacts with AP, like etax, PO, SLA or PSA, but unfortunately FND_LOG cannot read my mind.

I guess its my fault for not being more precise but I’m going to whine a bit anyways.  The whining has to do with who FND_LOG is listening to … each person is using different words (slang, dialect, accent) to say the same thing.  Error can be ERR, err, warning, msg, message or status.   I find speaking to FND_LOG more often helps as you get use to how each person communicates.

FND_LOG can be my BF, but not BFF, as hopefully one day I won’t have to talk to FND_LOG at all!

Actions that you do in the subledger (eg Validate Invoice) raises an event to SLA this is analogous to buying tickets online for a show that will be used at a later time and being held for you at the venue.

  1. Event Class = choosing what type show  eg Movie or Concert or Live Theatre (Invoice, Payment, etc)
  2. Event Type = the specific show you want to go to within the event class – eg Movie, Indiana Jones and the Temple of Doom (Validate, Cancel, Void, etc)
  3. Event ID =  Once you have chosen and bought the ticket you are given a confirmation number

Running Creating Accounting is showing up to the venue and giving your confirmation number to the ticket booth.

The ticket taker looks up the confirmation number to determine what exact show you want to see and to determine if you want food/drinks and where you are going to sit,  she also needs to know some attributes about you based on your national identification number (NIN).

Based on the NIN they can find other information about you, your food/drink and seating preferences and also what you are allowed to choose from.

Indiana Jones is playing at 4 theaters, based on the NIN you are directed to the theater that has been assigned to your NIN and the which section, row and seat you sit in.  You are allowed popcorn but not butter, no soda but wine or water is ok.

The Create Accounting program determines how to process the event ( confirmation_number) and based on the ledger (NIN).  The SLAM is attached ot the ledger (ie rules assigned to NIN).  The event determines the event class/type (movie/indana jones) and additional information (sources) is gathered about the specific transaction being processed.  The SLA rules determine which journal lines/ accounts/description are generated ( which theater, row, seat, food options).

The NIN is the Ledger, the rules assigned is the SLAM,  the AAD is which theatre, JLD Section, JLT Row, ADR Seat.

Posted by: AnneW | 20 May 08

What happened to gl_bc_packets?

Short answer nothing, in R12 its still there and serves as the processing table for budgetary control processing.

Whats different in R12

  • the source data from gl_bc_packets now comes from SLA, instead of directly from the calling products (eg AP, PO)
  • the data from gl_bc_packets does NOT go to GL, the SLA journal goes to GL 
  • the processing unit is now event_id (not packet_id)


In past releases these may appeared that they were the same thing or almost the same thing as they were controlled by the same setup, also the terms encumbered, reserved were often interchangable used to mean both or either.   In Oracle Financials these are considered two distinct features.

Budgetary Control – keep track amounts of and determine if there is available funds within a given budget with Funds Available = Budget – Encumbrance – Actual

Encumbrance Accounting – the creation of accounting journals earlier in the the document cycle than with standard accrual (ie during PO/Req time instead of Receipt/Invoice)

You can have budgetary control without encumbrance accounting the Funds Available = Budget – Actual.  Also you can create encumbrance journals with out being subject to checking if funds are available, ie without budgetary control.

In R12 Encumbrance Accounting is controlled by SLA (SLAMs) and budgetary control is controlled by the setups defined in Summary Templates and Budget Organizations.  Budgetary Control does use the data created by SLA as input to determine funds availability, however you can suppress SLA journals from going to the general ledger.

Posted by: AnneW | 26 Feb 08

Who’s on first?

The choice of primary ledger 4 Cs (Currency, Calendar, Chart of Accounts, aCcounting) may seem to be a choice of what the resulting journals and balances look like in your general ledger, but its also influences how transactions are captured in the subledgers.

A few things to consider:

1) Is it legal?

This is a broad spectrum, from strict rules on transaction capture on one or more of the 4Cs which gives you no choice, to legal reporting without restrictions on how your software is configured (only that you produce the report) in which you may choose your corporate 4C’s instead of local.

2) Transactions are captured ONCE

You need to capture ALL the information you need to meet all processing and legal requirements when the transaction enters the system.  Does change of any of the 4Cs affect how this information is captured?  

3) Transactions can be have MULTIPLE accounting representations

With SLA in R12 you can create many accounting representations directly from a single transaction.  (This differs from previous releases where differing accounting representations where only available at the ccid/balances level only) This frees you from 4C restrictions if the purpose is only for accounting.

Older Posts »