Submitting the concurrent program from tools menu using form personalization

Requirement

We have the transaction form open with a particular invoice number and want to print the opened invoice from the transactions screen instead of submitting the report request separately from View --> Request. In this case, we can  Use Form personalization to achieve this functionality.

 
Lets take an example of Invoice transaction form-

Switch to any custom Receivables super user responsibility
 Transactions->transactions
Open the personalization form from the Toolbar as below-
 Help-> diagnostics-> custom code-> personalize
we will first display the Menu in the actions toolbar

Then click on actions

 
 
Save the changes and go back to the personalizations form-



And click on the action




we are assigning a value to the Global variable which is a string and this will be parameter to the Concurrent program that we intend to submit.
The String is -
=select 'Transaction Number:::'||${item.TGW_HEADER.TRX_NUMBER_MIR.value}||':'||${item.TGW_HEADER.TRX_NUMBER_MIR.value}||'::::::No:No:' from dual
When we submit the form the string will pass on the value to the concurrent report as 


 
Now, we will add new action of type Built in , this will help us launch the SRS FOrm. 
SRS Form is nothing but the Submit request form which opens when we click on View--> Request--> SUbmit New Request.
THe Program name - this is the program name which we want to Run .

Step#2
we need to Add personalization on FND_FNDRSRUN form (request submission form SRS Form)
if the condition is matched i.e. the program that we are running is the same that we are launching from the Form personalization then we need to pass parameters to it.
 
Click on action and pass on the same global variable we defined in above steps


Save the personalization.

open transactions form once again and query an invoice number , then click on tools and click on the new menu print selected invoice.
After clicking the SRS form opens with the Program name and parameters pre populated. We can check if the parameters are being passed correctly.
If the parameters are not correct, then we need to re-check the SQL that we assigned to global variable and change it accordingly.

Comments