Define Period Type and Accounting Calendar in Oracle EBS R12

The below steps need to be performed for setting up Period Type in Oracle EBS /Apps R12

Why we need Adjustment Period ?

Adjustment Period is used to make adjustment to manage the accounting entries for the reconciliation of Financial Periods. The Adjustment Period is not visible in General Ledger.

Calendar Types in Oracle EBS R12 

General Ledger uses the year type to assign a year in the accounting period . In Oracle EBS R12 Calendar can be defined in 2 ways

  • Fiscal: year in which an accounting period begins which means the Financial Year is considered as (01-Jul-20 to 30-Jun-21)
  • Calendar : year in which an accounting period ends which means the Financial Year is considered as (01-Jan-20 to 31-Dec-20)
Define Oracle Apps R12 Period Types
  • Navigate to General Ledger > Setup > Financials > Calendars > Types
  • Enter the Period Type (‘OAH Period’)
  • Enter Period Per Year (13) includes 1 Adjustment Period
  • Select Year Type as ‘Fiscal’

Define Accounting Calendar in Oracle EBS R12

Define Oracle Apps R12 Accounting Calendar

Define the 12 Periods from JAN-DEC for the specific accounting period

  • Enter the Calendar Name (‘OAH Calendar’)
  • Enter the Calendar Description
  • Enter the Period Prefix for the Accounting Period like JAN for Month January
  • Enter the Period Type defined in the Period Type Setup (‘OAH Period’)
  • Enter the Period Year in which Accounting Period to be defined (2021)
  • Enter Total Number of Quarters in an Accounting Period
  • Enter From Date ( ’01-JAN-2020′)
  • Enter To Date ( ’31-JAN-2020′)

Define the Adjustment Period as 13 Period for the specific accounting period

  • Enter the Period Prefix for the Accounting Period like ADJ for Adjustment Period
  • Enter the Period Type defined in the Period Type Setup (‘OAH Period’)
  • Enter the Period Year in which Accounting Period to be defined (2021)
  • Enter Total Number of Quarters in an Accounting Period
  • Enter From Date ( ’31-DEC-2020′)
  • Enter To Date ( ’31-DEC-2020′)

Calendar Validation 

Once the defined periods are saved in Calendar, System popups the Calendar Validation option to validate calendar period data. Select Current as the option

Oracle Apps R12 Calendar Validation

The validations are performed to validate the entered Calendar Period data

  • Validates Periods overlap
  • Validates if Periods have date gaps
  • Validates Adjustment period is checked or not
  • Validates if Period numbers are greater than the maximum period number for current period type
  • Validates if Periods are not in sequential order by date
  • Validates if Quarters are missing
  • Validates if Quarters are not in sequential order by period
  • Validates if Period numbers are missing
  • Validates if Period’s start or end dates are more than one year before or after its fiscal year

EBS R12 General Ledger SQL to get GL Code Combinations records

The blog provides the EBS R12 SQL to get GL_CODE_COMBINATIONS records bases on last_run_date update and Char of Accounts Id

SELECT GCC.CODE_COMBINATION_ID
,GCC.ALTERNATE_CODE_COMBINATION_ID
,GCC.CHART_OF_ACCOUNTS_ID
,GCC.DETAIL_POSTING_ALLOWED_FLAG
,GCC.DETAIL_BUDGETING_ALLOWED_FLAG
,GCC.ACCOUNT_TYPE
,GCC.ENABLED_FLAG
,GCC.SUMMARY_FLAG
,GCC.SEGMENT1
,GCC.SEGMENT2
,GCC.SEGMENT3
,GCC.SEGMENT4
,GCC.SEGMENT5
,GCC.SEGMENT6
,GCC.SEGMENT7
,GCC.SEGMENT8
,GCC.SEGMENT9
,GCC.SEGMENT10
,GCC.SEGMENT11
,GCC.SEGMENT12
,GCC.START_DATE_ACTIVE
,GCC.END_DATE_ACTIVE
,GCC.JGZZ_RECON_FLAG
,GCC.PRESERVE_FLAG
,GCC.DESCRIPTION
,GCC.TEMPLATE_ID
,GCC.ALLOCATION_CREATE_FLAG
FROM   GL_CODE_COMBINATIONS GCC
WHERE  GCC.LAST_UPDATE_DATE >
TO_DATE (G_DT_LAST_RUN_DATE, ‘DD-MM-YYYY HH24:MI:SS’)
AND    GCC.ATTRIBUTE1 IS NULL
AND    GCC.CHART_OF_ACCOUNTS_ID =
NVL (G_NUM_CHART_OF_ACCOUNTS_ID, GCC.CHART_OF_ACCOUNTS_ID)

