Вы находитесь на странице: 1из 23

Understanding and Troubleshooting Revenue Recognition in Oracle Receivables [ID 1121944.

1]
Modified: Dec 18, 2012 Type: TROUBLESHOOTING Status: PUBLISHED Priority: 3

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 to 12 [Release 11.5.10 to 12.0] Information 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 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. Note: The complete set of distributions necessary to post to the General Ledger will not exist until Revenue Recognition has completed processing this invoice.

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

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: 1. 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. 2. 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 3. 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:

The Revenue Recognition process is handled by the following: Filename Description

ARPLARLB.pls PL/SQL package body and specification that defines ARPLARLS.pls 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 Please review the table in Note 1116934.1, ACCOUNTING_RULE_ID Underlying table information for Invoicing and ACCOUNTING_RULE_DURATION Accounting Rules. f AUTORULE_DURATION_PROCESSED AUTORULE_COMPLETE_FLAG RULE_START_DATE RULE_END_DATE

Table Name: RA_CUST_TRX_LINE_GL_DIST Description: GL Distributions table, containing information to pass GL entries to General Ledger Field Name GL_DATE ACCOUNT_CLASS Field Description The General Ledger Date that will be used when this distribution is posted to the General Ledger 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 Contains the distribution amount Contains the percentage this distribution accounts for.

AMOUNT PERCENT

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 GL_DATE AMOUNT ACCOUNT_CLASS PERIOD_SET_NAME

Field Description The General Ledger Date to be used by the distribution Distribution Amount Account Class - same values as above 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


1. Create an Invoice that does not use an Invoicing Rule 2. 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.

3. Save and Complete the Invoice

Using the following select statement, review information in RA_CUSTOMER_TRX_LINES_ALL:


s e l e c tc u s t o m e r _ t r x _ i dt r x _ i d ,c u s t o m e r _ t r x _ l i n e _ i dl i n e _ i d , a c c o u n t i n g _ r u l e _ i dr u l e _ i d ,a c c o u n t i n g _ r u l e _ d u r a t i o nd u r a t i o n , a u t o r u l e _ d u r a t i o n _ p r o c e s s e dp r o c e s s e d ,a u t o r u l e _ c o m p l e t e _ f l a gc o m p l e t e , r u l e _ s t a r t _ d a t es t a r t _ d t ,r u l e _ e n d _ d a t ee n d _ d t f r o m R A _ C U S T O M E R _ T R X _ L I N E S _ A L L w h e r e c u s t o m e r _ t r x _ i d=5 2 6 6 4 6 ;

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.

1. Create an Invoice that uses Invoicing Rule = In Advance.

2. Create 2 lines: Line 1: uses rule = Month, 1 year (spans 12 periods), Line 2: uses rule = Immediate (spans 1 period)

3. Save and Complete the invoice. Using the following select statement, review information in RA_CUSTOMER_TRX_LINES_ALL:
s e l e c tc u s t o m e r _ t r x _ i dt r x _ i d ,c u s t o m e r _ t r x _ l i n e _ i dl i n e _ i d , a c c o u n t i n g _ r u l e _ i dr u l e _ i d ,a c c o u n t i n g _ r u l e _ d u r a t i o nd u r a t i o n , a u t o r u l e _ d u r a t i o n _ p r o c e s s e dp r o c e s s e d ,a u t o r u l e _ c o m p l e t e _ f l a gc o m p l e t e , r u l e _ s t a r t _ d a t es t a r t _ d t ,r u l e _ e n d _ d a t ee n d _ d t f r o m R A _ C U S T O M E R _ T R X _ L I N E S _ A L L w h e r e c u s t o m e r _ t r x _ i d=7 7 0 4 5 1 ;

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 Periods Revenue 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: E X C E P T I O N :a r p _ a u t o _ r u l e . c r e a t e _ a s s i g n m e n t s ( ) a r . p l s q l . a r p _ a u t o _ r u l e . c r e a t e _ a s s i g n m e n t s O R A 0 6 5 0 2 :P L / S Q L :n u m e r i co rv a l u ee r r o r :c h a r a c t e rs t r i n gb u f f e rt o os m a l l a r . p l s q l . a r p _ a u t o _ r u l e . c r e a t e _ a s s i g n m e n t s O R A 0 6 5 1 2 :a t" A P P S . A R P _ A U T O _ R U L E " ,l i n e4 7 9 R E P 1 4 0 1 :' c _ p p _ a u t o _ r u l e f o r m u l a ' :F a t a lP L / S Q Le r r o ro c c u r r e d . f E X C E P T I O N :a r p _ a u t o _ r u l e . c r e a t e _ a s s i g n m e n t s ( ) O R A 0 6 5 0 3 :P L / S Q L :F u n c t i o nr e t u r n e dw i t h o u tv a l u e O R A 0 6 5 1 2 :a t" A P P S . A R P _ A U T O _ R U L E " ,l i n e5 3 7 a r p _ a u t o _ r u l e . c r e a t e _ a s s i g n m e n t s ( ) -0 2 N O V 0 60 3 : 2 2 : 4 1 D i s t r i b u t i o n sc r e a t e d=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.
s e l e c tc l o s i n g _ s t a t u s , p e r i o d _ y e a r , p e r i o d _ n a m e , s e t _ o f _ b o o k s _ i d , l a s t _ u p d a t e _ d a t e , l a s t _ u p d a t e d _ b y , s t a r t _ d a t e ,e n d _ d a t e f r o m G L _ P E R I O D _ S T A T U S E S w h e r e a p p l i c a t i o n _ i d=2 2 2 o r d e rb ys e t _ o f _ b o o k s _ i d , p e r i o d _ y e a r , p e r i o d _ n u m , p e r i o d _ n a m e ;

