Thursday, September 12, 2013

FND_REQUEST.ADD_LAYOUT for Setting Layout options for a Concurrent Request


Using FND_REQUEST.SUBMIT_REQUEST, Concurrent Request can only be submitted as a request and any layout options or print options cannot be added to the request. To be able to set the layout options for a request a separate function FND_REQUEST.ADD_LAYOUT needs to be called before calling the SUBMIT_REQUEST. This will be useful while calling a XML Publisher Report Concurrent Program is being submitted from another Program.

fnd_request.add_layout (template_appl_name   => 'Template Application',
                                             template_code        => 'Template Code',
                                             template_language    => 'en', --Use language from                   template definition
                                             template_territory   => 'US', --Use territory from template definition
                                             output_format        => 'PDF' --Use output format from template definition
                                            );

 

Thursday, September 5, 2013

REP-0300: ORACLE error occurred REP-0069: Internal error

Following is the error I got while running a report through Concurrent Program in R12.
This is a very generic error and does not give you any details on what is causing this.


Enter Password:
REP-0300: ORACLE error occurred.
REP-0069: Internal error
REP-57054: In-process job terminated:Terminated with error:
REP-300: ORACLE error occurred.



I created a report and I was using a Select * from in one of the queries of the report datamodel. When I executed the concurrent program I was getting the above listed error.
I had no clue why this is happenning. I had multiple queries in that report. I tried to debug which query is causing the error by removing one query at a time and I was able to pin down the query causing this error. Then I realized that I am using Select * from.... in this query and I am selecting individual columns in all other queries. When I replaced the * with Individual columns in this query, Error disappeared.
Hope this helps.

Saturday, January 26, 2013

Timeout Functionality on Workflow Notifications

Timeout functionality can be set on the Workflow Notifications. This will enable notifications to get Timed Out after desired time and as per the requirement if a reminder is needed, reminder notification can be sent and if reminder is not needed, notification can be escalated to the supervisors.

Below is the Approval notification properties of the Expense Report Approval Workflow

Go to Node Tab where you will see the option for Timeout. There are 3 options in here. 
Relative Time: This can be set when the Timeout period you want to set is Constant. If relative time is chosen and Timeout is set then if the Timeout needs to be changed in the future, Workflow has to be touched to set a new Timeout.

Item Attribute: This is a better option to choose when there might be a change in the Timeout period in the future. When Item Attribute is selected, we set the Timeout period from the back end code by setting the Timeout period in Minutes to the Workflow Attribute. Make sure this attribute value is set before sending the notification for approval.

Saturday, August 11, 2012

Invoice Matching 2-Way, 3-Way and 4-Way

When Invoices are matched with PO, following 3 options can be used to match the PO.

2-Way Match: In 2-Way Match PO Quantity Should Match with Invoice Quantity and PO Unit Price should match with Invoice Unit Price. All the matching should be with in the tolerance limits allowed in the Receiving Control options.

           PO Unit Price = Invoice Unit Price
           PO Quantity = Invoice Quantity
3-Way Match:  In 3-Way Match PO Quantity should match with Invoice Quantity and Receipt Quantity. Also PO Unit Price should match with Invoice Unit Price. All the matching should be with in the tolerance limits allowed in the Receiving Control options.

           PO Unit Price = Invoice Unit Price
           PO Quantity = Invoice Quantity
           Invoice Quantity = Receipt Quantity

4-Way Match: In 4-Way Match PO Quantity should match with Invoice Quantity and Receipt Quantity and also Accepted Quantity Also PO Unit Price should match with Invoice Unit Price. All the matching should be with in the tolerance limits allowed in the Receiving Control options.

           PO Unit Price = Invoice Unit Price
           PO Quantity = Invoice Quantity
           Invoice Quantity = Accepted Quantity
           Invoice Quantity = Receipt Quantity


PO Receipt Accounting entries to GL

When a PO Receipt is created in the Receiving Transactions form with destination type as Inventory, 2 entries get created in the RCV_TRANSACTIONS form. One with Transaction type as Deliver and other with Receive. Also accounting is also derived for the 'RECEIVE' transaction. You will see an entry with RECEIVING_INSPECTION and an ACCRUAL entry in the RCV_RECEIVING_SUB_LEDGER table. When "Create Accounting: Receiving" is run, these Accrual Transaction for Receipt is transferred to GL through SLA. In SLA for Receive Transactions "Receiving Inspection" account is Debited and "Accrual" Account is credited. Journal Category will be "Receiving" for these transactions

For the Deliver Transaction type the transaction is sourced to Material Transactions as "PO Receipt" Transaction Type. Accounting will be done on this transaction when "Active Cost Worker" program is run. Usually this program will be scheduled to run every few minutes to calculate cost of the transactions. When "Accounting Program" is run, these transactions from MTL_TRANSACTION_ACCOUNTS will be transferred to GL through SLA. In SLA for Deliver Transactions, "Inventory Valuation" account is Debited and "Receiving Inspection" account is Credited. Journal Category will be "Inventory" for these Deliver Transactions.