General Ledger ( GL) differences in EBS 11i and EBS R12

The blog provides the major changes in General Ledger ( GL) differences in 11i and R12

General Ledger EBS R11i vs EBS R12

Ledger: The ledger is a major concept change  in Release 12 which  replaces the 11i concept of a set of books. the Ledger represents an accounting representation for one or more legal entities or for a business need such as consolidation or management reporting. The new change provides the flexibility for the defining the model in a easy and efficient way for the setup of the legal entities and accounting representations in Release 12. It provides the  shared service center and single instance initiatives where all legal entities of an enterprise are accounted for in a single instance, and data, setup, and processing must be effectively secured but also possibly shared.

While a set of books in 11I  is defined by 3Cs

  1. Chart of accounts
  2. Functional currency
  3. Accounting calendar

R12 has been added with 4th C as Accounting Method

  1. Chart of accounts
  2. Functional currency
  3. Accounting calendar
  4. Accounting Method

Accounting Setup Manager:

Accounting Setup Manager is a new feature that streamlines the setup and implementation of Oracle Financial Applications and provides the following common setup components:

  • Legal Entities
  • Ledgers, primary and secondary
  • Operating Units, which are assigned to primary ledgers
  • Reporting Currencies
  • Subledger Accounting Options. Creation of Accounting Methods  sub-module level  and associating it to the ledger where the accounting is stored.
  • Intercompany Accounts and Balancing Rules
  • Accounting and Reporting Sequencing

Definition Access Set: Definition Access Sets are an optional security feature that allows to create a secure shared General Ledger definitions . Definition Access Sets allow to assign a user or group of users access to specific definitions like change in Setup , Submission of Reports and View of Reports .Few of them are listed below which are commonly used:

  • MassAllocations,
  • Recurring Journal Formulas,
  • Financial Statement Generator (FSG) components

Subledger Accounting (SLA): SLA concept is introduced in R12 , which is a Rule-based accounting engine, toolset & repository which is supporting most of Oracle business Suite modules. SLA acts as an intermediate step between subledger products and the Oracle General Ledger. Journal entries are created in Subledger Accounting and then transferred to Oracle General Ledger .  Every single subledger transaction ( like AP, AR, FA , PA) that requires accounting is represented by a complete and balanced subledger journal entry stored in a common data model.

Commonly used features of SLA in R12:

  • Journal Entry Setup and sequencing
  • Subledger Accounting Definition for each sub – module
  • Multiple Accounting Representation
  • Multi-period Accounting
  • Feature for providing Draft and online accounting
  • Replacement for disabled accounts
  • Category based Accounting
  • Accrual Reversal Accounting
  • Provides Accounted and Gain/Loss Amount calculations
  • Application Accounting Definition Loader
  • Enhanced Reporting Currency Functionality

AutoReversal Criteria Setup:  Oracle Apps R12 allows to setup the AutoReversal Criteria Sets which can be shared across ledgers to reverse journals across multiple ledgers ,  enhanced by integrated Web-based Spreadsheet Interface.

Automatic Posting: Oracle Apps R12 allows to have the common AutoPost Criteria sets across multiple ledgers that share the same chart of accounts and calendar and use the AutoPost Criteria sets to post journals across multiple ledgers simultaneously.

Creation of  foreign currency recurring journals:  11i provides the support for creating / defining the recurring journals in the functional currency or STAT Currency where as in Oracle Apps R12 , user can create recurring journals using foreign currencies.

Currency Translation of Multiple Ledgers : Oracle Apps R12  provides the flexibility to run the Translation program for multiple ledgers simultaneously

Financial Reporting for Multiple Ledgers:  Oracle Apps R12  provides the flexibility to run Financial Statement Generator (FSG) reports for multiple ledgers simultaneously which helps in managing multiple ledgers when you need to  run a balance sheet or income statement report for all of your ledgers at the same time

