Pages

Thursday, 26 April 2012

Oracle R12 - General Ledger Setup



1. Define Responsibilities

Security > Responsibility > Define (System Administration)

Description:  Use the Define Responsibility window to define responsibilities for each operating unit by application. When signing on to Oracle Applications, the responsibility chosen determines the data, forms, menus, reports, and concurrent programs that can be accessed.  Consider using naming conventions for the responsibility names in a Multiple Organization environment. It is a good idea to use abbreviations of the business function and the organization name to uniquely identify the purpose of the responsibility.



2. Chart of Accounts

Description: Any Accounting transaction in Oracle Applications impacts the Chart of Accounts, which in Oracle Applications parlance is called the Accounting Flexfield Structure. Accounting Flexfield is a combination of Segments, each of which is designed to represent a dimension of business/accounting information.


      2.1 Value Set Definition

Setup > Financials > Flexfield > Validation > Sets

        2.2 Key Flexfield Definition

Setup > Financials > Flexfield > Key > Segments


        2.3 Value Definition

Use this window to define valid values for a key or descriptive flexfield segment or report parameter. You must define at least one valid value for each validated segment before you can use a flexfield.

Setup > Financials > Flexfield > Key > Values


3. Defining Period Type 

Setup > Financials > Calendars > Types

- Description:  Period types are used when defining the accounting calendar for the organization.  Each Ledger has an associated period type.  In case a calendar is assigned to a Ledger, the Ledger only accesses the periods with the appropriate period type.

4. Define Accounting Calendar 

Setup > Financials > Calendar > Accounting

- Description:  Create a calendar to define an accounting year and the periods it contains. You should set up one year at a time, specifying the types of accounting periods to include in each year. Defining one year at a time helps in being more accurate and reduces the amount of period maintenance you must do at the start of each accounting period. You should define your calendar at least one year before your current fiscal year.


5. Define Currencies 

Setup > Currencies > Define

Description:  Use the Currencies window to define non-ISO (International Standards Organization) currencies, and to enable/disable currencies. Oracle Applications has predefined all currencies specified in ISO standard #4217.  To use a currency other than U.S. Dollars (USD), you must enable the currency.  U.S. Dollars (USD) is the only currency that is enabled initially.

6. Setup Jurisdiction Code for Legal Entity

Legal Entity Manager (Responsibility) >Legal Entity Configurator>Jurisdiction 




7. Define Legal Entity

Setup > Account Setup Manager >Accounting Setup
Legal Entity > Legal Entity Configuration > Legal Entities > Create Legal Entity:

Before creating the ledger need to create the Legal Entity.  Legal entity is the place where it holds the legal information about the organization such as the Jurisdiction, Territory, and Registration number of the company & Legal Address of the company.


8. Define Ledger

Setup > Financials > Accounting Setup Manager > Accounting Setups

Defining Ledgers:

A ledger determines the currency, chart of accounts, accounting calendar, ledger processing options and sub-ledger accounting method, if used, for a legal entity, group of legal entities, or some other business purpose that does not involve legal entities.
You define ledgers when you create accounting setups in Accounting Setup Manager. Each accounting setup requires a primary ledger and optionally one or more secondary ledgers and reporting currencies.

Primary Ledger

The primary ledger acts as the main record-keeping ledger. If used for the purpose of maintaining transactions for one or more legal entities, it uses the legal entities' main chart of accounts, accounting calendar, currency, sub-ledger accounting method, and ledger processing options to record and report on all of their financial transactions.

Ledger Prerequisites

The following need to be defined or enabled in Oracle General Ledger before you can create ledgers using Accounting Setup Manager.

• Chart of accounts
• Accounting calendar
• Currencies
• Currency conversion rate types and rates, if you plan to use more than one currency
• Journal Reversal Criteria, if you plan to Automatically Reverse Journals
• Retained Earnings Account
• Suspense account, if you want to enable suspense posting
• Cumulative Translation Adjustment account, if you plan to translate balances
• Rounding Differences account, if you want to use a specific account to track small currency differences during currency conversion
• Non-Post-able Net Income account, if you plan to use average balance processing. This account is used to capture the net activity of all revenue and expense accounts when calculating the average balance for retained earnings.
• Reserve for Encumbrance account, if you plan to use Encumbrance Accounting
• Entered Currency Balancing Account, if you plan to use Oracle Sub-ledgers and want to balance foreign currency sub-ledger journals by the entered currency and balancing segment value.

9. Define and Assign Document Sequence

Setup > Financials > Sequence > Define

