|
![]() |
![]() |

In this Document
|
Purpose |
|
Troubleshooting Steps |
1. Overview of Revenue Recognition |
2. Using Revenue Recognition |
a. Standalone process in batch mode. |
b. Online in Transactions form |
c. Implicitly via the transfer to General Ledger |
3. Underlying table information and code supporting Revenue Recognition |
4. Illustration of impact of running Revenue Recognition |
a. Illustration of an Invoice without rules |
b. Illustration of an Invoice with rules |
5. Troubleshooting Revenue Recognition |
a. Check that the period associated to the Accounting Rule you are using is the same period associated to your Ledger. |
b. Validate GL periods |
c. Validate the status of fields impacted by Revenue Recognition |
d. Printer setup |
e. Cannot specify Print Format (Detailed or Summary) when running Revenue Recognition through General Ledger Transfer or Submit Accounting |
f. Data Corruption Issues |
i) null ACCOUNTING_RULE_DURATION |
g. Aborting Revenue Recognition |
h. Multi-Reporting Currency (MRC) Issues (11.5 only) |
i) arp_auto_rule.create_other_plug() error |
Please ensure your version of glcauts.pls is at least 115.11. |
ii) ORA-00001 UNIQUE CONSTRAINT (AR.RA_MC_TRX_LINE_GL_DIST_U1) VIOLATED |
i. Running Create Accounting raises error |
j. Revenue Recognition process stays in Pending/Standby status |
k. GL date or Transaction date issues |
6. How to enable debugging and tracing for Revenue Recognition |
a. Enabling trace |
b. Enabling FND debugging |
7. Code Bugs |
8. Still have Questions? |
|
References |
Applies to:
Oracle Receivables - Version 11.5.10.0 and laterInformation in this document applies to any platform.
Executable:RAXMTR - AutoInvoice Master Program
Executable:RAXTRX - AutoInvoice Import Program
Form:ARXTWMAI.FMB - Transactions
ConcurrentProgram:ARBARL_NON_SRS2 - Revenue Recognition Execution Report
ConcurrentProgram:ARBARL_NON_SRS - Revenue Recognition from GL Transfer Program
Purpose
Oracle Receivables (AR): AutoInvoice Information Center > Troubleshooting AutoInvoice for Oracle Receivables Release 11.5 Through 12 > Note 1121944.1
Oracle Receivables (AR): Transactions Workbench Information Center > Note 1121944.1
Oracle Receivables provides the flexibility of defining a schedule of
how you want the revenue for your invoices to be recognized, this is
controlled by specifying Invoicing and Accounting rules to indicate to
the Revenue Recognition program the desired schedule of recognizing
revenue.
This note was created to provide troubleshooting tips
for issues involving Revenue Recognition. It is suggested that you also
review Note 1116934.1, How To Setup And Troubleshoot Invoicing Rules and Accounting Rules, because these topics are tightly integrated.
Troubleshooting Steps
1. Overview of Revenue Recognition
When you sell a product to a customer, you send him an invoice to request for payment. In the invoice, you provide a description for the product or service rendered, the amount due and the due date in which you expect to be paid. The accounting for this invoice will impact GL accounts associated to Receivables and Revenue (plus Tax and Freight if applicable).
You may have business or legal requirements that dictate how you can
account for the revenue associated to the invoice. Perhaps you recognize
the revenue in full once the invoice is paid, or for invoices
associated with a service spread out over multiple months, you may need
to recognize the revenue only when the service has been provided. The
manner in which you control when revenue is recognized is handled by
Invoicing and Accounting Rules. For more information on rules, please
review Note 1116934.1, Setup and Troubleshooting Invoicing Rules and Accounting Rules.
Scheduling
when Revenue is accounted for, is all handled by the Revenue
Recognition feature. Revenue Recognition is an engine that will create
GL distributions for your invoices reflecting the revenue schedule you
defined.
Revenue Recognition is run as a batch process either as
a stand-alone or automatically when you invoke transfer of accounting
to the General Ledger. The process will pick up all invoices with rules
that have not yet been processed. For each of these invoices, it will
review the Invoicing and Accounting rules associated and create the
necessary GL distributions. The GL distributions it creates is how
invoices in Receivables get posted to the General Ledger.
2. Using Revenue Recognition
Once you associate an Invoicing rule to an invoice, you are tagging it for processing by Revenue Recognition. The Invoicing rule provided tells Revenue Recognition how you want it to create the distributions for the Receivable account.
In
the Lines of the invoice, where you provide Accounting rule, duration,
rule start date information, you are telling Revenue Recognition how you
want it to create the distributions for the Revenue account.
After
you finish creating and completing an invoice, records are created in
RA_CUST_TRX_LINE_GL_DIST_ALL that provide a template or model for the
Revenue Recognition engine to use.
After the invoice is completed, you will need to run Revenue
Recognition so it can create the necessary distributions. There are
multiple ways to run Revenue Recognition:
a. Standalone process in batch mode.
This standalone method provides users the ability to run Revenue Recognition at any given time.
Responsibility: Receivables Manager
Navigation: Control > Accounting > Revenue Recognition
Note: The Revenue Recognition Master Program is capable of running the process using multiple workers. This feature is useful when processing large volumes of data. Invoices pending Revenue Recognition are stored in a queue: AR_REV_REC_Q. Records from this queue are removed once they have been processed by the Master program.
b. Online in Transactions form
Available only in Release 12, in the Transactions form, you can invoke the creation of accounting for a specific invoice.
Responsibility: Receivables Manager
Navigation: Transactions > Transactions
After completing an invoice, or after querying a completed invoice, access from the
Toolbar: Menu > Create Accounting
If you pick the first or second option, Revenue Recognition will be implicitly invoked, because the GL distributions for the invoice need to be generated by Revenue Recognition before it can post to General Ledger.
![]()
c. Implicitly via the transfer to General Ledger
Since Revenue Recognition creates the GL distributions necessary for posting, the process that transfers to the General Ledger will invoke Revenue Recognition to ensure that all necessary distributions exist before attempting to post. This process has changed between Release 11.5 and 12.
In Release 11.5:
Responsibility: Receivables Manager
Navigation: Interfaces > General Ledger
In Release 12.0:
Responsibility: Receivables Manager
Navigation: Control > Requests > Run
Run the request for: Submit Accounting, and provide the parameters requested
![]()
Note:
- Another concurrent process called Create Accounting, also handles creation of Sub-ledger accounting. However this process will not call Revenue Recognition. If you use this process, there is a likelihood that you will not post everything from Receivables if there are invoices still pending to be processed by Revenue Recognition.
You are advised to use Submit Accounting which was created specifically for Oracle Receivables. This process calls: Revenue Recognition prior to calling Create Accounting. This ensures the necessary GL distributions are created by Revenue Recognition.- In Release 11.5, when running the General Ledger Transfer process
- there is no way to disable the call to Revenue Recognition
- The Revenue Recognition execution report is always submitted in Detailed mode
- In Release 12.0, when running Submit Accounting
- there is no way to disable the call to Revenue Recognition
- The Revenue Recognition execution report is always submitted in Summary mode
3. Underlying table information and code supporting Revenue Recognition
The Revenue Recognition process is handled by the following:
Filename | Description |
---|---|
ARPLARLB.pls ARPLARLS.pls |
PL/SQL package body and specification that defines ARP_AUTO_RULE, which contains the main logic controlling the Revenue Recognition process. |
ARBARL.rdf | Report definition handling the Revenue Recognition Execution Report, which serves as entry point into calling the ARP_AUTO_RULE package to create distributions |
Data supporting Revenue Recognition is stored in the following
tables. The information presented in this section is not intended to
provide a comprehensive list of data model and configuration, but rather
just highlights information pertaining to Revenue Recognition.
Table Name: RA_CUSTOMER_TRX_LINES
Description: Invoice lines table that holds information pertaining to the Invoicing
and Accounting Rule to use for a particular invoice line.
Field Name | Field Description |
---|---|
INVOICING_RULE_ID ACCOUNTING_RULE_ID ACCOUNTING_RULE_DURATION AUTORULE_DURATION_PROCESSED AUTORULE_COMPLETE_FLAG RULE_START_DATE RULE_END_DATE |
Please review the table in Note 1116934.1, Underlying table information for Invoicing and Accounting Rules. f |
Table Name: RA_CUST_TRX_LINE_GL_DIST
Description: GL Distributions table, containing information to pass GL entries to General Ledger
Field Name | Field Description |
---|---|
GL_DATE | The General Ledger Date that will be used when this distribution is posted to the General Ledger |
ACCOUNT_CLASS |
Indicates the type of account, possible values are: REC - Receivables REV - Revenue TAX - Tax FREIGHT - Freight UNEARN - Unearned Revenue used for In Advance UNBILL - Unbilled Revenue used for In Arrears ROUND - Rounding |
AMOUNT | Contains the distribution amount |
PERCENT | Contains the percentage this distribution accounts for. |
LATEST_REC_FLAG | Y indicates that the REC record is the latest created REC record. There should always be just one record where this is Y. |
REC_OFFSET_FLAG | Y indicates the distribution is an offset to the Receivable account. This tag is set for UNEARN or UNBILL records only. |
Table Name: AR_REVENUE_ASSIGNMENTS
Description: Contains
the schedule of revenue to be used by Revenue Recognition. Each invoice
with rules is associated to a series of records in this table that
controls the distributions to be created for the invoice. This table
defines the minimum and maximum GL periods to be used for the
distributions of a transaction.
Field Name | Field Description |
---|---|
GL_DATE | The General Ledger Date to be used by the distribution |
AMOUNT | Distribution Amount |
ACCOUNT_CLASS | Account Class - same values as above |
PERIOD_SET_NAME | Period name associated with the GL periods defined |
4. Illustration of impact of running Revenue Recognition
To better understand the concept of Revenue Recognition let's consider a couple of examples.
a. Illustration of an Invoice without rules
- Create an Invoice that does not use an Invoicing Rule
- Create 2 lines, neither of which are associated to Accounting Rules. Note that the Rules tab is disabled because we did not specify an Invoicing Rule in the Main section of the form.
![]()
- Save and Complete the Invoice
Using the following select statement, review information in RA_CUSTOMER_TRX_LINES_ALL:
select customer_trx_id trx_id, customer_trx_line_id line_id,
accounting_rule_id rule_id, accounting_rule_duration duration,
autorule_duration_processed processed, autorule_complete_flag complete,
rule_start_date start_dt, rule_end_date end_dt
from RA_CUSTOMER_TRX_LINES_ALL
where customer_trx_id = 526646;
The value in ACCOUNTING_RULE_ID is null, indicating this invoice has no rules. Further, other Rule-related fields: ACCOUNTING_RULE_DURATION, AUTORULE_DURATION_PROCESSED and AUTORULE_COMPLETE_FLAG are also null.
Clicking on the Distributions button will show you the current state of the distributions for the invoice. The distributions are made against Receivables, Rounding and Revenue.
From the back-end, the data in RA_CUST_TRX_LINE_GL_DIST_ALL is as follows:
Row 1 shows the REC row with LATEST_REC_FLAG = Y
Rows 3-4 show the REV distributions, indicating that amounts have hit the Revenue account directly.
Since this invoice has no rules, upon completion of the invoice, the complete set of GL distributions are already created. This invoice is ready to post to the General Ledger. Revenue Recognition will not pick up this invoice for processing because it has no rules.
b. Illustration of an Invoice with rules
Take note of the differences in behavior specially in the RA_CUST_TRX_LINE_GL_DIST_ALL table.
Using the following select statement, review information in RA_CUSTOMER_TRX_LINES_ALL:
- Create an Invoice that uses Invoicing Rule = In Advance.
![]()
- Create 2 lines: Line 1: uses rule = Month, 1 year (spans 12 periods), Line 2: uses rule = Immediate (spans 1 period)
![]()
- Save and Complete the invoice.
select customer_trx_id trx_id, customer_trx_line_id line_id,
accounting_rule_id rule_id, accounting_rule_duration duration,
autorule_duration_processed processed, autorule_complete_flag complete,
rule_start_date start_dt, rule_end_date end_dt
from RA_CUSTOMER_TRX_LINES_ALL
where customer_trx_id = 770451;
The value in AUTORULE_DURATION_PROCESSED is null and AUTORULE_COMPLETE_FLAG = N, indicate that Revenue Recognition has not yet run for this invoice.
Clicking on the Distributions button will show you the current state of the distributions for the invoice. The presence of Unearned Revenue distributions indicates this invoice uses the Invoicing rule = Advanced Invoice. (If the Invoicing Rule = Arrears Invoice, we would see Unbilled Revenue instead). Note that all percentages are shown as 100%, and there is no GL Date column.
From the back-end, the data in RA_CUST_TRX_LINE_GL_DIST is as follows:
Row 1 shows the REC row with LATEST_REC_FLAG = Y, at this point this is the only REC row, it shows the full amount of the invoice.
All the other rows are called "model" rows. These distributions will be used as templates by the Revenue Recognition engine, and will be expanded to reflect the actual distributions containing GL_DATE, AMOUNT and PERCENT values across the multiple periods after the Revenue Recognition process is run.
Note:
After creating and completing an invoice in the transactions form, you will only see model rows to be used as templates to create the complete set of distributions. You will not see the complete set of distributions associated to the Accounting Rule until Revenue Recognition is run against the Invoice.
You should run Revenue Recognition prior to attempting to post this invoice.
Following shows changes in the data after running Revenue Recognition:
Responsibility: Receivables Manager
Navigation: Control > Accounting > Revenue Recognition
Run Revenue Recognition Master Program
After this process completes, the data in RA_CUSTOMER_TRX_LINES_ALL, changes:
The values in AUTORULE_DURATION_PROCESSED are no longer null, it reflects the same values as ACCOUNTING_RULE_DURATION, indicating that distributions for all durations have been processed. AUTORULE_COMPLETE_FLAG changed from N to null, this indicates that Revenue Recognition has completed processing this invoice.
data in RA_CUST_TRX_LINE_GL_DIST_ALL expands to:
![]()
Note the following changes:
Row 1, LATEST_REC_FLAG has changed to N
Row 39, is a new REC record created during the Revenue Recognition process, since it is the newest REC record, LATEST_REC_FLAG = Y.
Rows 41-42, are UNEARN rows associated with the REC row, these are indicated by REC_OFFSET_FLAG = Y. Revenue Recognition created these UNEARN rows to hold the values for revenue that cannot be recognized yet, because the invoice is billed In Advance. Note that the GL_DATE associated to these records is the GL_DATE provided in the header section of the transaction form and matches the GL_DATE of the REC row.
Rows 13-36 (in the red box) are the REV/UNEARN pairs that were created for the first invoice line.
The first line of the invoice with Accounting Rule: Month, 1 year is associated to CUSTOMER_TRX_LINE_ID = 1287667. There are 12 pairs of REV/UNEARN rows with GL_DATE values spanning 18-Sep-2012 to 18-Aug-2013. This is the revenue schedule for the first invoice line. Over each period, 8.33% of the revenue is recognized by removing it from the UNEARN account and transferring it to the REV account.
Rows 37-28 (in the blue box) are the REV/UNEARN pairs that were created for the second invoice line.
The second line of the invoice with Accounting Rule: Immediate is associated to CUSTOMER_TRX_LINE_ID = 1287668. There is only one pair of REV/UNEARN with GL_DATE = 18-Sep-2012. This is the revenue schedule for the second line. Immediately in one period, 100% of the revenue is recognized by removing it from the UNEARN account and transferring it to the REV account.
If you query back the invoice in the Transaction form and view the Distributions, it will now look like the following, note that now there is a column for GL Date and the percentage shows 8.3333 which is the portion of revenue to recognize monthly across 12 months.
5. Troubleshooting Revenue Recognition
When Revenue Recognition encounters errors while processing transactions, it will report these transactions as Unprocessed or Partially Processed. The following tips will help you determine what may be causing the failure.
a. Check that the period associated to the Accounting Rule you are using is the same period associated to your Ledger.
This is described in detail in Note 1116934.1, under the section 5.e. When choosing an Accounting rule get error
b. Validate GL periods
When checking GL periods, ensure the following:
- there are no "islands" or "sandwiched" periods
Responsibility: Receivables Manager
Navigation: Control > Accounting > Open/Close PeriodsRevenue Recognition expects to see period statuses in the following order:
Closed - Closed Pending - Open - Not Opened - Future.
Basically, periods in the past are Closed or Closed Pending, current periods are Open, and future periods are Not Opened or Future. The presence of an Open period sandwiched between Closed periods, or the presence of islands of Closed periods surrounded by Open periods causes errors in Revenue Recognition.
Examples of error raised by the presence of "islands" or "sandwiched" periods:
- EXCEPTION: arp_auto_rule.create_assignments()
ar.plsql.arp_auto_rule.create_assignments
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ar.plsql.arp_auto_rule.create_assignments- ORA-06512: at "APPS.ARP_AUTO_RULE", line 479
REP-1401: 'c_pp_auto_ruleformula': Fatal PL/SQL error occurred.f- EXCEPTION: arp_auto_rule.create_assignments()
ORA-06503: PL/SQL: Function returned without value
ORA-06512: at "APPS.ARP_AUTO_RULE", line 537
arp_auto_rule.create_assignments()- 02-NOV-06 03:22:41
Distributions created = -1
For a detailed description of various scenarios involving "island" periods, please review Note 560515.1, 11i/12 -Revenue Recognition Execution Report Completes With Warning And Shows 'Unprocessed or Partially Processed Transactions' Due to Wrong Period Status
You can use the following select to review the status of your periods and to check whether you have open statuses (O) sandwiched between closed statuses (C or W) or vice versa.
select closing_status,period_year,period_name,set_of_books_id,
last_update_date,last_updated_by,start_date, end_date
from GL_PERIOD_STATUSES
where application_id = 222
order by set_of_books_id,period_year,period_num,period_name;
- all periods to be used by your accounting rules exist
If you are using Accounting rules that span periods of time exceeding a year, ensure that you have defined the GL periods that will be used by these rules.
Responsibility: General Ledger Manager
Navigation: Setup > Financials > Calendar > Accounting
Query the Calendar associated to your ledger and ensure you have defined all the periods that may be used by your accounting rules.
- If the GL Period needed by Revenue Recognition is closed, it will bump the distributions to the next open period.
For example:
You create an Invoice that needs to spread revenue recognition across 3 months, starting in January. So the distributions should be in January, February and March.
If the January period is already closed, then the logic will bump the distributions that should have been in January into February, and will create distributions as follows:
- no distributions with GL Date in January
- 2 sets of distributions with GL date in February.
The distributions that should have been in January will have RA_CUST_TRX_LINE_GL_DIST_ALL.ORIGINAL_GL_DATE in January and GL_DATE in February.
The distributions that were truly meant for February will have both ORIGINAL_GL_DATE and GL_DATE in February.
- one set of distributions with GL Date in March.
c. Validate the status of fields impacted by Revenue Recognition
In general, following is the correct status of fields impacted by Revenue Recognition. Reviewing these fields will give you an idea of whether Revenue Recognition successfully processed the transaction.
In RA_CUSTOMER_TRX_LINES_ALL:
Field Name Expected value Value BEFORE being processed by
Revenue RecognitionValue AFTER being processed by
Revenue RecognitionACCOUNTING_RULE_ID For invoices with rules, this should not be null value not changed by RevRec value not changed by Revenue Recognition ACCOUNTING_RULE_DURATION Number of periods to schedule revenue in, for invoices with rules this should not be null value not changed by RevRec value not changed by Revenue Recognition AUTORULE_DURATION_PROCESSED This field is initally set to Null. Revenue Recognition collects all transactions where this is null for processing. Null should match the value in ACCOUNTING_RULE_DURATION AUTORULE_COMPLETE_FLAG This field is initially set to N. Revenue Recognition collects all transactions where this is N for processing. N null
In RA_CUST_TRX_LINE_GL_DIST_ALL:
Field Name and value What does it mean ACCOUNT_CLASS = REC ACCOUNT_SET_FLAG = Y
LATEST_REC_FLAG = YIf this is the only REC row for your transaction, then Revenue Recognition has not processed this transaction yet. ACCOUNT_CLASS = REC
ACCOUNT_SET_FLAG = N
LATEST_REC_FLAG = YIf this distribution exists, it indicates that Revenue Recognition has processed this transaction. ACCOUNT_CLASS = UNEARN (or UNBILL)
ACCOUNT_SET_FLAG = N
REC_OFFSET_FLAG = null
andACCOUNT_CLASS = REV
ACCOUNT_SET_FLAG = N
REC_OFFSET_FLAG = nullIf such distribution pairs exist, these were created by Revenue Recognition. For each distinct CUSTOMER_TRX_LINE_ID value, you should have at least as many pairs as ACCOUNTING_RULE_DURATION. The number of pairs could be more if you split salescredits. ACCOUNT_CLASS = UNEARN (or UNBILL)
ACCOUNT_SET_FLAG = N
REC_OFFSET_FLAG = YThese rows partner up with the REC row which has LATEST_REC_FLAG = Y, these distributions account for the TOTAL of the invoice and exist once Revenue Recognition has processed the transaction. ACCOUNT_CLASS = UNEARN (or UNBILL) If you run a sum on all UNEARN (or UNBILL) distributions for a transaction, and the sum is zero, this means that Revenue Recognition has processed the transaction.
d. Printer setup
The Revenue Recognition process is kicked off via a report, if your setup has printing enabled, and the printer is not setup correctly you may hit errors like:
APP-FND-00500 : AFPPRN received a return code of failure from
routine FDUPRN.
Options to fix this are:
- Uncheck the Print Checkbox
Responsibility: System Administrator
Navigation: Concurrent > Program > Define
Query on Short Name = ARBARL
Uncheck the Print checkbox in the Output Region to disable printing- Check correct printer driver is installed
e. Cannot specify Print Format (Detailed or Summary) when running Revenue Recognition through General Ledger Transfer or Submit Accounting
When Revenue Recognition is kicked off implicitly via the General Ledger Transfer process or Submit Accounting process, users are not provided the option to pick the Print Format. In release 11.5. it is always printed in Detail. If there was a huge volume of data processed, this can create a very long report.
To avoid this, a workaround is to manually submit the Revenue Recognition process, whereby you are allowed to specify the Print Format. By doing this, when Revenue Recognition is invoked implicitly during General Ledger Transfer or Submit Accounting time, there will be less data to process, and the report won't be too long.
An open enhancement request Bug 2825266 has been logged for this issue.
f. Data Corruption Issues
Data corruption issues are common causes of failure of Revenue Recognition, following are some common examples:
i) null ACCOUNTING_RULE_DURATION
When processing an invoice with rules, and Revenue Recognition encounters a zero or null duration, the following error is raised in the FND debug log:
min date: , max date:
Min/Max gl_dates are NULL!!. Check trx..
Cause is unknown, and the fix is to populate ACCOUNTING_RULE_DURATION with the correct value. If you need help doing this, please contact Oracle Support and provide the details listed in below in the section Logging a Service Request.
g. Aborting Revenue Recognition
Sometimes Revenue Recognition has severe performance issues causing it to run for a long time. The revenue recognition process loops through all transactions that require processing, and once it completes creating distributions for a transaction, it issues a commit to save changes to the database.
The best way to avoid having to abort Revenue Recognition due to bad performance, is to run it often so that data volume does not build up.
h. Multi-Reporting Currency (MRC) Issues (11.5 only)
i) arp_auto_rule.create_other_plug() error
Revenue recognition fails with the following error:
arp_auto_rule.create_other_plug()- 09-JUL-03 09:03:01
09:03:01 :Rows were inserted into gl dist
09:03:01 :EXCEPTION: arp_auto_rule.create_other_plug()
09:03:01 :ORA-22160: element at index [1000] does not exist
09:03:01 :
arp_auto_rule.create_other_plug()- 09-JUL-03 09:03:01
This issue happens when there are over 1000 distributions associated to the transaction, and is resolved by applying a patch.
Please ensure your version of glcauts.pls is at least 115.11.
ii) ORA-00001 UNIQUE CONSTRAINT (AR.RA_MC_TRX_LINE_GL_DIST_U1) VIOLATED
This error is raised when MRC code attempts to create records that already exist in MRC tables. This issue is addressed via a patch on ARPLARLB.pls, ensure you are at least on the following versions:
For AR.N: ARPLARLB.pls-115.65.15103.13
For AR.O: ARPLARLB.pls-115.65.15104.9
i. Running Create Accounting raises error
Errors are raised because Create Accounting is unable to find distributions to post for a transaction. This is because Revenue Recognition has not yet processed the transaction. To fix this issue, run Revenue Recognition prior to running Create Accounting, or run Submit Accounting instead. (Please see note box in 2.c. above).
Sample errors are:
- ORA-1422 exact fetch returns more than request number of rows
ORA-06512: at "APPS.ARP_BAL_UTIL"' line 1570- An internal error has occurred in the program XLA_00222_AAD_S_000003_PKG.
EventClass_139. ORA-01403: no data found.
j. Revenue Recognition process stays in Pending/Standby status
When Revenue Recognition is submitted, either manually through Submit Request or automatically via General Ledger Transfer or Submit Accounting, and it just stays in Pending/Standby status, check the following:
- Concurrent: Sequential Requests Profile, this must be set to No at the Site Level.
Responsibility: System Administrator
Navigation: Profile >System- Check whether you have made Revenue Recognition incompatible with other processes that may be running.
See instructions listed in section 6.a, then click on the Incompatibilities button and review what processes are listed as incompatible and check if any of those processes are currently running.
k. GL date or Transaction date issues
When you have issues with the GL or Transaction dates generated by Revenue Recognition, please refer to Note 201241.1, Troubleshooting AutoInvoice Date Derivation: GL Date, Invoice Date, Due Date, Ship Date, Billing Date, Rule Date which provides an explanation of how dates are derived.
6. How to enable debugging and tracing for Revenue Recognition
When you want to review additional debug messages you can enable FND debugging. To get in-depth information on what particular statement is causing Reveneu recognition to fail, you can enable trace.
a. Enabling trace
Responsibility: System Administrator
Navigation: Concurrent > Program > Define
Query on Short Name = ARBARL%
This will bring back 3 rows, with Short Name:
Depending on how you are running Revenue Recognition, pick that record and make the following changes:
- ARBARL: This is the single thread run of Revenue Recognition, this is the process invoked when you run Revenue Recognition standalone from the Submit Request form.
- ARBARL_NON_SRS2: This is the execution Report
- ARBARL_NON_SRS: This is the Revenue Recognition process implicitly invoked when you run the GL Transfer (in 11.5) or Submit Accounting (in 12.0).
- Check the Enable Trace checkbox
![]()
- In past releases enabling debug was done via the 8th parameter Debug Mode. In Release 11.5.10 and up, a better way to see debug messages from PL/SQL files is via FND debugging, see section b. below.
- Save your changes
b. Enabling FND debugging
Since the logic for Revenue Recognition is handled by PL/SQL, the debugging feature provided by FND would be useful in retrieving debug messages that could help you pinpoint source of error.
To enable FND debugging, please review Note 433199.1, How to enable and retrieve FND debug log messages.
When done correctly, a retrieval of debug messages should show something like:
![]()
7. Code Bugs
To ensure you are not encountering an issue that has already been
reported and fixed, it is highly recommended to check whether you are on
the latest versions available for your release.
Please review Note 1126456.1,
List of Patches Available for Revenue Recognition Issues for Releases
11.5.10 to 12.1, for a compilation of files and patches fixed for
reported Revenue Recognition defects.
8. Still have Questions?
To provide feedback on this note, click on the Rate this document link.
If you feel that a Service Request is needed, please be sure to provide the information listed below:
- If you are encountering the issue in AutoInvoice:
- Are you able to replicate the issue with a manual invoice created via the Transactions Workbench?
- Include the AutoInvoice Exception Report (if any).
- Include the AutoInvoice Concurrent Process log file (see Note 1079666.1).
- Enable and include the FND debug log file generated by AutoInvoice (see Note 1079666.1).
- Include output from the following Oracle Diagnostics:
- Oracle Receivables AutoInvoice Interface Data Collection Test (only if your issue manifests for transactions created in AutoInvoice) this will Support what your interface data looks like.
- Oracle Receivables Transaction Data Setup Test - this will show Support what the created transaction looks like.
For information on Oracle Diagnostics, please review the Diagnostic catalogs for your release as noted below:
- Release 11.5: see Note 179661.1, E-Business Suite Diagnostics 11i Test Catalog
- Release 12.x: see Note 421245.1, E-Business Suite Diagnostics References for R12
Once you have identified your release, locate the note for the specific diagnostic you would like to run. For example, in 12.0.6, Note 732187.1, R12.0.6+ : Oracle Receivables AutoInvoice Interface Data Collection Test.
- Include the Revenue Recognition concurrent process log file.
- Include the FND debug log generated while running the Revenue Recognition process (see section 6 above).
References
NOTE:201241.1 - Troubleshooting AutoInvoice Date Derivation: GL Date, Invoice Date, Due Date, Ship Date, Billing Date, Rule DateNOTE:421245.1 - E-Business Suite Diagnostics References for R12
NOTE:1067402.1 - AutoInvoice Setup for Release 12: A Case Study Using a Simple Script
NOTE:1075757.1 - Troubleshooting AutoInvoice for Oracle Receivables Release 11.5 Through 12
NOTE:1126456.1 - List of Patches Available for Revenue Recognition Issues for Releases 11.5.10 to 12.1
NOTE:179661.1 - E-Business Suite Diagnostics 11i Test Catalog