Cross-Ledger and Foreign Currency Allocations : Oracle Apps R12 allows  to allocate financial data from one or more ledgers to a different target ledger and enables to perform cross-ledger allocations, which is useful for purposes such as allocating corporate or regional expenses to local subsidiaries when each entity has its own ledger


Oracle EBS R12 Journal Import Validation Process

The Oracle Apps Journal Import validates the accounting data received from other systems in the GL_INTERFACE Table. The list of  journal error lines will be published in the Journal Import Execution Report.

Batch Level Validation:

Journal Import validates the below attributes so that the  batch name available for processing should not already exist for the same Ledger Id  Period in the Oracle Apps  General Ledger application for the particular Period

  • Ledger Id
  • Period Name
  • Batch Name

Journal Level Validation:

Journal Import validates the below attributes so that the journals available for processing should have the required accounting data

  • Ledger Id
  • Period Name
  • Journal Source Name
  • Journal Category Name
  • Currency Code
  • Encumbrance type ID
  • Actual Flag
  • User Conversion Type
  • Budget Version Id
  • Accounting Date

Journal Entry Line Level Validation:

Journal Import validates the below attributes so that the journals available for processing should have the required accounting data

Account Validation ( Code Combination) : 

Code Combinations will be considered valid and journal import will be processed successfully if the below validations exists:

  • If detail posting to segment combinations are allowed
  • If code combinations are enabled for the specified accounting date
  • If  code combinations does not include summary accounts

Effective Date Validation: 

Journal Import validates if the Accounting Date is a valid business day and thus General Ledger considers it as the transaction’s effective date.  Below are the Effective Date Rule defined in oracle apps for General Ledger Accounting Date:

  • Fail:   Journal Import will Reject the transactions
  • Leave Alone: Journal Import will consider transactions regardless of the Accounting Date
  • Roll Date:  Journal Import will roll the Accounting Date  to the nearest valid business day

Descriptive Flexfield Validation:

Journal Import validates the descriptive flexfield segments depending on the particular descriptive flexfield.

  • Journals – Journal Entry Line Descriptive Flexfield
    • The descriptive flexfield global segments have valid values
  • Journals – Captured Information Descriptive Flexfield
    • The descriptive flexfield context dependent segments , descriptive flexfield context  and descriptive flexfield context dependent segments  have valid values
  • Value Added Tax Descriptive Flexfield
    • The descriptive flexfield context is set to Yes or No and descriptive flexfield context dependent segments have valid values

USSGL Transaction Code:

In case of  Public  Sector General Ledger, Journal Import validates the USSGL Transaction Code


Oracle EBS R12 General ledger interface tables

The Oracle apps General Ledger Interface Table – GL_INTERFACE is the entry point for all journals accounting data which have been imported from other systems. The Journal Import Program validates the accounting data received in the GL_INTERFACE Table and imports the available data into Journal entries in the Oracle Apps GL Application.

The Journal Import Program uses the GL_INTERFACE Table Column data to store the accounting data into the Journal defined categories.

Below given are few of the main columns for which Journal Import uses during processing

Column Name  Column Description
STATUSValue could be ‘P’ – Posted , ‘U’ – Unposted or ERROR Number when returns Error while processing
LEDGER_IDLedger ID FROM gl_ledgers
USER_JE_SOURCE_NAMEProvide the Source for which Journal have been received ( Few Sources could be – REMEASUREMENT, Receivables, Global Intercompany, Cost Management, TRANSLATION, Spreadsheet, Payables, Global Intercompany RVRSE )
USER_JE_CATEGORY_NAMEProvide the Category  for which Journal have been received  ( Few categories could be – Travel , Inventory, Purchase Invoices, Reverse, AX Receivables, Payroll, Receiving, REMEASUREMENT, Statisticals, Sales Invoices )
ACCOUNTING_DATEDate when journal entries have been accounted in Oracle Apps GL Application
CURRENCY_CODEJournal Currency
ACCOUNTED_DRAccounted Debit Amount for journal
ACCOUNTED_CRAccounted Credit Amount for journal
JE_BATCH_IDJournal Batch ID
GROUP_IDJournal Group ID
     Interface Table Column Name      Null?           Date Type
