General Ledger - Journal Import Process
General Ledger - Journal Import Process
General Ledger - Journal Import Process
-2-
Section 1: Journal Import Overview
This process works based on the existing data in an interface table. The table is called
GL_INTERFACE.
Each subledger populates this table through one or more specific processes. Once the
information is in the interface table, the Journal Import process loads the General Ledger
tables.
The only exception to this process is the Oracle Fixed Assets module, which directly loads
the General Ledger tables.
No
Yes
A lot
-3-
Section 2: Data structures involved in the Journal Import process
G GL_INTERFACE
This table is used to import journal entry batches through Journal Import. You insert rows in
this table and then use the Run Journal Import form to create journal batches.
You must supply values for all NOT NULL columns.
G GL_INTERFACE_CONTROL
This table is used to control Journal Import execution. Whenever you start Journal Import
from the Import Journals form, a row is inserted into this table for each source and group_id
that you specified. When Journal Import completes, it deletes these rows from the table. If
you run Journal Import from outside of the Import Journals form, you must insert a row into
the GL_INTERFACE_CONTROL table first. The phase of the process is indicated through
the Status field. It can have the following values:
G GL_INTERFACE_HISTORY
This table stores the rows that are successfully imported from the GL_INTERFACE table
through the import process. The General Ledger application adds rows to this table every
time you successfully run Journal Import, with the Archive Journal Import Data option
enabled. This option is defined on the Concurrent Program Controls form. This option
increases execution time but can be used for auditing purposes.
You use this information for historical reference only. General Ledger does not use the data
stored in this table.
-4-
Not Null Columns:
STATUS CREATED_BY
SET_OF_BOOKS_ID USER_JE_CATEGORY_NAME
ACCOUNTING_DATE ACTUAL_FLAG
CURRENCY_CODE USER_JE_SOURCE_NAME
DATE_CREATED
G GL_IMPORT_REFERENCES
Depending on the Journal Source configuration, this table may be populated by the Journal
Import Process. You can specify the Journal Entry sources for which you want to maintain
your transaction’s origin by entering ‘Yes’ in the Import Journal References field of the
Journal Sources form. When Journal Import is run for a source that has ‘Yes’ set for the
Import Journal References field, this table will be populated with the necessary information
to match journal entry lines to the originating documents in the source. This functionality is
known as Account Drilldown.
-5-
Section 3: Transfer and Import Processes
In Oracle Applications, modules such as AP, AR, PO, INV and WIP have concurrent
processes that take the information from database structures in which the business activity is
stored and inserts it into the GL_INTERFACE table.
If the information comes from an external module, the GL_INTERFACE table must be
populated through a means such as SQL*Loader, Pro*C, a PL/SQL procedure or
Applications Desktop Integrator (ADI).
Account Combination
An account combination can be stored in two ways:
a. Entering a value for field CODE_COMBINATION_ID.
b. Entering a value for each segment of the accounting flexfield in use. The fields are
SEGMENT1, SEGMENT2, … SEGMENTn according to the definition of the structure.
If the account combination is stored in both ways, the Journal Import process will take the
value stored in the SEGMENTn columns.
Group ID
This field is used by the sending process to group the transactions.
When the information comes from Oracle Applications subledgers, the value for this field is
assigned automatically and is defined by the sequence GL_INTERFACE_CONTROL_S. The
Journal Import process selects records based on SOURCE and optionally GROUP_ID.
-6-
Journal Type
Budget, encumbrance or actual journals can be entered into GL_INTERFACE. The type of
journal that is being created is stored in the field ACTUAL_FLAG. The possible values are:
A Actual
E Encumbrance
B Budget
Currency Conversion
Journals entered in a currency other than the functional currency can be stored in two ways:
a. Enter the amount, conversion type and conversion date in the fields ENTERED_CR
or ENTERED_DR, USER_CURRENCY_CONVERSION_TYPE and
CURRENCY_CONVERSION_DATE respectively. If you enter a rate type of User,
then you must also enter a conversion rate in the CURRENCY_CONVERSION_RATE
column. For all other conversion types you must enter a conversion date in the
CURRENCY_CONVERSION_DATE column. In this case, the Journal Import process
automatically calculates the amount in the functional currency.
b. Populate fields ENTERED_CR or ENTERED_DR and ACCOUNTED_CR or
ACCOUNTED_DR without specifying a conversion type and date. The Accounted
amount must be your converted debit or credit amount.
Journal Source
This value is stored in field USER_JE_SOURCE_NAME and corresponds to the name of the
journal source. Examples: Receivables, Payables, Inventory, etc.
Reference Fields
The reference fields are optional, but if they are defined, they are interpreted in the following
way:
-7-
Journal Import - Request ID
REFERENCE6 Reference or journal number. If it is not defined, it is
automatically defined as Journal Import Created.
REFERENCE7 Reverse Journal Flag
REFERENCE8 Reverse Journal Period
REFERENCE10 Journal line description
REFERENCE21 .. 30 The values and meanings for these fields depend on the
Journal Source. They store information used to identify and
match the journal with the source document. The values for
these fields map to REFERENCE_1 through
REFERENCE_10 in the GL_JE_LINES table and the
GL_IMPORT_REFERENCES table.
B. Journal Import
Journal import is a complex tool, which performs a lot of validation on thousands of records
at a time. Journal import loads data from the subledgers into the GL_INTERFACE table and
then into GL_JE_BATCHES, GL_JE_HEADERS and GL_JE_LINES tables.
The Concurrent Program Controls form can be used to improve the performance of the
Journal Import, MassAllocation/MassBudgeting, and Open Period programs. The
performance of Journal Import can be improved by increasing the number of journal lines it
holds in memory.
-8-
§ Submit Journal Import Run
Once the data is in the GL_INTERFACE table, you can manually submit the import process
from the Import Journals form.
Source: Select the Source from which you want Journal Import to create journal entries, such
as Receivables, Payables, etc..
Group ID: If there is a value in the GROUP_ID field in the GL_INTERFACE table, either
intentionally populated by the user, or by the subledger creating these transactions, then to
import these transactions into General Ledger, the user must specify the Group ID on the
Import Journals form.
A list of values option is provided on the Group ID field on the Import Journals form, which
allows the users to pick a valid value. General Ledger will then import data with the journal
source and Group ID combination you specify.
If you do not specify a Group ID, General Ledger imports data from the specified journal
entry source with no corresponding Group ID (null Group ID).
-9-
You can choose your run options as well as whether to import descriptive flexfields at this
time.
This concurrent process generates a request log file and also an execution report.
The request log file shows valuable information for troubleshooting purposes, such as:
• Set of books ID
• Set of books name
• Chart of accounts ID
• Number of segments in the accounting flexfield and a description of each segment
• Functional currency
• Whether suspense accounting is enabled
The Journal Import Execution Report summarizes the results of the import and points out the
lines that have errors. It also contains a description of all the possible error codes.
If the Journal Import run results in error, no records with the selected Source and Group_id
will be imported. All of those rows will remain in the GL_INTERFACE table.
You can use the Correct Journal Import Data form to correct the errors.
§ The first screen gives you the option to find the journals with certain errors.
Query on the errors you find in the Journal Import Execution Report to correct the data. You
can only query journal import lines that have a status of Error or Corrected.
- 10 -
§ This screen shows the actual journal with the errors.
Once corrected you can then click on the Import Journals button to rerun Journal Import.
- 11 -
§ This screen shows the different types of information in the journal you can choose from:
Depending on what the error is, select the part of the journal you need to go to in order to
make your corrections.
- 12 -
D. Journal Import Delete
Use this form ONLY if the data can be repopulated into the GL_INTERFACE table, such as
from a spreadsheet or from an external source.
WARNING!!! After you click on the [Delete] button, you can not get the data back (if from
a spreadsheet or another system (i.e. not a subledger) then it can be sent again). So be
careful when you decide to do this!
- 13 -
Section 4: Journal Import Error Codes
- 14 -
Budget Error Codes
EB01 A budget version is required for budget lines.
EB02 Journals cannot be created for a frozen budget.
EB03 The budget year is not open.
EB04 This budget does not exist for this set of books.
EB05 The encumbrance_type_id column must be null for budget journals.
EB06 A period name is required for budget journals.
EB07 This period name is not valid. Check calendar for valid periods.
EB08 Average journals cannot be created for budgets.
- 15 -
Miscellaneous Error Codes
EM01 Invalid journal entry category.
EM02 There are no journal entry categories defined.
EM03 Invalid set of books id.
EM04 The value in the actual_flag must be "A" (actuals), "B" (budgets), or "E"
(encumbrances).
EM05 The encumbrance_type_id column must be null for actual journals.
EM06 The budget_version_id column must be null for actual journals.
EM07 A statistical amount belongs in the entered_dr(cr) column when entering a STAT
currency journal line.
EM09 There is no Transaction Code defined.
EM10 Invalid Transaction Code.
EM12 An Oracle error occurred when generating sequential numbering.
EM13 The assigned sequence is inactive.
EM14 There is a sequential numbering setup error resulting from a missing grant or
synonym.
EM17 Sequential numbering is always used and there is no assignment for this set of
books and journal entry category.
EM18 Manual document sequences cannot be used with Journal Import.
EM19 Value Added Tax data is only valid in conjunction with actual journals.
EM21 Budgetary Control must be enabled to import this batch.
EM22 A conversion rate must be defined for this accounting date, your default
conversion rate type, and your dual currency.
EM23 There is no value entered for the Dual Currency Default Rate Type profile
option.
EM24 Average journals can only be imported into consolidation sets of books.
EM25 Invalid average journal flag. Valid values are "Y", "N", and null.
- 16 -
Section 5: Troubleshooting Scripts
q_ji1.sql :
- 17 -
Total the debit and credit amounts within a Group_ID:
q_ji2.sql :
USER_JE_CATEGORY_NAME: Payments
USER_JE_SOURCE_NAME: Payables
- 18 -
USER_JE_CATEGORY_NAME: Purchase Invoices
USER_JE_SOURCE_NAME: Payables
The following query groups journal lines for a particular group_id coming from Oracle
Payables by Category and Internal Invoice Id, and sums the debit and credit amounts:
q_ji3.sql :
set linesize 120
col s_en_cr format S999,999,999.99
col s_en_dr format S999,999,999.99
col s_acc_cr format S999,999,999.99
col s_acc_dr format S999,999,999.99
col reference22 format a15
spool q_ji4
Select USER_JE_CATEGORY_NAME category
, reference22 invoice_id
, sum (entered_cr) s_en_cr
, sum (entered_dr) s_en_dr
, sum (accounted_cr) s_acc_cr
, sum (accounted_dr) s_acc_dr
, count(*)
from gl_interface
where user_jr_source_name = ‘Payables’ and
group_id = &group_id
group by USER_JE_CATEGORY_NAME, reference22
;
spool off
In Oracle Account Receivables it is possible to identify the source documents through the
following columns:
Query q_ji3.sql can be modified to be used with the reference fields for AR.
- 19 -
Known Issues
- 20 -