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.
    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 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 �&#35234;&#35235;&#35271;&#35273;&#35333; then i get "&#9570;&# 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
    -Vaijayanti

    Hi,
    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.
    Thanks

    Thanks 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,
    Raul

    Hi 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
    RaviKiran

    Hi 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