STATUSNOT NULLVARCHAR2 (50)
LEDGER_IDNOT NULLNUMBER (15)
USER_JE_SOURCE_NAMENOT NULLVARCHAR2 (25)
USER_JE_CATEGORY_NAMENOT NULLVARCHAR2 (25)
ACCOUNTING_DATENOT NULLDATE
CURRENCY_CODENOT NULLVARCHAR2 (15)
DATE_CREATEDNOT NULLDATE
CREATED_BYNOT NULLNUMBER (15)
ACTUAL_FLAGNOT NULLVARCHAR2 (1)
ENCUMBRANCE_TYPE_ID NUMBER
BUDGET_VERSION_ID NUMBER
CURRENCY_ CONVERSION_DATE DATE
USER_CURRENCY_ CONVERSION_TYPE VARCHAR2 (30)
CURRENCY_ CONVERSION_RATE NUMBER
SEGMENT1 through SEGMENT30 VARCHAR (25)
ENTERED_DR NUMBER
ENTERED_CR NUMBER
ACCOUNTED_DR NUMBER
ACCOUNTED_CR NUMBER
TRANSACTION_DATE DATE
REFERENCE1 VARCHAR2 (100)
REFERENCE2 VARCHAR2 (240)
REFERENCE3 VARCHAR2 (100)
REFERENCE4 

VARCHAR2 (100)

 

REFERENCE5 VARCHAR2 (240)
REFERENCE6 through REFERENCE9 VARCHAR2 (100)
REFERENCE10 VARCHAR2 (240)
REFERENCE11 through REFERENCE20 VARCHAR2 (100)
REFERENCE21 through REFERENCE30 VARCHAR2 (240)
GROUP_ID NUMBER (15)
JE_BATCH_ID NUMBER (15)
PERIOD_NAME VARCHAR2 (15)
JE_HEADER_ID NUMBER (15)
JE_LINE_NUM NUMBER (15)
CHART_OF_ACCOUNTS_ID NUMBER (15)
FUNCTIONAL_ CURRENCY_CODE VARCHAR2 (15)
CODE_COMBINATION_ID NUMBER (15)
DATE_CREATED_IN_GL DATE
WARNING_CODE VARCHAR2 (4)
STATUS_DESCRIPTION VARCHAR2 (240)
DESCR_FLEX_ERROR_ MESSAGE VARCHAR2 (240)
STAT_AMOUNT NUMBER
REQUEST_ID NUMBER (15)
SUBLEDGER_DOC_ SEQUENCE_ID NUMBER
SUBLEDGER_DOC_ SEQUENCE_VALUE NUMBER
USSGL_TRANSACTION_CODE VARCHAR2 (30)
ATTRIBUTE1 through ATTRIBUTE20 VARCHAR2 (150)
CONTEXT , CONTEXT2, CONTEXT3 VARCHAR2 (150)
INVOICE_DATE DATE
INVOICE_AMOUNT NUMBER
INVOICE_IDENTIFIER VARCHAR2 (20)
TAX_CODE VARCHAR2 (15)

Oracle EBS R12 SQL to delete GL budget lines

General Ledger SELECT Query to get the details for the Budget Name and Budget Entity Name

SELECT GBI.* FROM GL_BUDGET_INTERFACE GBI
WHERE 1=1
AND GBI.LEDGER_ID = <PROVIDE_LEDGER_ID>
AND GBI.BUDGET_NAME= '<PROVIDE_BUDGET_NAME>'
AND GBI.BUDGET_ENTITY_NAME= '<PROVIDE_BUDGET_ENTITY_NAME>'
AND GBI.FISCAL_YEAR = '<PROVIDE_FISCAL_YEAR>' --2016

Get the count for the Budget lines from the Budget Interface Table that need to be deleted

SELECT count(1) FROM GL_BUDGET_INTERFACE GBI
WHERE 1=1
AND GBI.LEDGER_ID = <PROVIDE_LEDGER_ID>
AND GBI.BUDGET_NAME= '<PROVIDE_BUDGET_NAME>'
AND GBI.BUDGET_ENTITY_NAME= '<PROVIDE_BUDGET_ENTITY_NAME>'
AND GBI.FISCAL_YEAR = '<PROVIDE_FISCAL_YEAR>'

General Ledger DELETE Query to remove /delete  the budget lines  for the provided Budget Name and Budget Entity Name