o r d e rb ys e t _ o f _ b o o k s _ i d , p e r i o d _ y e a r , p e r i o d _ n u m , p e r i o d _ n a m e ;

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 up the Calendar associated to your ledger and ensure you have defined all the periods that may be used by your accounting rules.

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 Recognition value not changed by RevRec value not changed by RevRec Null N Value AFTER being processed by Revenue Recognition

ACCOUNTING_RULE_ID ACCOUNTING_RULE_DURATION

For invoices with rules, this should not be null Number of periods to schedule revenue in, for invoices with rules this should not be null

value not changed by Revenue Recognition value not changed by Revenue Recognition should match the value in ACCOUNTING_RULE_DURATION null

AUTORULE_DURATION_PROCESSED This field is initally set to Null. Revenue Recognition collects all transactions where this is null for processing. AUTORULE_COMPLETE_FLAG This field is initially set to N. Revenue Recognition collects all transactions where this is N for processing.

In RA_CUST_TRX_LINE_GL_DIST_ALL: Field Name and value ACCOUNT_CLASS = REC ACCOUNT_SET_FLAG = Y LATEST_REC_FLAG = Y ACCOUNT_CLASS = REC ACCOUNT_SET_FLAG = N LATEST_REC_FLAG = Y ACCOUNT_CLASS = UNEARN (or UNBILL) ACCOUNT_SET_FLAG = N REC_OFFSET_FLAG = null and ACCOUNT_CLASS = REV ACCOUNT_SET_FLAG = N REC_OFFSET_FLAG = null ACCOUNT_CLASS = UNEARN (or UNBILL) ACCOUNT_SET_FLAG = N REC_OFFSET_FLAG = Y What does it mean If this is the only REC row for your transaction, then Revenue Recognition has not processed this transaction yet.

If this distribution exists, it indicates that Revenue Recognition has processed this transaction.

If 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.

These 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.

REC_OFFSET_FLAG = Y 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: A P P F N D 0 0 5 0 0:A F P P R Nr e c e i v e dar e t u r nc o d eo ff a i l u r ef r o m r o u t i n eF D U P R N . Options to fix this are: 1. 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 2. 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: m i nd a t e :,m a xd a t e : M i n / M a xg l _ d a t e sa r eN U L L ! ! .C h e c kt r x . . 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. In spite of this, aborting the process can cause data corruption. 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:

Revenue recognition fails with the following error: a r p _ a u t o _ r u l e . c r e a t e _ o t h e r _ p l u g ( ) -0 9 J U L 0 30 9 : 0 3 : 0 1 0 9 : 0 3 : 0 1: R o w sw e r ei n s e r t e di n t og ld i s t 0 9 : 0 3 : 0 1: E X C E P T I O N :a r p _ a u t o _ r u l e . c r e a t e _ o t h e r _ p l u g ( ) 0 9 : 0 3 : 0 1: O R A 2 2 1 6 0 :e l e m e n ta ti n d e x[ 1 0 0 0 ]d o e sn o te x i s t 0 9 : 0 3 : 0 1: a r p _ a u t o _ r u l e . c r e a t e _ o t h e r _ p l u g ( ) -0 9 J U L 0 30 9 : 0 3 : 0 1 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: O R A 1 4 2 2e x a c tf e t c hr e t u r n sm o r et h a nr e q u e s tn u m b e ro fr o w s O R A 0 6 5 1 2 :a t" A P P S . A R P _ B A L _ U T I L " 'l i n e1 5 7 0 A ni n t e r n a le r r o rh a so c c u r r e di nt h ep r o g r a mX L A _ 0 0 2 2 2 _ A A D _ S _ 0 0 0 0 0 3 _ P K G . E v e n t C l a s s _ 1 3 9 .O R A 0 1 4 0 3 :n od a t af o u n d .

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:

This will bring back 3 rows, with Short Name: 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). Depending on how you are running Revenue Recognition, pick that record and make the following changes: 1. Check the Enable Trace checkbox

2. 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. 3. 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 discuss this information further with Oracle experts and industry peers, we encourage you to review, join or start a discussion in the My Oracle Support Receivables Community. 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: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 NOTE:201241.1 - Troubleshooting AutoInvoice Date Derivation: GL Date, Invoice Date, Due Date, Ship Date, Billing Date, Rule Date NOTE:421245.1 - E-Business Suite Diagnostics References for R12

Вам также может понравиться