I added a button in a standard page by Personalization. On click of button, I need to do some validations.
As this is not a “Submit Button”, I cannot get the event in processFormRequest.
So I need to define a event by setting “Action Type” as “Fire Partial Action”.
But in Personalization structure where I added a button, this option of defining a event is not there.
So what is the procedure to fire a event through button in case of personalization?
on click of button, i need to do some validations by calling a package. to do this i extended the seeded controller.
but i have no clue how to catch the event in process form request as i cant able to create a Submit button through personalizations.
I have to admit, I never gave this a thought, but this can be a very common requirement.
As a workaround I can suggest this.
1. Create the button
2. Have the Destination URL set to a new OAF page
3. In the PR of the new page, do the validation and redirect back to the page where you created the button.
In the PR of the new page, just redirect to the page where you created the button and in PR of the page do your validation.
very crude solution I know, but cannot think of anything else.
what has to be given for ''DefaultFormName'' in the command
i have tried with the same command.i created a new project and a page and i created only 1 button inside it.
i have given a message in process form request inside if((("abc").equals(pageContext.getParameter("XXX")))).
it is giving message in log and it is giving me the following error.
oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidObjNameException: JBO-25005: Object name for type View Object is invalid.
also see the log
JRAD_PERF : /xxx/oracle/apps/xxcc/cc/webui/DownloadPG - processRequest : 235ms
You don't have to enter anything for defaultformname, just keep it as it is. This function will just submit the page with parametre XXX value as "abc".Also remember attach this function only to item of "button" type and not "submit button" type.
Mukul, of course js is a solution, I really do not prefer using js in any code that I write, so was suggesting the standard way of doing it, but your solution is good, just the js part :-) .