Getting NullPointerException in ADF form using Custom Selection Listener
Hi,
I am getting NullPointerException from getRowKey() in GenericTableSelectionHandler.java while pressing "Page Down" key or continuous pressing of "Down Arrow" key in Read Only ADF form (Query, Sort Enabled) using Custom Selection Listener.
I have used the custom selection listener as mentioned at http://www.oracle.com/technetwork/developer-tools/adf/learnmore/23-generic-table-selection-listener-169162.pdf
The requirement to use custom Selection Listener to populate some fields from the selected row.
J Developer Version: 11.1.1.4.0
The error is as below
+<LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5+
javax.el.ELException: java.lang.NullPointerException
+ at com.sun.el.parser.AstValue.invoke(Unknown Source)+
+ at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)+
+ at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1300)+
+ at org.apache.myfaces.trinidad.component.UIXTable.broadcast(UIXTable.java:268)+
+ at oracle.adf.view.rich.component.UIXTable.broadcast(UIXTable.java:144)+
+ at oracle.adf.view.rich.component.rich.data.RichTable.broadcast(RichTable.java:402)+
+ at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)+
+ at org.apache.myfaces.trinidad.component.UIXTable.broadcast(UIXTable.java:271)+
+ at oracle.adf.view.rich.component.UIXTable.broadcast(UIXTable.java:144)+
+ at oracle.adf.view.rich.component.rich.data.RichTable.broadcast(RichTable.java:402)+
+ at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)+
+ at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)+
+ at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)+
+ at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)+
+ at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)+
+ at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)+
+ at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)+
+ at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)+
+ at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:879)+
+ at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:312)+
+ at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185)+
+ at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)+
+ 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:205)+
+ at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)+
+ at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)+
+ at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)+
+ at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)+
+ at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)+
+ at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)+
+ at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)+
+ at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)+
+ at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)+
+ at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)+
+ at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)+
+ at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)+
+ at java.security.AccessController.doPrivileged(Native Method)+
+ at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)+
+ at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)+
+ at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)+
+ at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)+
+ 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:136)+
+ 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:207)+
+ at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)+
Caused by: java.lang.NullPointerException
+ at ibm.view.GenericTableSelectionHandler.makeCurrent(GenericTableSelectionHandler.java:48)+
+ at ibm.view.backing.Testpage.XxSelectListener(Testpage.java:207)+
+ at sun.reflect.GeneratedMethodAccessor355.invoke(Unknown Source)+
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)+
+ at java.lang.reflect.Method.invoke(Method.java:597)+
+ ... 60 more+
The table structure is as below for your reference
+<af:table value="#{bindings.TestTableAdfView1.collectionModel}"+
var="row"
+rows="#{bindings.TestTableAdfView1.rangeSize}"+
+emptyText="#{bindings.TestTableAdfView1.viewable ? 'No data to display.' : 'Access Denied.'}"+
+fetchSize="#{bindings.TestTableAdfView1.rangeSize}"+
+rowBandingInterval="0"+
+filterModel="#{bindings.TestTableAdfView1Query.queryDescriptor}"+
+queryListener="#{bindings.TestTableAdfView1Query.processQuery}"+
+filterVisible="true" varStatus="vs"+
+rowSelection="single"+
+binding="#{backingBeanScope.backing_testpage.t1}"+
+id="t1"+
+selectionListener="#{backingBeanScope.backing_testpage.XxSelectListener}">+
Any help to resolve the issue is highly appreciated.
Thanks,
Arijit
Edited by: user10570755 on Aug 2, 2011 11:19 PM
//selection with the selection in the ADF model Object
_selectedRowData = _table.getSelectedRowData();
//cast to JUCtrlHierNodeBinding, which is the ADF object //that represents a row
JUCtrlHierNodeBinding _nodeBinding = (JUCtrlHierNodeBinding) _selectedRowData;
//get the row key from the node binding and set it //as the current row in the iterator
Key _rwKey = _nodeBinding.getRowKey();i guess nodeBinding becoming null here.. _table.getSelectedRowData().. is not returnign anything
Similar Messages
-
Custom Selection Listener not getting fired
I am using JDeveloper 11.1.1.4 and have been trying to follow the advice given in the ADF Code Corner example 68. The only difference in my application/project, is that I am trying to develop the master table on a page fragment with a task flow attached for the JSFF containing the detail table. My master table on the primary JSFF has a custom selection listener on it. When testing the deployed package--putting the primary task flow on a JSPX page, the tables are showing, but when I select a different row on the master table, the new row is highlighted but nothing happens to execute the custom listener. I am sure of this because I've added a System.out.println as the very first line in it and it doesn't put the message out. I am getting no errors on the weblogic logs. I looked on the client side's html output and can't see anything that would trigger that a change occurred to send back to the server. Any ideas (outside of upgrading to another version of Jdeveloper) would be greatly appreciated. I am not sure if providing any of my code would be of any help in this issue.
Thanks to all who responded. I have multiple rows showing in my master table and when I select a different row, I get no event that executes my method. I tried adding the "binding.itterator." to the EL for the SelectionListener and that didn't work either. Besides both the examples in the ADF Code Corner 23 and 68 show it just as "class.method" as I have it. A small snippet from my table is below:
<af:table value="#{bindings.HOT_trans_sumVO1.collectionModel}"
var="row" rows="#{bindings.HOT_trans_sumVO1.rangeSize}"
emptyText="#{bindings.HOT_trans_sumVO1.viewable ? 'No data to display.' : 'Access Denied.'}"
fetchSize="#{bindings.HOT_trans_sumVO1.rangeSize}"
rowBandingInterval="0"
selectedRowKeys="#{bindings.HOT_trans_sumVO1.collectionModel.selectedRow}"
*selectionListener="#{HotTransSummBean.onTxnSummTblRowSelect}"*
rowSelection="single" id="txnsummtbl"
columnStretching="last" width="100%" autoHeightRows="5"
contentDelivery="whenAvailable" immediate="true"
clientComponent="true" first="0">Also note that I have this backing bean defined on the task flow as a requestScope as it is in the example 68--example 23 does not state a scope level. Again, my method starts out with an output statement that never gets executed:
public void onTxnSummTblRowSelect(SelectionEvent selectionEvent) {
System.out.println("Entered onTxnSummTblRowSelect method."); -
Getting error while creating subsite using custom template in sharepoint2013
Hi,
I am getting the following error while creating subsite using custom template in sharpoint2013. even publish features are enabled.
Please suggest me on this.
Thanks in advance.You need to enable the PerformancePoint Service Site Collection Features(PPSMonDatasourceCtype)
on the target site collection. go to site action > site settings> site collections features > and enable it and now try again.
Similar case: http://imughal.wordpress.com/2012/09/20/dependency-feature-ppsmondatasourcectype-id-05891451-f0c4-4d4e-81b1-0dabd840bad4-for-feature-bicenterdataconnections-id-3d8210e9-1e89-4f12-98ef-643995339ed4-is-not-activated-at-this-scop/
Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem. ****************************************************************************************** Thanks -WS MCITP(SharePoint 2010, 2013) Blog: http://wscheema.com/blog -
Refresh form using Custom Library
I was wondering if there is a way to refresh a form after an insert or update of records, using custom libraries.
ThanksZaafran Ahmed Posted: Oct 26, 2010 2:05 PM
COPY(:GLOBAL.EXP_PRO,'IT_QF.PROJECT_NUMBER');user12207320 Posted: Oct 26, 2010 2:40 PM
I tried it throws a error,bad bind variable error >
This will throw an error because the COPY built-in takes 2 Varchar2 parameters (Source and Destination). When you use the COPY built-in, you pass references to the objects not the objects themselves. Therefore, the reference to the global variable :GLOBAL.EXP_PRO would have to be passed as a string to COPY.
Looking at your original post, you have a COLAN in the destination string. Try the following:
COPY('GLOBAL.EXP_PRO',':IT_QF.PROJECT_NUMBER');
/* Change this statement to: */
COPY('GLOBAL.EXP_PRO','IT_QF.PROJECT_NUMBER');Craig... -
Getting chinese charaters from Form using request.getParameter()
Hi,
I want my JSPs to be unicode enabled. In HTML forms user can enter any characters like japnese, chinese etc. But on the server side if user enters any such characters i am getting decimal equivalent of that character in the form of &#{decimal equivalent}; in the request.egetParameter() method.
For ex if I enter �覢覣觇觉訅 then i get "╢&# 35234;&# 35235;&# 35271;&# 35273;&# 35333;" in request.getPrameter().
I have given the charset "UTF-8" in the header of my JSPs.
I tried to decode it with URLDecoder but it fails then i tried to read these parameters using reader but it also fails, then
String para = request.getParameter("para"); // where para is name of received parameter
byte[] bytes = para.getBytes();
para = new String(bytes, "UTF-8");
This also fails.
Can anyone please tell me how to handel this problem?
Thanx
-VaijayantiHi,
I have tried this in my jsp and it works for me, assuming that the form is submitted with encoding UTF-8 :
Submitting JSP :
<form action="test.jsp">
<input type="text" name="a">
</form>
This is test.jsp :
<%
String a = new String (request.getParameter ("a").getBytes (), "UTF-8");
%>
Passed Parameter = <%=a%>
Hope that helps
Thanks
Amit -
Frm-92101 getting error when running form using webutil
hi
I get an error FRM-92101:There was a failure in the Forms Server during startup. This could happen due to invalid configuration. Please look into the web-server log file for details
i am using form version
Forms [32 Bit] Version 10.1.2.0.2 (Production)
problem is some time form runs and some time dont any solution or possibility???check this for configuration of webutil
http://baigsorcl.blogspot.com/search/label/WebUtil
Baig
[My Oracle Blog|http://baigsorcl.blogspot.com/] -
Default Value to Form using Custom Library?
In Custom Form A, in the global variables i have store the value , How to populate default value to Form B using in custom library.
I tried using COPY, but its not working?
COPY('GLOBAL.EXP_PRO',':IT_QF.PROJECT_NUMBER');
Is their any other way to do it?
Thanks!Zaafran Ahmed Posted: Oct 26, 2010 2:05 PM
COPY(:GLOBAL.EXP_PRO,'IT_QF.PROJECT_NUMBER');user12207320 Posted: Oct 26, 2010 2:40 PM
I tried it throws a error,bad bind variable error >
This will throw an error because the COPY built-in takes 2 Varchar2 parameters (Source and Destination). When you use the COPY built-in, you pass references to the objects not the objects themselves. Therefore, the reference to the global variable :GLOBAL.EXP_PRO would have to be passed as a string to COPY.
Looking at your original post, you have a COLAN in the destination string. Try the following:
COPY('GLOBAL.EXP_PRO',':IT_QF.PROJECT_NUMBER');
/* Change this statement to: */
COPY('GLOBAL.EXP_PRO','IT_QF.PROJECT_NUMBER');Craig... -
Getting error when submitting form using IE but not when using FF
Error: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs.
at Error$/throwError()
at flash.net::URLVariables/decode()
at flash.net::URLVariables()
at flash.net::URLLoader/onComplete()
Has anyone had this problem?I don't know how I would test that I don't know of any way to test it locally.
here's the code for the form:
import flash.net.*;
import flash.events.*;
import flash.text.TextField;
var status_txt:TextField = new TextField();
var myFormat:TextFormat = new TextFormat();
myFormat.font = "Georga";
myFormat.color = 0x00ff00;
myFormat.size = 21;
status_txt.autoSize = TextFieldAutoSize.LEFT;
status_txt.x = -240;
status_txt.y = -225;
addChild(status_txt);
submit_btn.addEventListener(MouseEvent.CLICK, ValidateAndSend);
stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown);
//this.status_txt.mouseEnabled = false;
//this.parent.mouseEnabled = true;
function reportKeyDown(e:KeyboardEvent):void {
var KeyCode:uint = e.charCode;
if (KeyCode == 13){
submit_btn.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
function ValidateAndSend(e:MouseEvent):void {
var variables:URLVariables = new URLVariables();
var request:URLRequest = new URLRequest();
// variables.recipient = "[email protected]";
if(!name_input.length){ createStatus("please enter a name"); }
else if(!email_input.length) {createStatus("please enter a email address");}
else if(!validateEmail(email_input.text)){createStatus("enter valid email address");}
else if(!message_input.length){createStatus("please enter a message");}
else {
variables.name = name_input.text;
variables.email = email_input.text;
variables.message = message_input.text;
request.url = "gdform.php";
request.method = URLRequestMethod.POST;
request.data = variables;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.load(request);
createStatus("Thanks " + name_input.text + ", your message has been sent!");
function createStatus(msg:String):void {
status_txt.text = msg;
status_txt.setTextFormat(myFormat);
function validateEmail(str:String):Boolean {
var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var result:Object = pattern.exec(str);
if(result == null) {
return false;
return true;
this is the php on the server that I submit to.
<?php
$request_method = $_SERVER["REQUEST_METHOD"];
if($request_method == "GET"){
$query_vars = $_GET;
} elseif ($request_method == "POST"){
$query_vars = $_POST;
reset($query_vars);
$t = date("U");
$file = $_SERVER['DOCUMENT_ROOT'] . "/../data/gdform_" . $t;
$fp = fopen($file,"w");
while (list ($key, $val) = each ($query_vars)) {
fputs($fp,"<GDFORM_VARIABLE NAME=$key START>\n");
fputs($fp,"$val\n");
fputs($fp,"<GDFORM_VARIABLE NAME=$key END>\n");
if ($key == "redirect") { $landing_page = $val;}
fclose($fp);
if ($landing_page != ""){
header("Location: http://".$_SERVER["HTTP_HOST"]."/$landing_page");
} else {
header("Location: http://".$_SERVER["HTTP_HOST"]."/");
?> -
Getting Dimension Name or ID using custom JavaScript
Hi,
Is there any way to a dimension name or ID using JavaScript.
I'm trying:
var cell = getCell(r,c);
var cellDim = cell.dimensionId
alert(cell) ==> which is giving me an NULL value
alert(cellDim) ==>doesn't return anything the code dies before it.
I also tried:
var cellDim = getCell(r,c).dimension
alert(cellDim) ==> which is giving me an undefined value
Please help... Thanks...I don't know what the code is or the functions to use in Javascript, but in VB use this to determine the dimensions' members used in the active cell in Excel:
Sub DataPointsSub()
Dim vt As Variant
Dim cbItems As Variant
Dim I As Integer
Dim x As Variant
Dim ActRange As Range
Set ActRange = ActiveSheet.UsedRange
sts = EssVConnect(ActiveSheet.Name, "user", "password", "server", "app", "db")
hCtx = EssVGetHctxFromSheet(ActiveSheet.Name)
vt = EssVGetDataPoint(ActiveSheet.Name, ActiveCell, ActRange, False)
If IsArray(vt) Then
cbItems = UBound(vt) - LBound(vt) + 1
MsgBox ("Number of elements = " + str(cbItems))
For I = LBound(vt) To UBound(vt)
MsgBox ("Member = " + vt(I))
Next
x = EssVFreeDataPoint(vt)
Else
MsgBox ("Return Value = " + str(vt))
End If
End Sub
There must be a java equivalent in the api.
Edited by: dalew7777 on Aug 3, 2010 1:51 PM
Edited by: dalew7777 on Aug 3, 2010 1:54 PM -
TreeTable Selection Listener Issue
I have a treeTable and i have used custom selection Listener instead of using bindings.<viewObject>.treeModel.makeCurrent. since i had to do more than just makeCurrent on selection, i choose this approach. Everything is working except, when i refresh the treeTable after create, the activeRow will be first row but selection shows on where i have last selected.
My custom selectionListener is working very fine but i have noticed that when i refresh treeTable selectionListener is never called. but only called when i make selection... Is there anyway i can get my custom selectionListener be called on refresh of treetable or is there any other way i can control selection on fresh of treeTable.
It will be highly appreciated if you can suggest me way.
ThanksThanks Timo for the reply. I have a customization to select the second row of the tree table by default. I am customizing the 'selectedRowKeys' value to achieve this default selection. It works fine for the first time.
In the below scenario it's is not working,
1. Select a row other than default selected
2. After some action i am refreshing the table, now the focus(highlight) is on the previous selected row but actually the selectedkey is second row(Scenario1)
This my tree table structure,
Revision 0
- - - - Scenario1
- - - - Scenario2
- - - - Scenario3
Revision 1
- - - - Scenario 4
- - - - Scenario 5
- - - - Scenario 6
Thanks,
Nagesh -
Oracle ADF 11g – Authentication using Custom ADF Login Form Problem
Hi Guys,
I am trying to Authenticate my adf application using custom Login Form.
following this..
http://www.fireboxtraining.com/blog/2012/02/09/oracle-adf-11g-authentication-using-custom-adf-login-form/#respond
But my Login Page is not Loading.I think its sending request in chain.my jdev version is 11.1.1.5.Any Idea.
Thanks,
RaulHi Frank,
I deleted bounded code and In another Unit Test I created a simple login.jspx page and applied form based authentication but still facing same problem means something wrong in starting.
My login.jspx page is
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
<f:view>
<af:document id="d1" >
<af:form id="f1" >
<af:panelFormLayout id="pfl1">
<af:inputText label="USERNAME" id="it1"
/>
<af:inputText label="PASSWORD" id="it2"
/>
<af:commandButton text="LOG IN" id="cb1" />
<f:facet name="footer">
</f:facet>
</af:panelFormLayout>
</af:form>
</af:document>
</f:view>
</jsp:root>
Don't know wht real problem is -
How to link a custom ADF form to BPM workflow
Hi All
Hope you are doing well.
I've a basic knowledge on BPM, but had to start off with a project.
My scenario is as below.
1. User A clicks on a task in his BPM Worklist which should trigger an email to the same guy with a link in it (which is an ADF form to create a new row in a db with some values)
2. Now, A clicks on the link send to him on Email, which opens up an ADF form where he provides all the details, along with the reviewer name(say, B, typically his manager, but he has to provide it, not derived automatically using getManger()) and submit.
3. Now, this action should trigger an Email to the reviewer that he has provided in the form(step 2) where he can either approve or reject, with comments.
4. Once B approves, A has to get a notification email saying the row has been created.
The row that gets created in a db is a WS operation (createProject(with all the details))
I'm seriously confused in designing this requirement.
If I start the workflow with a Initiator pattern, just a click on the task should send an email to himself...How can this be done?
How do we get in the ADF form that is in a seperate prj in to this workflow?
How do we capture the values from the ADF form in to the BPM workflow?
Would some one throw some light on how do we capture this scenario
Regards
RaviKiranHi Tom Daria,
This should work in SharePoint workflow 2013 task form.
You can follow the step in the article you provide to custom the task form page, I tested it with the step, it can successfully bind the custom form page to the task content type.
In the form page approve button event, you can add the logic to redirect to another page. In the workflow, associate the workflow with the custom task content type that will use the custom task form.
Thanks,
Qiao Wei
TechNet Community Support -
Adf Customized Selection Listner Not working in df Table
Hi All,
I am working on Oracle Adf with jdev version 11.1.1.5
My table has single row and some columns are Select Boolean Check boxes.
I am using my customized Selection Listener for this table.
My problem is when table is rendered row selected automatically and selection Listener is not executed.
Any help is appreciated ...
Following is my code Snippet :
<af:table value="#{bindings.homeDelToProxyParentVO1.collectionModel}"
var="row"
rows="#{bindings.homeDelToProxyParentVO1.rangeSize}"
emptyText="#{bindings.homeDelToProxyParentVO1.viewable ? 'No data to display.' : 'Access Denied.'}"
fetchSize="#{bindings.homeDelToProxyParentVO1.rangeSize}"
rowBandingInterval="0"
selectedRowKeys="#{bindings.homeDelToProxyParentVO1.collectionModel.selectedRow}"
rowSelection="single"
binding="#{backingBeanScope.backing_home3.t1}"
id="t1" styleClass="AFStretchWidth"
autoHeightRows="5"
contentDelivery="immediate"
selectionListener="#{backingBeanScope.backing_home3.homeDelToProxyParentSelectionListner}">
<af:column sortProperty="selectAll"
sortable="false"
headerText="Select All" id="c24">
<af:selectBooleanCheckbox value="#{row.bindings.selectAll.inputValue}"
required="#{bindings.homeDelToProxyParentVO1.hints.selectAll.mandatory}"
shortDesc="#{bindings.homeDelToProxyParentVO1.hints.selectAll.tooltip}"
id="it3"
autoSubmit="true"
valueChangeListener="#{backingBeanScope.backing_home3.delToProxySelectAll}">
<f:validator binding="#{row.bindings.selectAll.validator}"/>
</af:selectBooleanCheckbox>
</af:column>
<af:column sortProperty="EmpName"
sortable="false"
headerText="Employee Name" id="c3">
<af:outputText value="#{row.EmpName}"
id="ot2"/>
</af:column>
<af:column sortProperty="EmpPerNo"
sortable="false"
headerText="Person Number" id="c1">
<af:outputText value="#{row.EmpPerNo}"
id="ot1">
<af:convertNumber groupingUsed="false"
pattern="#{bindings.homeDelToProxyParentVO1.hints.EmpPerNo.format}"/>
</af:outputText>
</af:column>
<af:column sortProperty="NotifyDate"
sortable="false"
headerText="Notification Date"
id="c7">
<af:outputText value="#{row.NotifyDate}"
id="ot3">
<af:convertDateTime pattern="#{bindings.homeDelToProxyParentVO1.hints.NotifyDate.format}"/>
</af:outputText>
</af:column>
<af:column sortProperty="notification"
sortable="false"
headerText="Notification" id="c23">
<af:selectBooleanCheckbox value="#{row.bindings.notification.inputValue}"
required="#{bindings.homeDelToProxyParentVO1.hints.notification.mandatory}"
shortDesc="#{bindings.homeDelToProxyParentVO1.hints.notification.tooltip}"
id="it6"
autoSubmit="true"
valueChangeListener="#{backingBeanScope.backing_home3.delToProxyNotification}">
<f:validator binding="#{row.bindings.notification.validator}"/>
</af:selectBooleanCheckbox>
</af:column>
<af:column sortProperty="physicalAccess"
sortable="false"
headerText="Physical Access"
id="c22">
<af:selectBooleanCheckbox value="#{row.bindings.physicalAccess.inputValue}"
required="#{bindings.homeDelToProxyParentVO1.hints.physicalAccess.mandatory}"
shortDesc="#{bindings.homeDelToProxyParentVO1.hints.physicalAccess.tooltip}"
id="it2"
valueChangeListener="#{backingBeanScope.backing_home3.delToProxyPhysicalAccess}"
autoSubmit="true">
<f:validator binding="#{row.bindings.physicalAccess.validator}"/>
</af:selectBooleanCheckbox>
</af:column>
<af:column sortProperty="networkAccess"
sortable="false"
headerText="Network Access" id="c35">
<af:selectBooleanCheckbox value="#{row.bindings.networkAccess.inputValue}"
required="#{bindings.homeDelToProxyParentVO1.hints.networkAccess.mandatory}"
shortDesc="#{bindings.homeDelToProxyParentVO1.hints.networkAccess.tooltip}"
id="it17"
autoSubmit="true"
valueChangeListener="#{backingBeanScope.backing_home3.delToProxyNetworkAccess}">
<f:validator binding="#{row.bindings.networkAccess.validator}"/>
</af:selectBooleanCheckbox>
</af:column>
<af:column sortProperty="laptopDesktop"
sortable="false"
headerText="Laptop/Desktop" id="c5">
<af:selectBooleanCheckbox value="#{row.bindings.laptopDesktop.inputValue}"
required="#{bindings.homeDelToProxyParentVO1.hints.laptopDesktop.mandatory}"
shortDesc="#{bindings.homeDelToProxyParentVO1.hints.laptopDesktop.tooltip}"
id="it5"
autoSubmit="true"
valueChangeListener="#{backingBeanScope.backing_home3.delToProxyLaptopDesktop}">
<f:validator binding="#{row.bindings.laptopDesktop.validator}"/>
</af:selectBooleanCheckbox>
</af:column>
<af:column sortProperty="mobility"
sortable="false"
headerText="Mobility" id="c6">
<af:selectBooleanCheckbox value="#{row.bindings.mobility.inputValue}"
required="#{bindings.homeDelToProxyParentVO1.hints.mobility.mandatory}"
shortDesc="#{bindings.homeDelToProxyParentVO1.hints.mobility.tooltip}"
id="it4"
autoSubmit="true"
valueChangeListener="#{backingBeanScope.backing_home3.delToProxyMobility}">
<f:validator binding="#{row.bindings.mobility.validator}"/>
</af:selectBooleanCheckbox>
</af:column>
<af:column sortProperty="otherProperty"
sortable="false"
headerText="Other Property" id="c4">
<af:selectBooleanCheckbox value="#{row.bindings.otherProperty.inputValue}"
required="#{bindings.homeDelToProxyParentVO1.hints.otherProperty.mandatory}"
shortDesc="#{bindings.homeDelToProxyParentVO1.hints.otherProperty.tooltip}"
id="it7"
autoSubmit="true"
valueChangeListener="#{backingBeanScope.backing_home3.delToProxyOtherProperty}">
<f:validator binding="#{row.bindings.otherProperty.validator}"/>
</af:selectBooleanCheckbox>
</af:column>
<af:column sortProperty="hrActivity"
sortable="false"
headerText="HR Activities" id="c2">
<af:selectBooleanCheckbox value="#{row.bindings.hrActivity.inputValue}"
required="#{bindings.homeDelToProxyParentVO1.hints.hrActivity.mandatory}"
shortDesc="#{bindings.homeDelToProxyParentVO1.hints.hrActivity.tooltip}"
id="it1"
autoSubmit="true"
valueChangeListener="#{backingBeanScope.backing_home3.delToProxyHRActivity}">
<f:validator binding="#{row.bindings.hrActivity.validator}"/>
</af:selectBooleanCheckbox>
</af:column>
</af:table>Since there is only one row in my table, it is getting select as a current row by default.
But my requirement is to call my custom selection Listener which will make it current in addition to it
I am also enabling a command button pro-grammatically there which is initially disabled i.e.( Disable = true ) -
FRM-40815: Form Error, using CUSTOM.pll
Hello,
I am trying to customize WIP Lot Transactions Oracle Standard Form using CUSTOM.pll.
Upon navigating to one of the 3 blocks in the form(RESULTING_LOT), I am getting following error message:
"FRM-40815: Variable GLOBAL.CLRREC_NOVALIDATE does not exist"
This global variable is not used in CUSTOM.pll at all. But is initialized and used in the standard form only.
When custom code is turned off, there is no error message.
Please advise.
Thanks,
Krishna.Hi,
Thanks for the response.
I have created a custom profile and attached it users and Profile value has the organization names.I want the User A with Org1 value in the profile to see all the GL Batches which is created by any other user who belongs to only Org1. Say another user User B with Org2 as the profile value should not see any GL batches created by any other user in the GL Journal Form belonging to other Org's.I'm able to restrict the batches using the below query using the personalizations in the Record Group for the Batch Name.But if the user doesnt give any search criteria and then selects Find then the main form displays all the batches. Hence I want to overide the Data Block where to display accordingly.
select a.name from gl_je_batches a
where 1=1
and a.created_by in (select b.user_id from
fnd_user b,
fnd_profile_option_values c,
fnd_profile_options d
where c.profile_option_id =d.profile_option_id
AND c.level_value = b.user_id
AND profile_option_name='KAP_USER_ORGANIZATION'
AND c.profile_option_value =(select profile_option_value
from fnd_profile_option_values e
where e.level_value =fnd_profile.value('USER_ID')
and profile_option_id=d.profile_option_id)
Thanks,
Ashwini. -
How to run a form using tree node selection??
hi...
i have populated a tree with all the form name.There is a particular id for every form.i want to show a form using tree node selection.What i did...i write a trigger in button's click event when the tree node is selected then i get a id.if id=1 then open_form('test.fmx').when i want to execute this code then it is showing the same form 2 times.Can anyone help me to solve my problem?If so plz tell me what code i have to write to show a form using node selection?.I've done the same thing, and i think it works fine.
Check this code (Sorry for the long post, but i cannot find how to attach files.
PACKAGE menu_pk IS
--Initialization of the menu.
procedure Init;
--Called from WHEN-TREE-NODE-EXPANDED
procedure Expanded;
--Called from WHEN-TREE-NODE-ACTIVATED
procedure ExecuteCommand;
END;
PACKAGE BODY menu_pk IS
MENU_NAME constant varchar2(30) := 'menu.menu';
cursor c_menu(pRoot in varchar2) is
select apm_code, apm_parcode, apm_descr, decode(apm_type, 0, Ftree.EXPANDED_NODE, Ftree.LEAF_NODE) apm_type,
decode(apm_type, 0, 'menu', 1, 'form', 2, 'report') || '.ico' apm_icon
from app_menu
where apm_parcode = pRoot
order by apm_code asc;
procedure Init is
new_node ftree.node;
begin
for i in c_menu('root')
loop
new_node := Ftree.add_tree_node(MENU_NAME, FTree.ROOT_NODE,
Ftree.PARENT_OFFSET, Ftree.LAST_CHILD,
i.apm_type, i.apm_descr, i.apm_icon, i.apm_code);
end loop;
end;
procedure FillNode(pNode in FTree.Node) is
new_node ftree.node;
begin
for i in c_menu(FTree.get_tree_node_property(MENU_NAME, pNode, FTree.NODE_VALUE))
loop
new_node := Ftree.add_tree_node(MENU_NAME, pNode,
Ftree.PARENT_OFFSET, Ftree.LAST_CHILD,
i.apm_type, i.apm_descr, i.apm_icon, i.apm_code);
end loop;
end;
procedure DeleteNodeChilds is
node FTree.NODE;
begin
loop
node := FTree.Find_Tree_Node(MENU_NAME, '',
FTree.FIND_NEXT_CHILD, FTree.NODE_VALUE,
name_in('system.trigger_node'), name_in('system.trigger_node'));
exit when Ftree.ID_NULL(node);
FTree.delete_tree_node(MENU_NAME, node);
end loop;
end;
procedure Expanded is
begin
if (FTree.GET_TREE_NODE_PROPERTY(MENU_NAME, :system.trigger_node, FTree.Node_State) = FTree.EXPANDED_NODE) then
menu_pk.FillNode(name_in('system.trigger_node'));
else
menu_pk.DeleteNodeChilds;
end if;
end;
procedure ExecuteCommand is
cursor c_command(pCode in varchar2) is
select apm_form, apm_type
from app_menu
where apm_code = pCode;
fCommand c_command%rowtype;
fMenuCode varchar2(20);
begin
-- if it is as menu node then exit.
if (not FTree.Get_Tree_Node_Property(MENU_NAME, :system.trigger_node, FTree.NODE_STATE) = FTree.LEAF_NODE) then
return;
end if;
fMenuCode := FTree.Get_Tree_Node_Property(MENU_NAME, :system.trigger_node, FTree.NODE_VALUE);
open c_command(fMenuCode);
fetch c_command into fCommand;
close c_command;
if (fCommand.apm_type = 1) and (fCommand.apm_form is not null) then
globals.Set_MenuChoice(fMenuCode);
OPEN_FORM(fCommand.apm_form);--, ACTIVATE, SESSION);
end if;
end;
END;
The menu table definition follows.
create table APP_MENU
APM_CODE VARCHAR2(10) not null,
APM_PARCODE VARCHAR2(10) not null,
APM_DESCR VARCHAR2(40) not null,
APM_TYPE NUMBER(1) not null,
APM_FORM VARCHAR2(50)
alter table APP_MENU
add constraint APP_MENU_PRI primary key (APM_CODE);
Hope this helps
Maybe you are looking for
-
Can I use my Ipod on my PC and on my Ibook ?
Can I use my Ipod on my PC and on my Ibook ? At home I use my Ibook, at work I use a PC, running on XP prof. Can I use both computers without changing something on my Ipod. I'm a little bit scared to trie it, you never know what happens... thanks in
-
Setting duration a slide stays on screen, where is this set in Keynote 3?
I want to know where do I set the duration of how long a slide stays on screen before it advances? What other settings affect duration? Are the setting for the desired time a slide stays on screen preserved when I export to a Quicktime movie? As alwa
-
How do I save music tin order to add storage space to my Ipod?
How do I save music in order to add storage space to my Ipod?
-
Find number of occurances of a particular character
Hi, is there any keyword to determine number of times a particular character is present in the string, E.g. VAR1 = 'ghghj#ghjgjgh#ghjghjg#ghjg#'. I want to find number of occurances of # in VAR1. Regards, Raghavendra
-
How to download itnes in china?
how to download itunes in china?