Академический Документы
Профессиональный Документы
Культура Документы
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
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:
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.
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.
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
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 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
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.
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.
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.
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.
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.
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.
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
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
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.
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