This is how the accounting works. Everything pertains to what an Organization owns, have and what it has to give. There is always a balance to what it owns and what it has to give.
This “balance” is converted into an equation, also called the Accounting Equation, which is:
ASSETS = LIABILITIES + OWNER’S EQUITY
though I’ve understood it this way:
OWNER’S EQUITY =  ASSETS – LIABILITIES
Let’s take a simple example to justify the above equation, say you have Rs.1,000 but you know that you have to pay a loan of Rs.400 that you borrowed from your friend.
So according to the equation Rs.1000 is your Asset, Rs.400 loan is your Liability and Rs.600 is the Equity that you own.
Every organization which is registered with Government is obliged to disclose the above mentioned balance in a document called Balance Sheet.
That’s all for the accounting equation.
Moving on after the accounting equation,
There is a
  • Debit (Always on the Left Side, written as “DR” for shorthand) and
  • Credit (Always on the Right Side, written as “CR” for shorthand)
  • Debit Side should always be equal to Credit Side or
  • Left Side should always be equal to Right Side or
  • DR = CR
With the Debit and Credit comes in the
  • Increase in balance or
  • Decrease in balance
There are 5 natures of account. Every account can have any one nature and that’s why we can also call it natural account. These natures are:
  1. Assets
  2. Liabilities
  3. Revenue
  4. Expenses
  5. Owner’s Equity
ASSET: Literally asset is any thing which is valuable to a person, organization or any entity. For example we say that “his quick learning ability is an asset to him” or “Her writing ability is her asset”. Why do we say that? Because quick learning skill or writing ability adds value to a person. A writer sells his writing skills to earn money, similarly in terms of business anything which is valuable to a business is the asset.
Say your organization is a pharmaceutical and manufactures Medicines, then all the chemicals used to manufacture medicine is your asset or in other words the Raw Material is your asset. The cash your organization own is an asset because it can be used to buy items or pay your employee who in turn are used to run your business. There are different types of assets, the broader categories of asset are Current Asset and Fixed, but let’s not discuss it here. For now it is enough to know that asset is anything which is valuable to your organization.
Asset INCREASES when it is Debited and DECREASES when Credited.
Any organization which is registered with the government and exists as Legal Entity is obligated to disclose its Assets on the balance sheet to the government and its Creditors. You might ask Who are creditors and Why is it that an organization is obligated to disclose asset to them? With Creditor comes in the liability.
LIABILITY: Comes from the word “Liable”. Literal meaning of Liable is “to be obligated” , “to be responsible” or “Legally responsible”. In terms of accounting you become liable, responsible to pay when you buy or purchase any thing from another entity. You are liable to compensate whatever you’ve bought. Generally an organization records its liability and pays it afterward. Again, there are different types of liabilities like Short Term Liability and Long Term Liability.
Liability INCREASES when it is Credited and DECREASES when Debited.
OWNER’S EQUITY: This is the share of owner in the business.
Equity INCREASES when it is Credited and DECREASES when Debited.
REVENUE: By definition it is the total gain before inducting any expense. It is mostly associated with the Asset. When any organization sell goods or renders its services, it records an increase in Asset and with this increase comes the gain it has made from selling the goods or services. This gain is called Revenue or Income.
Revenue INCREASES when it is Credited and DECREASES when Debited.
Revenue are not displayed in Balance Sheet. They are reflected in Owner’s Equity.
EXPENSE: By definition any payment made is an expense. How payments are made? Either by Cash or Credit which eventually means Cash. So redefining Expense “The outflow of cash to any person or organization for its supplied Goods or rendered Services”. We incur expenses daily, for example, taxi fare is an expense, dine-out payments are expenses. Expenses are associated with Liability. Whenever an organization books a liability, it is mostly against some expense. There are different type of expense
Expense INCREASES when it is Debited and DECREASES when Credited.
Following table shows the Tabular form of the effect
Nature DEBIT CREDIT
Asset Increase (+) Decrease (-)
Liability Decrease (-) Increase (+)
Equity Decrease (-) Increase (+)
Revenue Decrease (-) Increase (+)
Expense Increase (+) Decrease (-)
In Oracle General Ledger, when we attach the “Natural Account” Flexfield Qualifier to a segment. System attaches the 5 nature on the Value form. When we add the Natural Account Value, we have to define the nature of the account as well.
When we define the natures of the account, the accounting rules of Debit and Credit works accordingly. Like in Payables, the line item is Debit side, so if you’ll give an expense or asset account, it will increase and vice versa.
It is necessary to understand the application accounting behavior in order to properly suggest and implement the accounting solution in an organization.
Part -I: Online Accounting: (For single entity)