Description: Create a document sequence to uniquely number each document generated by an Oracle application. In General Ledger, you can use document sequences to number journal entries, enabling you to account for every journal entry.

Attention:  Once you define a document sequence, you can change the Effective to date and message notification as long as the document sequence is not assigned. You cannot change a document sequence that is assigned.

Note: Profile option “Sequential Numbering” should be set to “Partially Used” at the site level; this will enable users from entering document if no sequence exists.



10. Setup Profile Option

Profile > System (System Administrator)


Description: Profile options specify how your General Ledger application controls access to and processes data. In general, profile options can be set at one or more of the following levels: site, application, responsibility, and user.

Common Profile Options

Profile Value

Value
Site
Application
Responsibility
User







Flexfields:Open Descr Window

Optional
Yes



FND: Indicator Colors

Optional
Yes



Indicate Attachments

Optional
Yes



Currency: Mixed Currency Precision

Optional
3



Currency: Negative Format

Optional
-XXX



Currency: Positive Format

Optional
XXX



Currency: Thousands Separator

Optional
Yes



Flexfields: Autoskip

Optional




Flexfields: Shorthand Entry

Optional
Always



Sequential Numbering

Optional
Always Used



Flexfields:Open Key Window

Optional
No




General Ledger Profile Options


Profile Value

Value
Site
Application
Responsibility
User







Budgetary Control Group

Optional
Standard



Daily Rates Window: Enforce Inverse Relationship During Entry

Optional
No



FSG: Accounting Flexfield

Optional
Accounting Flexfield



FSG: Allow Portrait Print Style

Optional
Yes



FSG: Enable Search Optimization

Optional
Yes



FSG: Enforce Segment Value Security

Optional
No



FSG: Expand Parent Value

Optional




FSG: Message Detail

Optional
Normal



FSG: String Comparison Mode

Optional




GL: Auto Allocation Rollback Allowed

Optional
Yes



GL: Debug Mode

Optional
Yes



GL: Income Statement Accounts Revaluation Rule

Optional
YTD



GL: Number of Purge Workers

Optional
1



GL: Journal Review Required

Optional
No



GL: Launch AutoReverse After Open Period

Optional
No



GL: Owner's Equity Translation Rule

Optional
PTD



GL Account Analysis Report: Enable Segment Value Security on Beginning/Ending Balances

Optional




GL AHM: Allow Users to Modify Hierarchy

Optional
Yes



GL Consolidation: Exclude Journal Category During Transfer

Optional




GL Consolidation: Preserve Journal Batching

Optional




GL/MRC: Inherit the creation user for the reporting currency's journal from the primary ledger's journal

Optional
Yes



GL Ledger ID

System Defaults
YYYY

YYYY

GL Ledger Name

Required
ADEC Ledger



HR: Security Profile

Optional


XXXX

HR: Business Group

Optional


XXXX

GL Summarization: Number of Delete Workers

Optional
3



GL Summarization: Accounts Processed at a time per Delete Worker

Optional
5000



GL Summarization: Rows Deleted Per Commit

Optional
5000



Journals: Allow Multiple Exchange Rates

Optional
No



Journals: Allow Non-Business Day Transactions

Optional
Yes



Journals: Allow Preparer Approval

Optional
No



Journals: Default Category

Optional
Adjustment



Journals: Display Inverse Rate

Optional
No



Journals: Enable Prior Period Notification

Optional
Yes



Journals: Find Approver Method

Optional
Go Up Management Chain



Journals: Mix Statistical and Monetary

Optional
No



Journals: Override Reversal Method

Optional
No



Use Performance Module

Optional
Yes






11. Open an Accounting Period

Setup > Open/Close


Description: Open and close accounting periods to control journal entry and journal posting, as well as to compute period–end and year–end actual and budget account balances for reporting

12. Setup Budgets




Budgets > Define > Budget


Description: The budgeting process can be used to enter estimated account balances for a specified range of periods. These estimated amounts can be used to compare actual balances with projected results, or to control actual and anticipated expenditures.  Define a budget to represent specific estimated cost and revenue amounts for a range of accounting periods. You can create as many budget versions as you need for a Ledger.

Attention: With Multiple Reporting Currencies, budget amounts and budget journals are not converted to reporting currencies. If you need budget amounts in a reporting Ledger, you must log in to General Ledger using the reporting Ledger’ responsibility, defines the budget in the reporting Ledger, and then enters budget amounts in the reporting currency. Alternatively, you can import budget amounts in your functional currency, and then translate the amounts to your reporting currency.

13. Define Budgetary Control Groups

Budgets > Define > Controls


