PPR problem with dynamic regions
Hello,
I have an application which starts by displaying a two buttons, each of which is supposed to display a particular bounded task flow in a dynamic region. The first task flow has a .jsff which has a table that displays records in a richtable... no problem there. The second task flow displays records (from a different table in the database) in a PanelFormLayout using inputtext's.
Now the problem.
When the first task flow is set to display by default when the application is run, the table works as it should. I click the button to switch the dynamic region to the second task flow and that is fine, but any navigation button I click gives me the following error...
SEVERE: Server Exception during PPR, #4
javax.el.PropertyNotFoundException: Target Unreachable, 'Col2Id' returned null
Now, if I setup this second task flow to display by default, it works as it should.
The actionlistener I use to switch the tasks in the dynamic region is as follows
public void testListener1(ActionEvent actionEvent) {
String varTask;
//the two buttons have btn1 and btn2 as the id's, so this returns '1' or '2' respectively to generate the correct taskFlowId below
varTask = actionEvent.getComponent().getId().substring(3);
// this builds the task flow id based on the value of the variable determined above
taskFlowId = "/WEB-INF/tasks/task-flow-" + varTask + ".xml#task-flow-" + varTask;
}and it does switch the task flow to the correct one.
The .jsff for the second task flow is as follows
<?xml version='1.0' encoding='windows-1252'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:f="http://java.sun.com/jsf/core"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<af:panelBox text="PanelBox1">
<f:facet name="toolbar"/>
<af:panelFormLayout>
<af:inputText value="#{bindings.Col2Id.inputValue}"
label="#{bindings.Col2Id.hints.label}"
required="#{bindings.Col2Id.hints.mandatory}"
columns="#{bindings.Col2Id.hints.displayWidth}"
maximumLength="#{bindings.Col2Id.hints.precision}"
shortDesc="#{bindings.Col2Id.hints.tooltip}"
id="textCol2Id">
<f:validator binding="#{bindings.Col2Id.validator}"/>
</af:inputText>
<af:inputText value="#{bindings.Col2Desc.inputValue}"
label="#{bindings.Col2Desc.hints.label}"
required="#{bindings.Col2Desc.hints.mandatory}"
columns="#{bindings.Col2Desc.hints.displayWidth}"
maximumLength="#{bindings.Col2Desc.hints.precision}"
shortDesc="#{bindings.Col2Desc.hints.tooltip}"
id="textCol2Desc">
<f:validator binding="#{bindings.Col2Desc.validator}"/>
</af:inputText>
<f:facet name="footer">
<af:panelGroupLayout layout="vertical">
<af:panelGroupLayout layout="horizontal">
<af:commandButton actionListener="#{bindings.First.execute}"
text="First" disabled="#{!bindings.First.enabled}"
partialSubmit="true"/>
<af:commandButton actionListener="#{bindings.Previous.execute}"
text="Previous"
disabled="#{!bindings.Previous.enabled}"
partialSubmit="true"/>
<af:commandButton actionListener="#{bindings.Next.execute}"
text="Next" disabled="#{!bindings.Next.enabled}"
partialSubmit="true"/>
<af:commandButton actionListener="#{bindings.Last.execute}"
text="Last" disabled="#{!bindings.Last.enabled}"
partialSubmit="true"/>
</af:panelGroupLayout>
<af:commandButton text="Submit"/>
</af:panelGroupLayout>
</f:facet>
</af:panelFormLayout>
</af:panelBox>
</jsp:root>the adfc_config.xml is as follows
<?xml version="1.0" encoding="windows-1252" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
<view id="start">
<page>/start.jspx</page>
</view>
<managed-bean>
<managed-bean-name>backing_start</managed-bean-name>
<managed-bean-class>programs.view.backing.Start</managed-bean-class>
<managed-bean-scope>backingBean</managed-bean-scope>
<!--oracle-jdev-comment:managed-bean-jsp-link:1start.jspx-->
</managed-bean>
</adfc-config>Does anyone have an idea what gets missing or confused at the PPR level when I switch task flows in a dynamic region in this manner, and how can it be corrected.
Thanks
Hi Frank,
When I try changing the managed bean scope from backingbean to pageflow (I also had to change the binding in the PageDef.xml file as well), it displays a blank screen when starting and the server log file has the following error message.
<Apr 27, 2009 8:28:35 AM CDT> <Error> <HTTP> <BEA-101017> <[weblogic.servlet.internal.WebAppServletContext@164d2b3 - appName: 'FcnTestApp1', name: 'FcnTestApp1-ViewController-context-root', context-path: '/FcnTestApp1-ViewController-context-root', spec-version: '2.5', request: weblogic.servlet.internal.ServletRequestImpl@1c5c9ca[
]] Root cause of ServletException.
javax.el.PropertyNotFoundException: Target Unreachable, 'backing_start' returned null
at com.sun.el.parser.AstValue.getTarget(AstValue.java:88)
at com.sun.el.parser.AstValue.setValue(AstValue.java:133)
at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:255)
at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:248)
at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:222)
Truncated. see log file for complete stacktrace
>
Any idea what might cause this?
Thanks
Similar Messages
-
Encountering error while working with Dynamic Regions.
Hi All,
I am a beginner in ADF and on a quest to learn ADF. Sometimes I am struggling in the process. Now, when I am working with Dynamic Regions, encountered problem below
Step 1 : Created a simple department TaskFlow with Department Form
Step 2: Created a Simple employee TaskFlow with Employee Details
Step 3: Created a Main page with oracle 2 column layout
Step 4 : Dragged and dropped department TaskFlow on to main page second facet as Dyanmic region . Created a bean as RegionBean
Step 5 : Dragged and dropped department TaskFlow as Command Link on the first facet
Step 6 : Dragged and dropped employee TaskFlow as Command Link on the first facet
The page runs and shows department information when it renders. But when I click on employees command link, at first it shows employees table with no data and says "ACCESS DENIED ". Then if I click on either department or employee command link, it errors out with below info
javax.el.PropertyNotFoundException: Target Unreachable, identifier 'vs' resolved to null
at com.sun.el.parser.AstValue.getTarget(Unknown Source)
at com.sun.el.parser.AstValue.isReadOnly(Unknown Source)
at com.sun.el.ValueExpressionImpl.isReadOnly(Unknown Source)
at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer._getUncachedReadOnly(EditableValueRenderer.java:476)
at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.getReadOnly(EditableValueRenderer.java:390)
at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.wasSubmitted(EditableValueRenderer.java:345)
at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.decodeInternal(EditableValueRenderer.java:116)
at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputDateRenderer.decodeInternal(SimpleInputDateRenderer.java:73)
at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.decodeInternal(LabeledInputRenderer.java:56)
at oracle.adf.view.rich.render.RichRenderer.decode(RichRenderer.java:342)
at org.apache.myfaces.trinidad.render.CoreRenderer.decode(CoreRenderer.java:292)
at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1334)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decode(UIXComponentBase.java:865)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:965)
at org.apache.myfaces.trinidad.component.UIXEditableValue.processDecodes(UIXEditableValue.java:287)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1204)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:962)
at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer$UIXColumnFilterWrapper.processDecodes(BaseColumnRenderer.java:2108)
at org.apache.myfaces.trinidad.component.UIXCollection.processComponent(UIXCollection.java:1087)
at org.apache.myfaces.trinidad.component.TableUtils$1.process(TableUtils.java:238)
at org.apache.myfaces.trinidad.component.ChildLoop.runAlways(ChildLoop.java:55)
at org.apache.myfaces.trinidad.component.TableUtils.processFacets(TableUtils.java:232)
at org.apache.myfaces.trinidad.component.TableUtils$2.process(TableUtils.java:261)
at org.apache.myfaces.trinidad.component.ChildLoop.runAlways(ChildLoop.java:55)
at org.apache.myfaces.trinidad.component.ChildLoop.runAlways(ChildLoop.java:48)
at org.apache.myfaces.trinidad.component.TableUtils.processColumnFacets(TableUtils.java:253)
at org.apache.myfaces.trinidad.component.UIXTable.processFacetsAndChildren(UIXTable.java:379)
at org.apache.myfaces.trinidad.component.UIXCollection.decodeChildrenImpl(UIXCollection.java:206)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
at org.apache.myfaces.trinidad.component.UIXCollection.processDecodes(UIXCollection.java:200)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1204)
at oracle.adf.view.rich.component.fragment.UIXRegion.decodeChildrenImpl(UIXRegion.java:635)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:962)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1204)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:962)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1204)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
at org.apache.myfaces.trinidad.component.UIXForm.processDecodes(UIXForm.java:75)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1204)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1190)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:962)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1048)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:926)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ApplyRequestValuesCallback.invokeContextCallback(LifecycleImpl.java:1519)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:372)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:202)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Please help me !!!!!!
ThanksHi Shay Shmeltzer ,
Thanks for your quick reply. Below is response for your queries
What scope did you specify for the bean? View Scope
Also which browser are you using? Firefox
Thanks for the link. I started to build dynamic region after taking a look at the video
What else do you think might be the issue
Thanks
Edited by: User44444 on Dec 4, 2012 12:44 AM -
Best approach -Tabs based ADF Tree left side navigation with Dynamic Regions with out UI Shell
Hi,
Somebody can help for the best approach to implement the following requirement.
Req: When the user select the ADF Tree left side navigation menu, each menu will open as multiple tabs(Dynamic Tabs) in right side content area with out UI Shell Template.
I completed the
Step-1: From the Model project, I can able to render ADF Tree in the using view and view links. I can get the adf tree which is having 3 menu items. Each menu item having 2 sub menu's.
I took each menu item as one(1) taskflow, each taskflow will have two(2) fragments.
Total I have 3 task flows as Menu Items and 6 fragments for sub menu's.
Step-2: My question is How do I implement Tab based the ADF tree navigation (left side area to dynamic regions in content area) through dynamic regions? Please provide the steps in view layers.Than ks for your response.
This is working fine for ADF Tree navigation with dynamic regions if the taskflow having only one fragment. if the taskflow having more than one fragments, this will not work. The following conditions are always satisfies one page fragment of either "employees" or "departments" task flow. If the "employees" task flow have 2 page fragments, it's not work even you pass parameters through routers.
public TaskFlowId getDynamicTaskFlowId() {
if (currentTaskFlowID == null ||
currentTaskFlowID.equalsIgnoreCase(“employees”)) {
return TaskFlowId.parse(employeetaskFlowId);
if (currentTaskFlowID != null &&
currentTaskFlowID.equalsIgnoreCase(“departments”)) {
return TaskFlowId.parse(departmetaskFlowId);
return TaskFlowId.parse(employeetaskFlowId);
My question is "Same use case with Dynamic Tabs" when the user click on any adf tree node. -
After Effects won't close/Problems with dynamic links
When I quit After Effects the icon still shows up and it says that it is still open, even force quit will not work. Also having problems with dynamically linked files between after effects and Premiere pro. Rendering in Premiere doesn't work unless I go to AE, save the project, then go back to Premiere. I have OSX Mavericks 10.9.2, a late 2012 mac pro, and AE CC 12.2.1.5
Kevin: would appreciate further thoughts on this.
I am using Pr2014, version 8.0.0 I am using AE2014, version 13.0.2.3. When I was on earlier versions of each, I had no problem importing AE comps into Pr. I'd choose import in Pr, then select the AE project, then select the comp. But with my new and improved versions of AE and Pr, I keep getting "importer reported a generic error."
I also tried to go the other way. I selected in Pr the clips I wanted to work on in AE, and then tried "replace with AE comp" but got the "generic error" message again..
Finally, I attempted to create a Dynamic Link from Pr via the File menu, but with each of the options from there, I got "failed to connect to AE Dynamic Link"
Any advice you can share, would be most welcome. -
Problem Refreshing Dynamic Region
Hi ,
I am facing problems in refreshing the dynamic region. Here is the usecase :
One JSPX page : TestDynamicTaskflow.jspx
First Taskflow : LinksTF -> Has one page with 3 command Buttons and one dynamic region.
On click of 1st and second command button link tf-1 should be displayed and for third command button tf2.
Second Taskflow : tf-1 -> Taskflow has one jsff page with a inputText field ( required = true )
Third taskflow : tf-2 -> Taskflow has one jsff page with a inputText field ( required = true )
Problem : Click 1st command button and tf1 is loaded. Now enter some value in inputText and click commandButton2 ... tf-1 is loaded but inputText retains the entered value... This is what is issue .Hi,
the task flow is reloaded as you should be able to tell when setting a print message to be invoked in the task flow initializer. I assume the problem is with the text component not resetting its value. So its a JSF lifecycle problem, not a region issue. Have the command link switching the task flow, issuing
oracle.adf.view.rich.util.ResetUtils.reset(regionId_in_here);
Frank -
Problem with dynamic LOV and function
Hello all!
I'm having a problem with a dynamic lov in APEX 3.0.1.00.08. Hope you can help me!
I have Report and Form application. On the Form page i have a Page Item (Popup Key LOV (Displays description, returns key value)).
When i submit the sql code in the 'List of vaules defention' box. I get the following message;
1 error has occurred
LOV query is invalid, a display and a return value are needed, the column names need to be different. If your query contains an in-line query, the first FROM clause in the SQL statement must not belong to the in-line query.
When i excecute the code below in TOAD or in the SQL Workshop it returns the values i want to see. But somehow APEX doesn't like the sql....
SELECT REC_OMSCHRIJVING d, REC_DNS_ID r FROM
TABLE(CAST(return_dns_lov_fn(:P2_DNS_ID) AS dns_table_type)) order by 1
returns_dns_lov_fn is a function, code is below;
CREATE OR REPLACE FUNCTION DRSSYS.return_dns_lov_fn (p2_dns_id number)
RETURN dns_table_type
AS
v_data dns_table_type := dns_table_type ();
BEGIN
IF p2_dns_id = 2
THEN
FOR c IN (SELECT dns_id dns, omschrijving oms
FROM d_status dst
WHERE dst.dns_id IN (8, 10))
LOOP
v_data.EXTEND;
v_data (v_data.COUNT) := dns_rectype (c.dns, c.oms);
END LOOP;
RETURN v_data;
END IF;
END;
and the types;
CREATE OR REPLACE TYPE DRSSYS.dns_rectype AS OBJECT (rec_dns_id NUMBER, rec_omschrijving VARCHAR2(255));
CREATE OR REPLACE TYPE DRSSYS.dns_table_type AS TABLE OF dns_rectype;
I tried some things i found on this forum, but they didn't work as well;
SELECT REC_OMSCHRIJVING display_value, REC_DNS_ID result_display FROM
TABLE(CAST(return_dns_lov_fn(:P2_DNS_ID) AS dns_table_type)) order by 1
SELECT REC_OMSCHRIJVING display_value d, REC_DNS_ID result_display r FROM
TABLE(CAST(return_dns_lov_fn(:P2_DNS_ID) AS dns_table_type)) order by 1
SELECT a.REC_OMSCHRIJVING display_value, a.REC_DNS_ID result_display FROM
TABLE(CAST(return_dns_lov_fn(:P2_DNS_ID) AS dns_table_type)) a order by 1
Edited by: rajan.arkenbout on 8-mei-2009 14:41
Edited by: rajan.arkenbout on 8-mei-2009 14:51I just had the same problem when I used a function in a where clause.
I have a function that checks if the current user has acces or not (returning varchar 'Y' or 'N').
In where clause I have this:
where myFunction(:user, somePK) = 'Y'
It seems that when APEX checked if my query was valid, my function triggered and exception.
As Varad pointed out, check for exception that could be triggered by a null 'p2_dns_id'
Hope that helped you out.
Max -
CS3 - Problem with dynamic text -
Hello,
I have a problems with my text, when i write a few ligne inside a dynamic text box, if i selec the text and by the way drag it down the first line goes up and disapear. Is there any way to solve this?This is the Flash Player forum; please post your question in the appropriate product forum.
-
Oracle 9i, Rel.2 - Problems with dynam statement and cursor
Hello,
I have the following problem with Oracle 9i, Release 2:
I have a SQL-statement, which I create with the help of a configuration table. That means I don’t know how this statement looks at runtime. It could be look like this:
SELECT Att1, Att2, Att3
FROM Tab1
or this…
SELECT Att1, Att2
FROM Tab1
or this…
SELECT Att1
FROM Tab1
etc.
That means I don’t know in advance how many columns will be in the select-clause.
Here my code snippet until here:
v_query_str := 'SELECT ' || v_select_clause_str
|| ' FROM cb.' || v_table;
,,v_select_clause_str" willl be created dynamically
,,v_table" is as well from the config-table
Now I want to iterate through the result of the query and do further processing.
For this reason I wanted to use a cursor, iterate through the rows and save every value of each row in an own variable (but I don’t know the number of columns!!!).
But how can I open a cursor and iterate through it without knowing the number of columns???
The following code is NOT working:
TYPE t_dataColumnComp IS TABLE OF VARCHAR2(200);
a_dataColumnComp t_dataColumnComp;
--here I create the query…
v_query_str := 'SELECT ' || v_select_clause_str
|| ' FROM cb.' || v_table;
OPEN c_tempAtt FOR v_query_str;
LOOP
FETCH c_tempAtt INTO a_dataColumnComp; --THIS DON’T WORK
EXIT WHEN c_tempAtt%NOTFOUND;
FOR i IN 1..a_dataColumnComp.COUNT
LOOP
DBMS_OUTPUT.PUT_LINE(a_dataColumnComp(i));
END LOOP;
END LOOP;
CLOSE c_tempAtt; --close cursor variable
Regards
HomerYou will need to use DBMS_SQL to handle this since the number of columns in the result set is not known until runtime.
See here for an example of using DBMS_SQL:
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:235814350980 -
Page Template Popup with Dynamic Region TaskFlow
Hi.
I have a Page Template that is used extensively in my application to provide a consistent explorer panel containing tree links to various pages in the application. I'm trying now to enable users to edit configuration via a tree link. I would like to implement this as a Popup in the page template which contains a dynamic region that contains a bounded Task FLow (so I can control the transaction for the edit activity). I'm running into all manner of issues...
The Tree node is defined as follows:
<f:facet name="cognition_model_view.viewRepListVO">
<af:group id="pt_g4">
<af:commandImageLink id="pt_ot15" text="#{node.Viewname}"
action="callRouter"
actionListener="#{backingBeanScope.templateBacking.viewsGoActionListener}"
icon="/pics/folder-icon.png"
shortDesc="View: #{node.Viewdesc} | Filter: #{node.Filtername}"
partialSubmit="true"/>
<af:commandImageLink id="pt_ot16"
icon="/pics/edit1.png"
shortDesc="Edit View Config"
partialSubmit="true">
<af:setPropertyListener from="#{node.Appname}"
to="#{backingBeanScope.templateBacking.editViewAppName}"
type="action"/>
<af:setPropertyListener from="#{node.Viewname}"
to="#{backingBeanScope.templateBacking.editViewName}"
type="action"/>
<af:setPropertyListener to="#{backingBeanScope.templateBacking.editViewType}"
from="#{node.Sourceview}"
type="action"/>
<af:showPopupBehavior popupId="::pt_p_edView"
triggerType="click"/>
</af:commandImageLink>
</af:group>
</f:facet>The property listeners are to hold values that will be passed as parameters to the region's task flow.
The Popup is defined here:
<af:popup id="pt_p_edView" contentDelivery="lazyUncached"
popupCanceledListener="#{backingBeanScope.editPopupTFHandler.cancelPopup}"
popupFetchListener="#{backingBeanScope.editPopupTFHandler.showPopup}"
binding="#{backingBeanScope.editPopupTFHandler.editPopup}">
<af:panelWindow id="pt_pw1"
title="#{backingBeanScope.templateBacking.editViewName} - Edit View Configuration"
contentHeight="250" contentWidth="500" stretchChildren="first" modal="true">
<af:region value="#{bindings.dynamicRegion1.regionModel}" id="pt_r1"/>
</af:panelWindow>
</af:popup>The taskflow binding for the template is as follows:
<taskFlow id="dynamicRegion1" taskFlowId="${backingBeanScope.editPopupTFHandler.dynamicTaskFlowId}" xmlns="http://xmlns.oracle.com/adf/controller/binding">
<parameters>
<parameter id="inputApplicationName" value="#{backingBeanScope.templateBacking.editViewAppName}"/>
<parameter id="inputViewType" value="#{backingBeanScope.templateBacking.editViewType}"/>
<parameter id="inputViewName" value="#{backingBeanScope.templateBacking.editViewName}"/>
</parameters>
</taskFlow>The managed bean to hold the dynamic taskflowId (editPopupTFHandler) is referenced in the adfc-config.xml file at "backingBean" scope, and looks like this:
public class editPopupTFHandler {
private String taskFlowId = "/WEB-INF/editViews/editViewsTF.xml#editViewsTF";
private String emptyTaskFlowId = "";
private String currentTaskFlowId = taskFlowId;
private RichPopup editPopup;
public editViewPopupTFHandler() {
public String getDynamicTaskFlowId() {
return currentTaskFlowId;
public void cancelPopup(PopupCanceledEvent pce) {
currentTaskFlowId = emptyTaskFlowId;
public void showPopup (PopupFetchEvent popupFetchEvent) {
currentTaskFlowId = taskFlowId;
public void setEditPopup(RichPopup editPopup) {
this.editPopup = editPopup;
public RichPopup getEditPopup() {
return editPopup;
}If I don't define the bean at backingBean scope, I get a Target Unreachable error from any page using the template.
When I attempt to use the link to the popup, the popup displays but the region content does not. Is this a scoping issue?
Additionally, after pressing combinations of the 2 commandimagelink components, the first link stops submitting... this may be a side-effect of the region display though?
Again, as I'm quite new to ADF I don't know how to overcome or avoid these issues, or whether there is a better method to achieve an edit capability in a popup window from a page template.
Thanks for your help. I'm using JDeveloper 11.1.2.1.0 by the way.Hello again. I've managed to get the dynamic region displaying once I restarted JDeveloper and re-created the Region and backingBean. This has happened before - is JDeveloper known to get "confused" (like me!) in this way?
There are still issues though. The backingBean contains a PopupCanceledListener as follows:
public void cancelPopup(PopupCanceledEvent pce) {
System.out.println("CANCEL POPUP - Current Task FLow now empty");
currentTaskFlowId = emptyTaskFlowId; // where emptyTaskFlowId = ""
System.out.println("CANCEL currentTaskFlowId = " + currentTaskFlowId);
}Simple enough, but the dynamicTaskFlowId is not holding its cleared value. Subsequent call to the getter shows a non-null value...?
The Popup has the ContentDelivery="lazyUncached" and ChildCreation="deferred". The TaskFlow Binding has Refresh="default" and activation="deferred". With these property values the Popup is displays the correct value on its first use but then keeps that same value on any subsequent selection. I don't know whether this is because of the TaskFlow not correctly resetting or something else...
Can anyone help me please. This is beyond frustrating. The behaviour of these various property settings is not at all predictable for me... Thanks. -
Does anyone out there use dynamic SQL with DB2? If so, are the sql statements causing a PreparedStatement to be executed on DB2. I posted this question similarly before, but never resolved it, and it is killing me. I have to resolve this ASAP!
Here is the problem: My DB2 Admin says that EVERY TIME I access the database, my Java app is causing the database to create a PreparedStatement. However, I'm using Statement objects exclusively, with dynamic SQL. He says that DB2 needs an "access path" for the client, and that it converts the Statement to a PreparedStatement, as this is the only way to get this "access path". He says the only solution is either stored procedures or SQLJ, which will do the binding in advance, and increase performance tremendously. However, I am STRONGLY opposed to using SQLJ, and if we do stored procedures, we'd have to write one for every possible SQL statment! I KNOW there is a better solution.
Is anyone out there having these problems with JDBC and DB2? Surely someone out there uses DB2 and JDBC and either has these problems or can confirm that something is incorrectly configured on the database side.
Any help would be great. Thanks, WillNow I'm wondering if maybe the PreparedStatements are ONLY being called on the database when I call getConnection(), and not when I call executeQuery() or executeUpdate() from the Statement object. I just can't see why the database would have to make an access path for every SQL statement executed, but I could see it creating an access path for every connection requested. Any thoughts on that theory?
-
Problem with Dynamic Node & UI Elements
Hi,
The scenario is to create an Questioaire.Since the number questions which I get from R/3 may vary, I have created the Dynamic Node which is mapped with Dynamic set of Radio button Group by index for options & Dynamic text view for displaying Questions.. A New Dynamic Node will be created for each set of Questions .The Number of questions displayed per page is controlled by the Static Counter Variable....
Now the issue is ,if i click back button the count will be initialized so again it needs to trigger the DoModifyView(). at that time It is arising an exception "Duplicate ID for view & Radio button ..." because while creating Dynamic node i used to have "i" value along the Creation of node name...
for(i=Count;i<i<wdContext.nodeQuestions().size();i++)
customnod=<b>nodeinfo.getChild("Questionaire"+i);</b>
if(customnod==null)
Its not possible to create a new node whenever i click the Back button.
At the same time i am not able to fetch the elements which had already created Dynamically...
How do i make the Next & back button work?
If anyone bring me the solution It would be more helpful to me.
Thanks in advance..
Regards,
MalarHi,
We can Loop through the Node Elements but how can we do Option Button Creation for each set of question Options?. At design time we can not have the radio buttons,because we do not know how many set of questions are available at the Backend. -
Problem with Dynamically accessing EJB Class objects in WL 7.0 SP1
I am trying to build a component which has the ability to instantiate and execute
an known EJB method on the fly.
I have managed to build the component but when I try and execute it I get a ClassNotFoundException.
I know that the EJB I am trying to invoke is deployed and available on the server,
as I can see it in the console, I also seen to have been able to get the remote
interface of the object, my problem occurs when I try and access the class object
so I can perform a create on the object and then execute my method
The code I have written is below:
private Object getRemoteObject(Context pCtx, String pJNDIName, String pHomeBean)
throws Exception {
String homeCreate = "create";
Class []homeCreateParam = { };
Object []homeCreateParamValues = {};
try {
//This call seems to work and doesn't throw an exception
Object home = pCtx.lookup(pJNDIName);
//However this call throws a java.lang.ClassNotFoundException
Class homeBean = Class.forName(pHomeBean);
Method homeCreateMethod = homeBean.getMethod(homeCreate,homeCreateParam);
return homeCreateMethod.invoke(home, homeCreateParamValues);
} catch (NamingException ne) {
logStandardErrorMessage("The client was unable to lookup the EJBHome.
Please make sure ");
logStandardErrorMessage("that you have deployed the ejb with the JNDI
name "+pJNDIName+" on the WebLogic server ");
throw ne;
} catch (Exception e) {
logStandardErrorMessage(e.toString());
throw e;
Any advice would be really appreciated, I'm fast running out of ideas, I suspect
it has something to do with the class loader but I'm not sure how to resolve it
Regards
Jo CorlessHello Joanne,
Congratulations! I'm very happy that you've managed to fix your problem. It's
always essential to understand how to package applications when deploying on BEA
WebLogic. Usually, by throwing everything into an EAR file solves just about all
the class loader problems. :-) Let us know if you have any further problems that
we can assist you with.
Best regards,
Ryan LeCompte
[email protected]
http://www.louisiana.edu/~rml7669
"Joanne Corless" <[email protected]> wrote:
>
>
I've fixed it!!!!!!!!
Thanks to everyone who gave me help!!!!
The class loader was the culprit which is what I suspected all along.
As soon
as I put the 2 jar files I was using into an EAR file the problem went
away!!!!!
Thanks again
Jo Corless
"Ryan LeCompte" <[email protected]> wrote:
Hello Joanne,
As Mr. Woollen mentioned, I also believe it's a problem with the class
loader.
You need to be careful how you arrange your EJBs, because WebLogic has
a specific
method in which it loads classes in an EAR, JAR, and WAR file(s). Please
refer
to http://dev2dev.bea.com/articles/musser.jsp for more information about
BEA WebLogic
class loading mechanisms and caveats. Also, try printing out the various
methods
that are available on the object that was returned to you via reflection.
For
example, use the getMethods() method, which returns an array of Method
objects
that you can subsequently cycle through and print out the various method
names.
This way you can discover if the class found/returned to you is indeed
the one
you intend to locate.
Hope this helps,
Ryan LeCompte
[email protected]
http://www.louisiana.edu/~rml7669
Rob Woollen <[email protected]> wrote:
I believe the issue is the home interface class for this EJB is not
available in the class loader which is doing the reflection.
If you do:
getClass().getClassLoader().loadClass(homeInterfaceClassName)
I suspect it will fail. Reflection still requires that the class be
loadable.
-- Rob
Joanne Corless wrote:
Hi Slava,
If I make my code look like you describe below I get a compliationerror telling
me that
home.getMethod() is not recognised (no such method)
If I change it slightly and use
Method homeCreateMethod =
home.getClass().getMethod(homeCreate,homeCreateParam);
The code will compile OK but when executed it still throws a NoSuchMethodException
Any ideas ?
Thanks for your help so far
Regards
Jo Corless
Your code should look like
Object home = pCtx.lookup(pJNDIName);
Method homeCreateMethod =
home.getMethod(homeCreate,homeCreateParam);
return homeCreateMethod.invoke(home, homeCreateParamValues);
Regards,
Slava Imeshev
"Joanne Corless" <[email protected]> wrote in message
news:[email protected]...
Hi Ryan,
I also wanted to mention that if you do a "header search" in this
particular
newsgroup
with the search query as "reflection", you will see many previousmessages
regarding
reflection and EJBs. I believe you could learn a lot from thedifficulties
that
others have faced and solved.I tried that and although there was a number of similar cases noneof them
actually
seem to fix my issue. Thanks for the suggestion though
Are the EJBs that you are trying to access accessible via your
system
classpath?
Try to avoid having them accessible via the main system classpath,and
only bundle
them in your appropriate EJB jar files (contained in an EAR file,for
example).Maybe I should have laid the problem out a little clearer.
I have a number of EJB's bundled up in a JAR file which is hot deployedto
the
server. Within this first JAR file is an EJB (SSB) component that
needs
to
be
able to invoke a known method on another EJB. This second EJB may
or
may
not be
within the first JAR file but it also will be hot deployed.
The component trying to invoke the method on the 2nd EJB has to
be
able to
create
an instance of the 2nd EJB without actually knowing anything bar
a
JNDI
Name which
is passed in at runtime.
I can get as far as doing the
Object home = pCtx.lookup(pJNDIName);
This returned a class with the name
"com.csc.edc.projects.allders.httppostoffice.postman.PostmanBean_mp8qy2_Home
Impl_WLStub"
My problem seems to occur when I try and invoke the create method
Method homeCreate = home.getClass().getMethod("create", new Class[0]);
My code throws a java.lang.NoSuchMethodException at this point so
I
am
unable
to progress to the next step of :
Object bean = homeCreate.invoke(home, null);
So I can return the instantiated bean back to the calling client.
Why am I getting the NoSuchMethodException, is is because I am gettinga
stub
back rather than the home interface and if so how do I get the truehome
interface
from the bean
Thanks in advance
Jo Corless -
One of my customers is having severe RAC performance issues, which appeared three times so far. Each time, the performance impact lasted around 10 minutes and caused basically a hang of the application. ASH investigation revealed that the time frame of performance issues exactly matches a DRM operation of the biggest segment of the database. During the problematic time period, there are +50 instead of 2-3 active sessions and they are mostly waiting for gc related events: "gc buffer busy","gc cr block busy", "gc cr block 2-way", "gc current block 2-way", "gc current request", "gc current grant busy", etc.
In addition, there is one single session which has wait event "kjbdrmcvtq lmon drm quiesce: ping completion" (on instance 1) and 1-3 sessions with wait event "gc remaster". (on instance 2)
Does anybody have any experience with DRM problems with 10.2.0.4 on Linux Itanium?
I know that it is possible to deactive DRM, but usually it should be beneficial to have it enabled. I could not find any reports of performance impact during DRM operation on metalink. Support is involved but clueless.
Regards,
MartinOracle Support has requested stacktraces of lms processes during the period of performance degradation. We decided to enable OSWatcher to get systemwide linux data and procwatcher to get lms process stacktraces. We created a Grid Control User Defined Metric to check whether the symptoms of a DRM performance problem is taking place. Then we triggered the lms stacktraces with a Grid Control Response Action script of the UDM.
Oracle Support has also requested global hanganalyze and system state dumps but we decided not to collect system state dumps because of the big additional performance impact.
The oswatcher data showed that during the drm period, the lms processes had very high CPU resource utilization.
In the meantime Oracle Support has confirmed that we are hitting 6960699. We have received patch 8516675 which includes the bugfix and have installed it. Now, we are waiting to see whether this indeed fixes the issue. -
Problem with Dynamic Table Name
Hello all,
I am having trouble using a dynamic table name. I have the following code.....
declare l_cur sys_refcursor;
l_ID int;
l_tableName varchar(30);
BEGIN
open l_cur for
select hkc.ColumnID, mapping from &HKAPPDB_Schema_Name..doctablemapping ddm
inner join &HKDB_Schema_Name..HKColumns hkc on hkc.doctablemappingid = ddm.id
where ddm.id > 0;
LOOP
FETCH l_cur into l_ID, l_tableName;
EXIT WHEN l_cur%notfound;
-- update missing VerbID in DocumentDocMapping table
UPDATE &HKAPPDB_Schema_Name..IndexedDocument
SET VerbID = (SELECT t.VerbID
FROM (SELECT DocRef, VerbID, DateUpdated
FROM &HKAPPDB_Schema_Name..l_tableName dd - this is where the dynamic table name is used
WHERE dd.VerbID is not NULL))
WHERE HKColumnID = l_ID AND VerbID is NULL;
END loop;
end;
/When I try to execute this i get an error
ORA-00942: table or view does not exist
What am I doing wrong?
Regards,
Tobyredeye wrote:
I only started about 6 weeks ago, with no tutorials and learning it on the fly; Same here.. only my introduction was to a 12 node Oracle OPS cluster all those years ago.. and required a whole new mind set after using SQL-Server extensively. But it was fun. Still is. :-)
but thats what you get when a company throws you in at the deep end with a ridiculous time constraint to migrate a whole MSSQL DB.Migrating SQL-Server to Oracle is not a simple thing. A lot of best practices in SQL-Server are absolutely worse practices in Oracle - they are that different. Simple example is lock escalation - an issue in SQL-Server. In Oracle, the concept of a lock being escalated into a page lock simply does not exist.
In terms of getting the migration done as quickly and painlessly as possible I try to reuse all the logic as it appears in the MSSQL code - in this case it was using dynamic table names. I do not doubt that i am probably shooting myself in the foot in the long run.....As long as you do not splatter too much blood on us here.. not a problem :D
Seriously though - just keep in mind that what works in SQL-Server may not work as well (or even at all) in Oracle. So do not hesitate to refactor (from design to code to SQL) mercilessly when you think it is warranted. -
Problem with Dynamic Configuration in SOAP-AXIS adapter..!!!
Hi ,
Idoc> XI>SOAP-AXIS
I am doing a scenario where I need to pass the URL dynamically in SOAP-AXIS adapter by taking the SNDPRN of Idoc.
If SNDPRN = 100 , message has to go to http://10.190.25.16:8210/file/receiver
SNDPRN = 200 , message has to go to http://20.180.26.16:8210/file/receiver
It is working correctly when I tried for single receiver. When I' tried to use DynamicConfiguration, it is coming in SOAP document but it is not working and not passing to correct channel. According to this note 1039369, I mentioned the following modules.
AF_Adapters/axis/AFAdapterBean ---> afreq
AF_Adapters/axis/HandlerBean ---> xireq
AF_Adapters/axis/HandlerBean ---> dc
AF_Adapters/axis/HandlerBean ---> remover
AF_Adapters/axis/HandlerBean ---> trp
AF_Adapters/axis/HandlerBean ---> xires
AF_Adapters/axis/AFAdapterBean ---> afres
xireq -> handler.type-> java:com.sap.aii.axis.xi.XI30OutboundHandler
dc -> handler.type-> javasap.aii.axis.xi.XI30DynamicConfigurationHandler
dc ---> key.1 ---> write http://sap.com/xi/XI/System/SOAP TServerLocation
dc ---> location.1 ---> context
dc ---> value.1 ---> transport.url
remover ---> handler.type ---> java:com.sap.aii.axis.soap.HeaderRemovalHandler
remover ---> namespace ---> http://sap.com/xi/XI/Message/30
trp ---> handler.type ---> java:com.sap.aii.adapter.axis.ra.transport.http.HTTPSender
trp ---> module.pivot ---> true
xires ---> handler.type ---> java:com.sap.aii.axis.xi.XI30OutboundHandler
and I am getting the below error in SOAP-AXIS channel
Error Axis: error in invocation: java.lang.IllegalArgumentException: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage
Error MP: Exception caught with cause java.lang.IllegalArgumentException: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage
Error Exception caught by adapter framework: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage
Error Delivery of the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage: java.lang.IllegalArgumentException: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage
Kindly let me know if anyone has any idea what might be wrong?
Thanks
DeepthiI have a similar problem. I also like to add some header fields to my message und that's way I'm trying to use the AXIS adapter. (Axis adapter FAQ question 30) Unfortunately I'm getting exactly the same error message:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.IllegalArgumentException: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage
Deepthi, you wrote that you have missed one jar file. Can you remember which file it was?
Maybe you are looking for
-
Help with Apple IDs and iTunes please
One family member has an iPad2 with one Apple ID that is authorized in iTunes on a Win7 laptop. That laptop has one Windows user account. Some apps, books, etc were purchased with that iPad2. We recently got a hold of an old iPhone to use as an iPo
-
How to create PO with reference to Pr through BAPI
Hi everybody I wanted to create PO with reference to PR through BAPI_PO_CREATE (4.6c), but i found there is no field to set PR info in the parameter. Is the bapi right for this case, or there are other functions? THANKS FOR ANY ADVICE! Best regards,
-
Editing 1.3 Gigabyte Wave File in GarageBand
I have a 1.32 GB wave file that I want to edit in GarageBand. But it seems to be to big for Garageband. It is a speach that is recorded with 44.1 kHZ sample rate and 24 bits. It is about 70 minutes of recording. I imported the file and it plays, but
-
Hello Guru, Yesterday we have issued, we want to have a production order that we dont want to direct posting of cost during Production Order declaration. we created a dummy material with mat type is non valuated, we made a production order with this
-
Skype is Deactivating subscription without proof
Hi, I am using Skype unlimited subscription for India from last 5 months. Suddenly, today I received a email from Skype saying that "we have noticed some prohibited usage of your subscription." This is so funny, because, I was not in town from 26th