DRAFT will create Journal Entries, which are NOT final, which means they are NOT ready to be transferred to GL.
  • You can see the accounting in XLA_AE_HEADERS and XLA_AE_LINES.

         XLA_AE_HEADERS.accounting_entry_status_code is ‘D’
         XLA_EVENTS.process_status_code is ‘D’
         XLA_EVENTS.event_status_code is ‘U’ 

  • You can run create accounting on this transaction again and again, which will delete the old journal entries and create new ones.
  • You can’t transfer these journal entries to GL.
FINAL will create journal entries, which can be transferred to GL.

  • You can see the accounting in XLA_AE_HEADERS and XLA_AE_LINES.

         XLA_AE_HEADERS.accounting_entry_status_code is ‘F’
         XLA_EVENTS.process_status_code is ‘P’
         XLA_EVENTS.event_status_code is ‘P’

  • Once it is finally accounted you can NOT run create accounting on the particular transaction (specifically on that event).
  • You can transfer them to GL using Transfer Journal Entries to GL program.
FINAL POST will create journal entries in Final Mode, Transfer them to GL and Post them.
  • You can see the accounting in XLA_AE_HEADERS and XLA_AE_LINES.

         XLA_AE_HEADERS.accounting_entry_status_code is ‘F’
         XLA_EVENTS.process_status_code is ‘P’
         XLA_EVENTS.event_status_code is ‘P’

  • Once it is finally accounted you can NOT run create accounting on the particular transaction (specifically on that event).
  • It will transfer the journal entries to GL using Journal Import and you can find the data in GL_JE_HEADERS and GL_JE_LINES.

         XLA_AE_HEADERS.transfer_status_code is Y.
         It will post to gl_balances also (GL_JE_HEADERS.status is ‘P’).

Part -II: Create Accounting (Concurrent Program): (For more entities)

1. Accounting Mode: Draft
It is same as Draft online accounting.

2. Accounting Mode: Final, Transfer to GL: No
It is same as Final online accounting.

3. Accounting Mode: Final, Transfer to GL: Yes, Post to GL: No

  • It will create journal entries in Final mode, transfer them to GL.
  • You can see the accounting in XLA_AE_HEADERS and XLA_AE_LINES.
  • Once it is finally accounted you can NOT run create accounting on the particular transaction (specifically on that event).

         XLA_AE_HEADERS.accounting_entry_status_code is ‘F’
         XLA_EVENTS.process_status_code is ‘P’
         XLA_EVENTS.event_status_code is ‘P’

  • It will transfer the journal entries to GL using Journal Import and you can find the data in GL_JE_HEADERS and GL_JE_LINES.

         XLA_AE_HEADERS.transfer_status_code is ‘Y’
         GL_JE_HEADERS.status is ‘U’.

4. Accounting Mode: Final, Transfer to GL: Yes, Post to GL: Yes


It is same as Final Post online accounting.
Often times, WebADI can be very confusing to work with. There are just too many issues if it is not properly set up. Sometimes you may encounter VBProject Runtime Error when trying to open Web-ADI template file, or sometimes the Excel spreadsheet just hangs up, or can’t be opened.

There are few steps you will have to take before WebADI can be properly used:

  • Microsoft Office Version
  • Microsoft Excel Settings
  • Internet Explorer Settings


Follow the steps below given in the screenshots and apply the settings exactly as they are depicted. The screenshots are from Excel 2010, however the settings should also work for 2000, 2003, 2007 versions.

A)  Check the Microsoft Office Version
Make sure you are using 32-bit version of Microsoft Office. Click on Excel –> File –> Help. If you are running 64-bit version, you may want to uninstall 64-bit and re-install the 32-bit version of Microsoft Office.

B)  Open Microsoft Excel –> File –> Options –> Trust Center –> Trust Center Settings

B-1)  Trusted Documents:
Make sure to check “Allow documents on a network to be trusted“.


B-2)  Add-Ins:
Make sure to uncheck all the options.


B-3)  ActiveX Settings:
Check only “Enable all controls without restrictions and without prompting“. All other options should be unchecked.




B-4)  Macro Settings:

Check “Enable all macros” and “Trust access to the VBA project object model” options.




B-5)  Protected View:

Check only “Enable Protected View for Outlook attachments” and “Enable Data Execution Prevention mode” options. All other options should be unchecked.


In case the WebADI still does not work, then keep all the options unchecked, and retry.

B-6)  Message Bar:

Check “Show the Message Bar in all applications when achieve content, such as ActiveX controls and macros, has been blocked“.




B-7)  External Content:

Check the “Enable all Data Connections” and “Enable automatic update for all Workbook Links” options only.



C)  Internet Explorer Settings:

Open Internet Explorer –> Tools –> Internet Options –> Security Tab –> Custom Level.



C-1)  Downloads

Scroll down to Downloads section, and make sure File Download is Enabled.



C-2)  Miscellaneous: 

Scroll down to Miscellaneous section, and make sure to match the following setting.



C-3)  Scripting: 

Scroll down to Scripting section, and make sure to match the following setting. Then press OK.



Now log out from your Oracle Applications and re-log back in. Retry the Web-ADI upload.

Oracle Apps tables ending with _ALL holds transaction data for multiple org ( Operating Units).

In 11i we had views on these tables. It requires setting context in order to fetch data from these views. This  is for security concerns as these objects holds transaction details.

The SQL command to set the ORG_ID prior to running a script is:

SQL> EXECUTE DBMS_APPLICATION_INFO.SET_CLIENT_INFO(&ORG_ID);

Enter the org_id when prompted.

If using Toad:

BEGIN
     FND_CLIENT_INFO.SET_ORG_CONTEXT (&ORG_ID);
END;   

In R12 oracle uses VPD (Virtual Private Database) to secure these transactional data .This is one of major difference in application architecture between 11i and R12.

In order to retrieve data from transactional objects, set policy context first ( as below ) –

BEGIN
     MO_GLOBAL.SET_POLICY_CONTEXT(‘MODE’ CHAR(1),ORG_ID NUMBER);
END;

    MODE – This is  either “S” – For Single Operating Unit OR “M” – For Multiple Operating Unit

    Org_ID – Operating unit (Value from column ORG_ID in all transactional objects)
                         This is mandatory for “S” mode.
Example :-

BEGIN
    MO_GLOBAL.SET_POLICY_CONTEXT(‘S’, 123);
END;

Concurrent Request Phase Codes:

SELECT LOOKUP_CODE, MEANING
  FROM FND_LOOKUP_VALUES
 WHERE LOOKUP_TYPE = ‘CP_PHASE_CODE’ AND LANGUAGE = ‘US’
       AND ENABLED_FLAG = ‘Y’;

LOOKUP_CODE
MEANING
C
Completed
I
Inactive
P
Pending
R
Running

Concurrent Request Status Codes:

SELECT LOOKUP_CODE, MEANING
  FROM FND_LOOKUP_VALUES
 WHERE LOOKUP_TYPE = ‘CP_STATUS_CODE’ AND LANGUAGE = ‘US’
       AND ENABLED_FLAG = ‘Y’;

LOOKUP_CODE
MEANING
R
Normal
I
Normal
Z
Waiting
D
Cancelled
U
Disabled
E
Error
M
No Manager
C
Normal
H
On Hold
W
Paused
B
Resuming
P
Scheduled
Q
Standby
S
Suspended
X
Terminated
T
Terminating
A
Waiting
G
Warning

Normally a concurrent request proceeds through three, possibly four, life cycle stages or phases,

Phase Code
Meaning with Description
Pending
Request is waiting to be run
Running
Request is running
Completed
Request has finished
Inactive
Request cannot be run

Within each phase, a request’s condition or status may change. Below appears a listing of each phase and the various states that a concurrent request can go through.

The status and the description of each meaning given below:

Phase
Status
Description
PENDING
Normal
Request is waiting for the next available manager.
Standby
Program to run request is incompatible with other program(s) currently running.
Scheduled
Request is scheduled to start at a future time or date.
Waiting
A child request is waiting for its Parent request to mark it ready to run. For example, a report in a report set that runs sequentially must wait for a prior report to complete.



RUNNING
Normal
Request is running normally.
Paused
Parent request pauses for all its child requests to complete. For example, a report set pauses for all reports in the set to complete.
Resuming
All requests submitted by the same parent request have completed running. The Parent request is waiting to be restarted.
Terminating
Running request is terminated, by selecting Terminate in the Status field of   the Request Details zone.



COMPLETED
Normal
Request completes normally.
Error
Request failed to complete successfully.
Warning
Request completes with warnings. For example, a report is generated successfully but fails to print.
Cancelled
Pending or Inactive request is cancelled, by selecting Cancel in the Status field of the Request Details zone.
Terminated
Running request is terminated, by selecting Terminate in the Status field of   the Request Details zone.



INACTIVE
Disabled
Program to run request is not enabled. Contact your system administrator.
On Hold
Pending request is placed on hold, by selecting Hold in the Status field of the Request Details zone.
No Manager
No manager is defined to run the request. Check with your system administrator.