Description: A budgetary control group can be created by specifying funds check level (absolute, advisory, or none) by journal entry source and category, together with tolerance percent and tolerance amount, and an override amount allowed for insufficient funds transactions.  At least one budgetary control group must be defined to assign to a site through a profile option.  You might also create additional budgetary control groups to give people different budgetary control tolerances and abilities to override insufficient funds transactions.

Attention: To use budgetary control, encumbrance accounting, budgetary accounts, and funds checking; Payables, Purchasing and General Ledger must be fully installed.



14. Security Rule

Description: Define security rule to restrict user access to certain account segment values.

15. Cross Validation Rules Rule

Setup > Financials > Flexfields > Key>  Rules

Description: Define Cross validation rules  to prohibit invalid account combinations being created thus they are applicable to a combination of segment values. Cross validation rule once created would immediately take affect with all the responsibilities that are using the accounting structure(chart of accounts) for which the rule is defined.

Note:- While setting up Cross Validation  Rule we need to enable Cross Validate Segments at Accounting Flexfield Structure Level.






Buyer Setup

1) In HRMS  ‘People > Enter and maintain’,Create New Employee  whose Last name must be same as User name Which we are logged in. Go to Assignment, Enter Org,Position and Job.Save the record.

2) In Sysadmin ‘Security > User > Define’,Query for the user & enter ‘person’ field with employee name created in HRMS.Save the record.

3) In PO ’ Setup >Personal > Buyers ‘, Create new buyer for our user. Now we can create a PO

4)  In PO  ’ Setup >Approvals > Approval groups ’, Create an approval group.

5)  Go to ‘Setup >Approvals > Approval Assignments’ , Select the position ( as given in HRMS) and assign approval group for different document types. Now we can approve Documents

AOL frequently asked questions


AOL frequently asked questions 

Where do concurrent request logfiles and output files go?

            The concurrent manager first looks for the environment variable $APPLCSF. If this is set, it creates a path using two other environment variables: $APPLLOG and $APPLOUT

            It places log files in $APPLCSF/$APPLLOG
       
            Output files go in $APPLCSF/$APPLOUT
       
So for example, if you have this environment set:

            $APPLCSF = /u01/appl/common
            $APPLLOG = log
            $APPLOUT = out

            The concurrent manager will place log files in /u01/appl/common/log, and output files in /u01/appl/ common/out

            Note that $APPLCSF must be a full, absolute path, and the other two aredirectory names.

            If $APPLCSF is not set, it places the files under the product top of the application associated with the request.
       
            So for example, a PO report would go under $PO_TOP/$APPLLOG and $PO_TOP/$APPLOUT

            Logfiles go to:  /u01/appl/po/9.0/log
            Output files to: /u01/appl/po/9.0/out
           
            Of course, all these directories must exist and have the correct permissions. Note that all concurrent requests produce a log file, but not necessarily an output file.      

What are the logfile and output file naming conventions?
       
            Logfiles: l<request id>.req
            Output files: If $APPCPNAM is not set:  <username>.<request id>
                                    If $APPCPNAM = REQID:     o<request id>.out
                                    If $APPCPNAM = USER:      <username>.out
                     
            Where: <request id> = The request id of the concurrent request
            And: <username> = The id of the user that submitted the request
                       
How do I check if Multi-org is installed?

            SELECT multi_org_flag FROM fnd_product_groups;

How do I find out what the currently installed release of Applications is?

            SELECT release_name FROM fnd_product_groups
               
How do I find the name of a form?
           
            GUI: Use Help->About Oracle Applications
                        Scroll down to find the form name
           
            Character: Use \Help->Version
       
How do I lookup ORA errors? (and TNS errors)
       
            Use: oerr ora XXXX
            or:  oerr tns XXXX     
       
            where XXXX is the error number (This also supports a number of other error types. Use the 3-letter  error prefix in place of 'ora')
       
How do I generate a message file (usaeng.msb)?
       
            Use: FNDMDCMF applsys/pwd 0 Y APP usaeng
            where: applsys/pwd is the APPLSYS user and password and APP is the short name of the application (like PO or INV)


PACKAGE AD_DD

