AutoInvoice Program Overview in Oracle Applications – Receivables


AutoInvoice Program Overview in Oracle Applications – Receivables

 

 
 
 

 

 

AutoInvoice is a program that can be used to import and validate transaction data from other financial systems from which one can create invoices, debit memos, credit memos, and on-account credits. It rejects transactions with invalid information to insure the integrity of the data. This fits well with in Oracle ERP or to integrate with any third party application.

Top 10 reasons for using Auto Invoice

1. Powerful Interface Tool
2. Supports Oracle & Non-Oracle Systems
3. Import Large Amount of Data
4. Calculate or Import Tax
5. Group Lines & Invoices

6. Online Error Correction

7 .Lines Validation

8. Derive GL Date

9 .Import Flex fields

10.Import or Derive Accounting Info

What is inside AutoInvoice
AutoInvoice is a program set consists of 3 main programs. Each program will have unique nature of work to do and they are called internally except Purge program whose execution is derived on the setup otherwise ready to execute stand alone.
Master (RAXMTR)
Import (RAXTRX)
Purge (RAXDEL)

1. Auto Invoice Master program RAXMTR
Selects and marks records in the interface tables to be processed based on the parameters the user entered and then calls the AutoInvoice Import program. Auto Invoice Master program has no report output.
•Gathers statistics, it means it gathers the stats on interface tables and set the stats on certain indices on interface tables
•Marks interface records for processing by marking request_id
•Submits multiple workers for Parallel Processing by creating instances for request.

2. Auto Invoice Import Program Validates the selected record and creates transaction if it passes validation. Any record that fails validation is left in the interface table with an error code. Depending on the setup, related records may be rejected as well. This program has an output file called Auto Invoice Execution report, which you can view by clicking the View Report button in the Requests window.Working of Auto invoice , Validates data, Inserts records, Deletes interface data Only when system option purge set to ‘Y’

3. Auto Invoice Purge Program Deletes records from the interface tables. If you set the Purge Interface Table system option to No in Define System Option window, Auto Invoice does not delete processed records from the interface tables after each run,and we must submit Auto Invoice Purge Program periodically to clean up the interface tables. This program only deletes transaction lines that have been successfully imported.
Deletes all rows where interface_status =‘P’
• Ra_interface_lines
• Ra_interface_distributions
• Ra_interface_salescredits

Oracle Receivable’s Auto Invoice program will be used to import and validate Invoices. A custom feeder program is required to transfer data from the Advantage extract files and populate the Auto Invoice interface tables (RA_INTERFACE_LINES_ALL and RA_INTERFACE_DISTRIBUTIONS_ALL).If there is need to run populate sales credit into RA_INTERFACE_SALESCREDITS_ALL table. When run, AutoInvoice produces the AutoInvoice Execution Report and the AutoInvoice Validation Report. Any entries which failed validation can be reviewed in Oracle Receivables’ AutoInvoice Interface Exceptions window. Depending on the error, changes may need to be made in Receivables, the feeder program or the imported records in the interface tables.

How Autoinvoice Execution works
Normally, Auto Invoice can be divided into three major phases, Pre-grouping: here the validates all of the line level data takes place, Grouping: groups lines based on the grouping rules and validates header level data, Transfer :validates information that exists in Receivables tables

What happen when AutoInvoice run?
Once the Auto invoice Program gets called, the following activity takes place is part of execution process. This can be analyzed by debug options.
Line, accounting, and sales credit information for each line populates 3 interface tables
Lines are ordered and grouped
Tax is calculated
GL date is determined
GL accounts are assigned using Auto Accounting
Tax, freight, commitments, and credit memos are linked to transaction lines
All transactions are batched
Validated lines are used to create the transaction

How Data is flowing?
Select, insert and update and delete take place on certain tables once it is logged out.

Selects
– RA_INTERFACE_LINES_ALL
– RA_INTERFACE_DISTRIBUTIONS_ALL
– RA_INTERFACE_SALESCREDITS_ALL
Updates/Insert
– RA_INTERFACE_ERRORS_ALL
– RA_CUSTOMER_TRX_ALL
– RA_CUSTOMER_TRX_LINES_ALL
– AR_PAYMENT_SCHEDULES_ALL
– AR_RECEIVABLE_APPLICATIONS_ALL

Inserts
– RA_INTERFACE_ERRORS_ALL

AutoInvoice Exception Handling
Records that fail validation are called ‘Exceptions’. Exceptions stay in Interface Tables which is RA_INTERFACE_ERRORS_ALL. Errors can be corrected in the Exception Handling window. Once corrections are made, Auto invoice must be resubmitted. Records that pass validation get transferred to Receivables tables

AutoInvoice Exception Handling Windows
-Interface Exception window displays exception messages associated with all invalid records
-Interface Lines window displays records that fail validation, provides an error message and can be used to correct the errors
-The Line Errors windows displays errors associated with a specific line, and can only be opened from Interface Lines window
-Interface Exceptions window displays Interface Id, Exception Type, Error Message and Invalid Value associated to the error
-Data cannot be edited in this window, but error can be viewed and corrected by clicking the Details button
-Error Message and Column name with invalid data are displayed in the Message column, and the invalid value that needs to be corrected is displayed in the Invalid Value column

Thanks – Shivmohan Purohit

 

 

 

 

Oracle 11i Application Developer – Technical FAQ – Part 1


