<-----Google Analytics Code Start----> <-----Google Analytics Code Close---->
Skip to content



Default screen resolution  Wide screen resolution  Increase font size  Decrease font size  Default font size  Skip to content Default color Pink color Green color Green color
Home arrow Home arrow Add Submit Button Using OA Framework Extension
This website has now moved to http://apps2fusion.com

Add Submit Button Using OA Framework Extension | Print |  E-mail
Written by Anil Passi   
Monday, 14 January 2008

The purpose of this article is twofold
1. To understand one of the limitations of OA Framework personalization, in case you wish to add new “Submit Button” to a page.
2. To explain, what exactly happens when a page in OA Framework gets Submitted

When working on OA Framework extensions, you may have a requirement to add a new Submit Button to the page. This type of extension necessitates the need to extend the controller.

Why can’t I add a Submit Button using personalization?
Simply because Oracle’s OA Framework doesn’t allow you to do so via personalization.

Not even in R12?
Indeed, not even in R12 [checked upto Rollup3]


But using personalization, I can see the option to add a button using personalization on my instance!
Using personalization, you can add normal buttons, but not Submit Buttons.

What is the difference between a normal button and a submit button?
A Submit Button posts the page to the application server. In other words, the data entered by the user into the fields/records is sent to the Application Server, where data can be validated as per business logic and DML’s can be performed [via say jdbc].
In layman’s language, when you click on Submit Button in OA Framework, following sequence of events happen

Steps executed in OA Framework when Button is clicked

Submit Button

Normal Button

Java controller class against the region is invoked



ProcesFormData in Controller is called. This method fetches/sucks the data from fields in the screens and populates the View Object Record Attributes in cache.



If View Object is based on Entity Object, then ViewObject Row cache is not updated. But instead Entity Object Row cache is updated



If Screen is based on a VO, and the VO is based on EO[s], then cache of EO is validated by execution of a method called validateEntity()



Finally, if no errors occur in previous steps, i.e. if no Unhandled exceptions were thrown, then processFormRequest is called, where button click can be trapped and you can decide between :-
a. next navigation
b. commit data
c. rollback data
d. change variables
e. miscellaneous as per requirements




Note the sentence above that is underlined.

Lets say your requirement is
User enters data into fields in OA Framework Page
     When button is clicked, the data must be validated
                If data validation succeeds, then send navigation to next page.
                If data validation fails, then do not navigate to next page [instead display error on same page]

Now, reverting back to underlined statement, if processFormData invokes validations, and if validations were to throw an unhandled exception, then processForRequest will not be called. Hence execution will never reach processFormRequest in case of validation failure. Given that we usually perform navigational actions within processFormRequest, navigation to the next page will hence be stopped.

If so, then what is the need for a plain Button?
A plain button has no interaction with the Application Server. It is simply used to invoke java script, for example opening another website etc.

How do we add a submit button programmatically?
We will cover this in the article following this one.

Comments (2)add
written by Anant Nimbalkar , January 16, 2008
As usual, gr8 stuff Anil. The kind of questions you put and the way you answer it, it makes it so damn easy to understand for any layman.
Calling XML publisher from OA framework page
written by Prasanna Khandwekar , January 21, 2008
Hello Anil,

Its a nice site. Lots of useful information for apps technical persons. We have requirement from client in which we are calling XML publisher report (Concurrent program using RDF report as data source). The request is getting called from OA framework. Even the XML tags are getting generated , but the PDF output is not getting generated. Kindly suggest what may be the issue. The report is working from thick client(Applet).Both reports and OA framework page are customizations.Please let me know if more information is required.



You must be logged in to a comment. Please register if you do not have an account yet.