package ad_dd as
/* $Header: addds.pls 110.3 98/09/18 18:24:23 porting ship $ */                                    

            procedure register_table (p_appl_short_name in varchar2, p_tab_name in varchar2,
p_tab_type in varchar2, p_next_extent in number default 512, p_pct_free in number default 10, p_pct_used in number default 70);
                                                                                                    
            procedure register_column (p_appl_short_name in varchar2, p_tab_name in varchar2,
p_col_name in varchar2, p_col_seq in number, p_col_type in varchar2,  p_col_width in number,
p_nullable in varchar2, p_translate in varchar2, p_precision in number default null, p_scale in number default null);
                                                                                                   
            procedure register_primary_key(p_appl_short_name in varchar2, p_key_name in varchar2, p_tab_name in varchar2, p_description  in varchar2, p_key_type in varchar2 default 'S',p_audit_flag in varchar2 default 'N', p_enabled_flag in varchar2 default 'Y');
                                                                                                   
            procedure update_primary_key(p_appl_short_name in varchar2, p_key_name in varchar2, p_tab_name in varchar2, p_description in varchar2, p_key_type in varchar2 default null,p_audit_flag in varchar2 default null, p_enabled_flag in varchar2 default null);                           
                                                                                                    
            procedure register_primary_key_column(p_appl_short_name in varchar2, p_key_name in varchar2, p_tab_name in varchar2, p_col_name in varchar2, p_col_sequence in number);                                   
                                                                                                    
            procedure delete_primary_key_column(p_appl_short_name in varchar2, p_key_name in varchar2, p_tab_name in varchar2, p_col_name in varchar2 default null);                       
                                                                                                   
            procedure delete_table  (p_appl_short_name in varchar2, p_tab_name in varchar2);
                                                                                                    
            procedure delete_column (p_appl_short_name in varchar2, p_tab_name in varchar2, p_col_name in varchar2);
                                                                                                  
end ad_dd;                                                     
                                 
CONCURRENT PROCESSING IN ORACLE APPS.

Definitions
What is a Concurrent Program ?

            An instance of an execution file, along with parameter definitions and incompatibilities. Several concurrent programs may use the same execution file to perform their specific tasks, each having different parameter defaults and incompatibilites.

What is a Concurrent Program Executable ?

            An executable file that performs a specific task. The file may be a program written in a standard language, a reporting tool or an operating system language.

What is a Concurrent Request ?

             request to run a concurrent program as a concurrent process.

What is a Concurrent Process ?

            n instance of a running concurrent program that runs simultaneously with other concurrent processes.

What is a Concurrent Manager ?

             program that processes user’s requests and runs concurrent programs. System Administrators define concurrent managers to run different kinds of requests.

What is a Concurrent Queue ?

            ist of concurrent requests awaiting processing by a concurrent manager.

What is a Spawned Concurrent program ?

             Concurrent program that runs in a separate process than that of the concurrent manager that starts it. L/SQL stored procedures run in the same process as the concurrent manager; use them when spawned concurrent programs are not feasible.



LIFE CYCLE OF CONCURRENT REQUESTS
           
What are the phases and statuses through which a concurrent prequest runs through?

A concurrent request proceeds through three, possibly four, life cycle stages or phases: 

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. 

Concurrent Request Phase and Status   

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.

What is the difference between Request group and request set ?

REQUESTS GROUPS AND REQUEST SETS

            Reports and concurrent programs can be assembled into request groups and request sets.

1.      A request group is a collection of reports or concurrent programs. A System Administrator defines report groups in order to control user access to reports and concurrent programs.  Only a System Administrator can create a request group.

2.      Request sets define run and print options, and possibly, parameter values, for a collection of reports or concurrent program.  End users and System Administrators can define request sets.  A System Administrator has request set privileges beyond those of an end user. 

            Standard Request Submission and Request Groups

            Standard Request Submission is an Oracle Applications feature that allows you to select and run all your reports and other concurrent programs from a single, standard form.  The standard submission form is called Submit Requests, although it can be customized to display a different title. 

3.      The reports and concurrent programs that may be selected from the Submit Requests form belong to a request security group, which is a request group assigned to a responsibility. 

4.      The reports and concurrent programs that may be selected from a customized Submit Requests form belong to a request group that uses a code. 

            In summary, request groups can be used to control access to reports and concurrent programs in two ways; according to a user's responsibility, or according to a customized standard submission (Run Requests) form.

 Chart of Accounts Implementation in Oracle Apps R12



Chart of Accounts Implementation in Oracle Apps R12 

Part of this Post contains the below,

  1. Definition of Chart of Accounts
  2. Overview
  3. Graphical Representation 
Definition from Wikipedia:
Chart of accounts (COA) is a list of the accounts used by an organization. The list can be numerical, alphabetic, or alpha-numeric. The structure and headings of accounts should assist in consistent posting of transactions. Each nominal ledger account is unique to allow its ledger to be located. The list is typically arranged in the order of the customary appearance of accounts in the financial statements, profit and loss accounts followed by balance sheet accounts. 