Hello Friends, Some of my friends are requesting to put some good easy and relevant Questions along with Answers for Oracle Application which are used in all modules. So here i am putting some question in parts, each part having 10 Questions. plz share your feedback on difficulty level and your interest.

this is now updated and corrected after feedback from gerath.

    

Q1       In which FND table independent value set will be stored?

A 1              FND_FLEX_VALUES and FND_FLEX_VALUES_TL

 

Q2       How to schedule the concurrent programs from Back end(PLSQL) -not from SRS form.

A2            fnd.request.submit_request( Concurrent_program_name,  application_short_name,  description,  parameters)

Use FND_REQUEST.SUBMIT_REQUEST

Example: req_id := FND_REQUEST.SUBMIT_REQUEST(‘FND’, ‘FNDSCARU’);    Fnd_request.submit_request can be called from any valid EBS session (initialized by fnd_global.apps_initialize)

  

Q3       Where do concurrent request log files and output files go?

A3       The concurrent manager first looks for the environment variable $APPLCSF, If this is set, it creates a path using two other environment variables:

$APPLLOG and $APPLOUT

It places log files in $APPLCSF/$APPLLOG

Output files go in $APPLCSF/$APPLOUT

So for example, if you have this environment set:

$APPLCSF = /u01/appl/common

$APPLLOG = log

$APPLOUT = out

The concurrent manager will place log files in /u01/appl/common/log, and output files in /u01/appl/common/out

Note that $APPLCSF must be a full, absolute path, and the other two are directory names. If $APPLCSF is not set, it places the files under the product top of the application associated with the request. So for example, a PO report would go under $PO_TOP/$APPLLOG and $PO_TOP/$APPLOUT

Logfiles go to: /u01/appl/po/9.0/log

Output files to: /u01/appl/po/9.0/out

Of course, all these directories must exist and have the correct permissions.  Note that all concurrent requests produce a log file, but not necessarily an output file

 

 Q4       How do I cancel a running concurrent request?           

A4            Navigate to the Concurrent Request Summary form

Select a request

In GUI, use the Cancel buttons

The Sysadmin responsibility can cancel any running request  , If you cancel a running request be aware that the backend process continues. See this good forum discussion for details: http://forums.oracle.com/forums/thread.jspa?threadID=832725&tstart=0            

           

Q5       Why does Help->Tools->Examine ask for a password?       

A5       The profile option Utilities:Diagnostics is set to NO

This profile option controls whether users can use the Examine utility. The password should be the APPS password.       

 

Q6       How do I check if Multi-org is installed?          

A6            SELECT multi_org_flag FROM fnd_product_groups;          

  

Q7       How do I find the name of a form?    

A7       GUI: Use Help->About Oracle Applications

Scroll down to find the form name

 

Q8       How do I open a form in query-only mode?      

A8            Navigate to the Form Functions form (Application->Function)    Query the particular form and add the parameter QUERY_ONLY=YES

 go to applcation developer responsibility

navigation->Application/function.

query the function name

then goto form tab

then goto parameters field

then write the following code QUERY_YES=”YES”

save the changes and then see the forms get affected in query only mode.

 

Q9       How can I change in custom.pll? After changes how can I send on the server and what’s effect in this condition?

A9       1. FTP  the Custom.pll from $AU_TOP/resource

2. Open the Custom.pll in 11i or earlier

3. Include the following code for your Form logic :

 begin

     Form_Name varchar2(50) := name_in(‘system.current_form’);

     If Form_Name = ‘YOUR CUSTOM FORM” then

    begin   

    include your logic   

    end;

 end;

 4. Once changes over , using the following command to generate the CUSTOM.plx 

f60gen module=CUSTOM.pll userid=apps/apps@mfgdev module_type=LIBRARY

to generate the latest CUSTOM.plx and move this CUSTOM.plx to $AU_TOP/resource

  

Q10     What is ‘$flex$ and ‘$profile$, What is the use of ‘$flex$’

A10         $Flex$ is used when we need to return the Flex value contained by any AOL Vlauset or AOL object . they used within Forms, value sets.

 For Ex .  $Flex$.<Valueset name>  would return the value held by that valueset .

  $profiles$. are used to get the values of environment variables like org_id or mfg_Organization_id etc which are related to the current apps environment.

  Ex.  $profiles$.org_id would return the operating unit which is active at that time for the user

 Will be updating with more question in upcoming posts.

Shivmohan Purohit

Attitute – You can Choose


Elephants born in captivity are restrained by a chain that attaches one leg to a metal spike driven into the ground. This prevents them from roaming. They become accustomed to the fact that, as long as the chain and spike are next to them, they are unable to move.

As they grow older, their minds become programmed. When they see the spike and chain, they “believe” and accept that they will not be able to move. They become so conditioned that when their owners place a small rope and wooden peg next to them, they make no effort to step away from it, because they “believe” they are unable to.

In truth, their actual power as adults is so great that they could easily pull up a chain and spike of any size. Their programming or “belief,” however, allows this tiny rope and wooden peg to limit their movement.

We are all very much like these elephants. We allow the weaknesses, fears and rejection we experienced as children to program us into a life in which we lack power, peace, love and happiness. We become controlled by false childhood assumptions we have made about our ability, strength and self worth.

We can move away from these “pegs” of self-limitation, but we must chose to do so