DELETE FROM GL_BUDGET_INTERFACE
WHERE 1=1
AND GBI.LEDGER_ID = <PROVIDE_LEDGER_ID>
AND GBI.BUDGET_NAME= '<PROVIDE_BUDGET_NAME>'
AND GBI.BUDGET_ENTITY_NAME= '<PROVIDE_BUDGET_ENTITY_NAME>'
AND GBI.FISCAL_YEAR = '<PROVIDE_FISCAL_YEAR>'

Oracle EBS R12 SQL to get Journal Batch workflow Item details

General Ledger SQL Query  to get Journal Batch workflow Item and process activities:

SELECT WF_PROCESS.PROCESS_NAME,
WF_IT_ACT_STATUS.*
FROM WF_ITEM_ACTIVITY_STATUSES WF_IT_ACT_STATUS,
WF_PROCESS_ACTIVITIES WF_PROCESS
WHERE 1=1
AND ITEM_KEY LIKE '%<PROVIDE_JE_BATCH_ID>%'
AND WF_IT_ACT_STATUS.ITEM_TYPE = 'GLBATCH'
AND WF_PROCESS.INSTANCE_ID = WF_IT_ACT_STATUS.PROCESS_ACTIVITY
ORDER BY BEGIN_DATE, END_DATE

Oracle EBS R12 SQL to get user supervisor authorized limit

SQL Query in Oracle apps R12 to get user supervisor details with user authorized limit

SELECT
FU.USER_NAME                                      " USER ID" ,
PER_PEOPLE.FULL_NAME                              " USER FULL NAME",
PER_ASSIGN.D_SUPERVISOR_ID                        " SUPERVISOR USER ID" ,
GL_AUTH_LIMIT1.AUTHORIZATION_LIMIT                " USER AUTH LIMIT" ,
GL_AUTH_LIMIT2.AUTHORIZATION_LIMIT                " SUPERVISOR AUTH LIMIT"
FROM
FND_USER FU,
PER_ALL_PEOPLE_F PER_PEOPLE,
PER_ASSIGNMENTS_V7 PER_ASSIGN,
GL_AUTHORIZATION_LIMITS_V GL_AUTH_LIMIT1,
GL_AUTHORIZATION_LIMITS_V GL_AUTH_LIMIT2
WHERE 1=1
AND FU.EMPLOYEE_ID=PER_PEOPLE.PERSON_ID
AND PER_PEOPLE.PERSON_ID=PER_ASSIGN.PERSON_ID(+)
AND FU.EMPLOYEE_ID= GL_AUTH_LIMIT1.EMPLOYEE_ID(+)
AND PER_ASSIGN.SUPERVISOR_ID= GL_AUTH_LIMIT2.EMPLOYEE_ID(+)
AND FU.USER_NAME IN (<PROVIDE_USER_NAME>)

Oracle EBS R12 GL Journal Header attributes SQL

Query to get the Journal Header Level Attributes for the Journal Batches

  • Journal Posted Date is NOT NULL
  • Period Name let you fetch records for a particular Period
  • Source Name provides from which Source it is being received
  • Category Name provides for which category Journal is being received
SELECT GJH.JE_BATCH_ID
, GJB.NAME " JOURNAL BATCH NAME"
, GJH.NAME " JOURNAL NAME"
, SOB.SHORT_NAME ||'-'||GL.NAME " LEDGER NAME"
, GJH.PERIOD_NAME " PERIOD NAME"
, GJH.STATUS " JOURNAL STATUS"
, GLS.USER_JE_SOURCE_NAME " JOURNAL SOURCE"
, GLC.USER_JE_CATEGORY_NAME " JOURNAL CATEGORY"
, GJH.CURRENCY_CODE " CURRENCY"
, GJH.POSTED_DATE " POSTED DATE"
, GJH.CREATION_DATE " CREATION DATE"
FROM GL_LEDGERS GL ,
GL_JE_BATCHES GJB,
GL_JE_HEADERS GJH,
GL_JE_SOURCES GLS,
GL_JE_CATEGORIES GLC,
GL_SETS_OF_BOOKS SOB
WHERE 1=1
AND GL.LEDGER_ID = SOB.SET_OF_BOOKS_ID
AND GJB.JE_BATCH_ID = GJH.JE_BATCH_ID
AND GLS.JE_SOURCE_NAME = GJH.JE_SOURCE
AND GLC.JE_CATEGORY_NAME = GJH.JE_CATEGORY
AND GJH.POSTED_DATE IS NOT NULL
AND GJH.PERIOD_NAME ='MAR-16'