Overview:
This post will introduce the process flow for creating a chart of accounts. The chart of Accounts defines the accounting structure of the organization. This structure includes every aspects of the business like business units, accounts, products, services, geographical locations etc. Further COA also tells us about how the elements of the structure combined to form the account combination.

Uses:
  1. Accounting combinations defined in Chart of Accounts is used to various transactions happening in the organization.
  2. Helps in generating account balances.
  3. Helps in Reporting
  4. Helps in Analyzing financial information
  5. Many more … 

Basic Steps Involved in Implementation:



Steps in Detail:

1. Value Set Definition:

The value set is the group of values that determine the attributes of the segment. The definition of value set decides whether the value entered for the corresponding segment is acceptable or not. We have to define the value sets for each segment we planned to have in Account combination.

Navigation: General Ledger Super User Responsibility 
Setup à Financials à Flexifeilds à Validation à Sets


 2. Defining Accounting Flexifield Structure

Define an accounting flexfield structure using the Key Flexfield Segments form.

Caution 1:
Once we freeze our account structure in the Key Flexfield Segments window and begin using account numbers in data entry, we should not modify the flexfield definition. Changing the existing flexfield structure after flexfield data has been created can cause serious data inconsistencies. Modifying your existing structures may also adversely affect the behavior of cross–validation rules and shorthand aliases.

Caution 2:
Once you are done entering the segment information, click on flexfield qualifier and designate one of your segments as the natural account segment and another as the balancing segment. You can optionally designate a cost center segment and/or intercompany segment. This is the most important step.

Navigation: General Ledger Super User Responsibility 
Setup à Financials à Flexfield à Keyà Segments



 3:  Entering Segment Values

We enter segment values which is valid for our application or organization. The valid value can be a phrase, word, abbreviation or numeric code. The valid value must conform to the criteria defined for the respective valid set.

Caution :
If you plan on defining summary accounts or reporting hierarchies, you must define parent values as well as child or detail values.
You can set up hierarchy structures for your segment values. Define parent values that include child values. You can view a segment value’s hierarchy structure as well as move the child ranges from one parent value to another. 

Navigation: General Ledger Super User Responsibility 
Setup à Financials à Flexfield à Keyà Values

 

4. Entering Account Combinations

This step is optional. Account combinations are part of Journal Transactions.
We can manually enter the new account combinations in a chart of accounts of a company using GL Accounts form. Anyhow, if we have checked the “Allow dynamic inserts” check box in segments for then we don’t need to worry about this step.

Navigation: General Ledger Super User Responsibility 
Setup à Account à Combinations

 

5. Creation of Account Alias:
This step is again optional. For input or Retrieve data about a transaction in Oracle General Ledger requires the complete Account Combination. But generally the account combination is large and very difficult to remember. Hence we define a short name (Alias) for the Account combination which we use widely.

Detail Explanation of this step is available in another article. Please click the below link

For input or Retrieve data about a transaction in Oracle General Ledger requires the complete Account Combination. But generally the account combination is large and very difficult to remember. Hence we define a short name (Alias) for the Account combination which we use widely.

Let us see how we can create Account alias for the combination
“Vision Distribution.0110.000.100300.0000.00000.00000.0110” as “FuelAcc”

1. Navigation:

2. Shortand Alias Form




3. Click the Find icon in the toolbar to choose the Accounting Flexi field 

 

This will automatically populate the Application, structure, flexifield title, descriptin fields as below.


 4. Next populate the Shorthand related specifications like below,


 5. Next populate the tab “Aliases, Description” as below,


 6. Next we need to populate the tab “Aliases,Effective” as below

 

7. Next Step is to save and Transaction. While saving we will be shown  a note window to recompile the flexifield using segments form. This is an important step to see our changes

 All the above information is stored in database table named FND_SHORTHAND_FLEX_ALIASES

6. Define Flexfield Security Rules

This step is to prevent group of users from accessing specific segment values while data entry and in report parameters. This maintains the integrity of accounting data. The flexfield security rule is effective only when assigned to an appropriate responsibility.
However to restrict all the users from accessing the particular segment value we need to disable them in segment s form.

Navigation: General Ledger Super User Responsibility 
Setup à Financials à Flexfield à Keyà Security à Define

 

7. Define Cross Validation Rules

This step is required to maintain a consistent and valid set of account combination based on our business requirements. Cross validation rule prevent users from entering invalid account combinations. Cross validation rules validate only new account combinations hence it needs to be implemented before entering the chart of accounts.

Navigation: General Ledger Super User Responsibility 
Setup à Financials à Flexfield à Keyà Rules