I have a requirement.
When you login to the home page and go to worklist notification page, clicking the full list, you get all the notifications for the users. Now the user wants a filter there, such that if they choose PO, only po notifications should come, similarly some other filters. I have leveraged a external LOV to get all those values, but when you hit on go button I have to dynamically add those values to the where condition of the VO.
I could not add the new fields in that region because there was no create button for that region. So I created some fields @ PageLayout Level.
Page Layout RN - My New Fields ( The CO here is say PageCO)
StackLayout RN - existing field and Go Button ( The CO here is say LayoutCO)
Ideally I should customize the LayoutCO to dynamically append the where clause, but :
1) I can't create any items there, because there was no create button
2) Just to check I extended the CO, calling the super PFR and writing a OADiagnostics message, I get the below error:
oracle.apps.fnd.framework.OAException: java.lang.ClassCastException: oracle.apps.fnd.framework.webui.beans.layout.OAFlowLayoutBean cannot be cast to oracle.apps.fnd.framework.webui.beans.table.OATableBean
But when I extend the CO of the region above it (PageCO), I am not getting the error, but I am not able to get hold of the VO. It returns null, when I see the diagnostics. Any clue , how to achieve this?
You can achieve this by adding the value in the View Message choice.
You can add the filter criteria into the message choice bean by either adding the value into the lookup.
Once you are able to see all the values like PO Number into the message choice bean.
Then you need to extend the controller class to override the beahviour on the click of Go Button.
Getting the fields or the value is not an issue . That I have configured, but passing that value to the existing VO is the issue now.
I have identified the tableRN CO and I am extending it's controller.
What I did was:
- Getting hold of the VO . Conditionally there are different VOs, based on a value selected earlier. Say say VO1 is triggered, I am appending the where clause with the values of the new field. But the issue is :
Issue 1: In some cases the VO does not return any data.
Issue 2 : In some cases I am getting the error 'Object name for type View Object is invalid'
You mentioned that issue is coming for few cases. So is my understanding correct if we assume that it works for few cases. If it works for few cases then there is no problem in getting handle to the correct VO instance.
If it fails for all cases, you can check that piece of code.
I was not extending the correct controller. I enabled the region enabled profile option and I customized the CO for a region. The error was resolved. From the Page-Personlaize, I was picking the wrong CO to extend.