ADF Tables and 508 Accessibility Complience

How can I apply the 'headers' attribute to individual cells in an ADF table or, as an alternative apply the 'scope' attribute to row and column headers so that my screen reader, currently MS Narrator, will read the contents of each cell?

Yes, I have verified that accessibility-mode is set to 'screenReader' - each row and column is also rendered with a 'select' control. I see that in the generated HTML for the table the scope="col" attribute for each header is being set but not "scope=row" for each row. I've also tried the NVDA screen reader as well - it can 'occasionally' read the contents of each cell using the keyboard arrow keys but it will not read column or row header names - so for large tables a vision impaired user wouldn't know the context for each cell value.
To bring up another point, without the capability of inserting a 'headers' attribute for cell, a table containing multi-layer headings would be impossible for a screen reader to read.
I've also noticed that for single one choice controls the screen reader does not read the label and control widget type until after the select event is generated - usually by pressing the down arrow key. Text entry controls work as expected.

Similar Messages

  • JDev 11g TP4: ADF tables and ADF form pop-ups PPR?

    I was hoping somebody could help me with the following please.
    I'm currently having a bit of an issue with ADF tables and ADF forms embedded in a pop-up, where the wrong record is shown in the popup. I suspect it's a PPR problem but am unsure. My scenario:
    1) I have the following table:
    CREATE TABLE "CHRIS_MUIR_DELETE_ME" (
    "ID" NUMBER(5,0)
    "SOME_COLUMN" VARCHAR2(20 BYTE)
    CONSTRAINT "CHRIS_MUIR_DELETE_ME_PK" PRIMARY KEY ("ID"));2) I have a default ADF BC EO/VO combination for this table.
    3) I have an ADF Faces RC page with a read-only table based on this VO:
    <af:table value="#{bindings.ChrisMuirDeleteMeView.collectionModel}" var="row"
       rows="#{bindings.ChrisMuirDeleteMeView.rangeSize}"
       emptyText="#{bindings.ChrisMuirDeleteMeView.viewable ? 'No rows yet.' : 'Access Denied.'}"
       fetchSize="#{bindings.ChrisMuirDeleteMeView.rangeSize}"
       selectedRowKeys="#{bindings.ChrisMuirDeleteMeView.collectionModel.selectedRow}"
       selectionListener="#{bindings.ChrisMuirDeleteMeView.collectionModel.makeCurrent}"
       rowSelection="single" partialTriggers="myDialog">
      <af:column sortProperty="Id" sortable="false"
        headerText="#{bindings.ChrisMuirDeleteMeView.hints.Id.label}">
         <af:outputText value="#{row.Id}">
            <af:convertNumber groupingUsed="false" pattern="#{bindings.ChrisMuirDeleteMeView.hints.Id.format}"/>
         </af:outputText>
      </af:column>
      <af:column sortProperty="SomeColumn" sortable="false"
         headerText="#{bindings.ChrisMuirDeleteMeView.hints.SomeColumn.label}">
        <af:outputText value="#{row.SomeColumn}"/>
      </af:column>
    </af:table>Note that rowSelection is set to "single".
    3) The page also includes a popup-dialog combo that shows the same data from the table (ie. they're based on the same VO) as an ADF Input Form:
    <af:popup id="myPopUp">
      <af:dialog type="okCancel" id="myDialog">
         <af:panelFormLayout>
            <af:inputText value="#{bindings.Id.inputValue}"
                label="#{bindings.Id.hints.label}"
                required="#{bindings.Id.hints.mandatory}">
               <f:validator binding="#{bindings.Id.validator}"/>
               <af:convertNumber groupingUsed="false" pattern="#{bindings.Id.format}"/>
            </af:inputText>
            <af:inputText value="#{bindings.SomeColumn.inputValue}"
                label="#{bindings.SomeColumn.hints.label}"
                required="#{bindings.SomeColumn.hints.mandatory}"/>
            </af:inputText>
         </af:panelFormLayout>
      </af:dialog>
    </af:popup>Note that the table's partialTriggers is set to the id of the dialog. This implies on return from the dialog, the table will update itself to reflect any changes.
    4) I have a data bound Create commandButton, + a simple Edit commandButton. The Edit button includes an <af:showPopupBehavior> to display the popup:
    <af:commandButton
        actionListener="#{bindings.Create.execute}" text="Create"
        disabled="#{!bindings.Create.enabled}"
        partialTriggers="table1"/>
    <af:commandButton text="Edit">
        <af:showPopupBehavior popupId="myPopUp"/>
    </af:commandButton>If you run the form with the following steps, you can reproduce my issue:
    1) Click the create button, this will create a blank record in the <af:table>
    2) Click the edit button and give the 2 fields values, press ok. Note this is reflected back in the table.
    3) Click the create button, you will now see another blank record in the <af:table>. Note that the current row selection highlight is on the new record.
    4) In the table select the original record, then the Edit button. Oddly the input form is showing the blank record, not the original record even though we selected it in the <af:table>
    This implies to me that I have to hook up a PPR event such that the fields on the popup know to update themselves when the user selects a new row in the table.
    I've tried setting the partialTriggers property for the popup, dialog and individual fields on the popup page to the table id, but this doesn't seem to work.
    Does anybody have any suggestions on how I'm meant to hook up the partialTriggers in this case? I'm at a bit of a loss to know what to do to solve this issue. Is it possible the table selectionListener isn't working?
    Thanks for your help in advance.
    Regards,
    CM.

    G'day gang
    This morning I had a chance to play with Pavle's suggestions, specifically the popup contentDelivery option, and it's solved the issue. Specifically changing the contentDelivery option to lazyUncached was the golden solution.
    As the popup component help states, the default functionality is: "lazy -- the default strategy described above. The content isn't loaded until you show the popup once, but then is cached."
    ....cached being the issue I was seeing.....
    While the lazyUncached options states: "lazyUncached -- the content isn't loaded until you show the popup, and then is re-fetched every subsequent time you show the popup. Use this strategy if the popup shows data that can become stale."
    The nasty thing about the lazy option is the fact that in the dialog it can show the previous cached result (even though you've selected a different record), and you can even appear to edit that cached result in the dialog, but when you press okay in the dialog and return to the previous table, it's updated the record you selected, not the cached result.
    Confusing, but not a bug if you understand the popup contentDelivery options.
    Frank, if you'd like it, I have the simple test case available to send you. But as it's not a bug I wont send it to you unless requested.
    Thanks to both of you for your assistance with this one. Once again your help is much appreciated! :)
    I'll take time out to blog about this in the next few weeks to assist others.
    Thanks & regards,
    CM.

  • Non-database/Non-VO based ADF table: need programmaticall access! 11g

    Hello there,
    I have ADF table with 2 attributes coming from a managed-bean. The table lies within *.jsff page in popup panelWindow. I am able to populate the table from the managed-bean after performing some actions.
    My question is:
    How to  get access to the selected row of that table programmatically? Since I want to perform delete of the selected row (including the values from the managed-bean corresponding to the selected row).
    One of the table attributes contains unique values, but is not set as PK. I don't know if it is necessary to set that attribute to behave as PK. If yes, how do I achieve that, since is not VO-based table ?
    Thanks a lot.
    Regards,
    Valon

    Hi,
    I would like to know how to populate af:table from a managed bean:
    This is what I am trying:
    There is a managed bean: StudentBean.java
    This is registered in adf-config.xml as ADFStudentBean and also registered in faces-config.xml as JSFStudentBean.
    Now I create a jspx page and create a JSF dataTable which I bind to JSFStudentBean. This works fine.
    Next I create an ADF table and try to bind it to ADFStudentBean. It does not get bound since the columns are not appearing in the binding.
    So I try to bind it to JSFSudentBean. This one works. But it throws a runtime exception:
    This message may be avoided by performing initADFContext before using getCurrent().
    <RegistrationConfigurator><handleError> Server Exception during PPR, #1
    javax.servlet.ServletException: java.lang.StackOverflowError
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:333)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    The steps are as follows:
    1. Create Student.java
    2. Create StudentBean.java
    3. Register StudentBean.java as JSFStudentBean in faces-context.xml in request scope.
    4. Register StudentBean.java as ADFStudentBean in adf-config.xml in request scope.
    5. Create jspx file: Use f:dataTable like:
    <h:dataTable value="#{JSFStudentBean.studentData}" var="var" id="dt1">
    <!--oracle-jdev-comment:Faces.RI.DT.Class.Key:oracle.apps.view.Student-->
    <h:column id="c3">
    <f:facet name="header">
    <h:outputText value="Stud Name" id="ot3"/>
    </f:facet>
    <h:outputText value="#{var.studName}" id="ot4"/>
    </h:column>
    <h:column id="c2">
    <f:facet name="header">
    <h:outputText value="Stud Roll" id="ot5"/>
    </f:facet>
    <h:outputText value="#{var.studRoll}" id="ot1"/>
    </h:column>
    <h:column id="c1">
    <f:facet name="header">
    <h:outputText value="Stud Class" id="ot6"/>
    </f:facet>
    <h:outputText value="#{var.studClass}" id="ot2"/>
    </h:column>
    </h:dataTable>
    This works well.
    6. Create af:table and try to bind it to "#{ADFStudentBean.studentData}
    Does not work. The columns do not come in the create table wizard.
    7. Hence I create af:table and bind it to #{JSFStudentBean.studentData}"
    "<af:table value="#{JSFStudentBean.studentData}" var="row"
    rowBandingInterval="0" id="t1">
    <af:column sortable="false" headerText="Stud Name" align="start"
    id="c1">
    <af:outputText value="#{row.studName}" id="ot1"/>
    </af:column>
    <af:column sortable="false" headerText="Stud Roll" align="start"
    id="c3">
    <af:outputText value="#{row.studRoll}" id="ot3"/>
    </af:column>
    <af:column sortable="false" headerText="Stud Class" align="start"
    id="c2">
    <af:outputText value="#{row.studClass}" id="ot2"/>
    </af:column>
    </af:table>"
    Bindings work but fails with the servletException
    Target URL -- http://127.0.0.1:7101/ADFWebApp2-ViewController-context-root/faces/student.jspx
    <ADFContext><getCurrent> Automatically initializing a DefaultContext for getCurrent.
    Caller should ensure that a DefaultContext is proper for this use.
    Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
    This message may be avoided by performing initADFContext before using getCurrent().
    <ADFContext><getCurrent> Automatically initializing a DefaultContext for getCurrent.
    Caller should ensure that a DefaultContext is proper for this use.
    Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
    This message may be avoided by performing initADFContext before using getCurrent().
    <TableRenderer><encodeAll> Table with ID: t1 has no visible columns.
    <ADFContext><getCurrent> Automatically initializing a DefaultContext for getCurrent.
    Caller should ensure that a DefaultContext is proper for this use.
    Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
    This message may be avoided by performing initADFContext before using getCurrent().
    <RegistrationConfigurator><handleError> Server Exception during PPR, #1
    javax.servlet.ServletException: java.lang.StackOverflowError
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:333)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.share.http.ServletADFFilter.doFilter(ServletADFFilter.java:62)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
    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.run(WebAppServletContext.java:3592)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: java.lang.StackOverflowError
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.adf.controller.faces.FacesServletEnvironment.getLocale(FacesServletEnvironment.java:54)
    at oracle.adf.share.http.ServletEnvironment.getRequestLocale(ServletEnvironment.java:120)
    at oracle.adf.share.ADFContext.getLocale(ADFContext.java:1129)
    at oracle.adf.share.config.ADFContextMDSConfigHelperImpl.createSessionOptions(ADFContextMDSConfigHelperImpl.java:89)
    at oracle.adf.share.config.ADFContextMDSConfigHelperImpl.createMDSSession(ADFContextMDSConfigHelperImpl.java:52)
    at oracle.adf.share.ADFContext.getMDSSessionAsObject(ADFContext.java:1289)
    at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.detectChanges(MdsMetadataResourceProvider.java:610)
    at oracle.adf.controller.internal.metadata.MetadataService.getPerUserCache(MetadataService.java:733)
    at oracle.adf.controller.internal.metadata.MetadataService.getPerUserCache(MetadataService.java:707)
    at oracle.adf.controller.internal.metadata.MetadataService.getAdfPageFlow(MetadataService.java:437)
    at oracle.adfinternal.controller.util.StateUtils.getCurrentPageFlow(StateUtils.java:141)
    at oracle.adfinternal.controller.beans.ManagedBeanFactory.getManagedBeanInCurrentPageFlow(ManagedBeanFactory.java:818)
    at oracle.adfinternal.controller.application.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:91)
    at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
    at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
    at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:68)
    at com.sun.el.parser.AstValue.getValue(AstValue.java:107)
    at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
    at javax.faces.component.UIViewRoot.getLocale(UIViewRoot.java:824)
    at oracle.adf.controller.faces.FacesServletEnvironment$PrivilegedFacesLocaleAction.run(FacesServletEnvironment.java:118)
    at oracle.adf.controller.faces.FacesServletEnvironment$PrivilegedFacesLocaleAction.run(FacesServletEnvironment.java:107)
    Student.java:
    public class Student {
    private String studName;
    private Integer studRoll;
    private String studClass;
    public Student() {
    super();
    public Student(String studName, Integer studRoll,
    String studClass) {
    this.studName = studName;
    this.studRoll = studRoll;
    this.studClass = studClass;
    public void setStudName(String studName) {
    this.studName = studName;
    public String getStudName() {
    return studName;
    public void setStudRoll(Integer studRoll) {
    this.studRoll = studRoll;
    public Integer getStudRoll() {
    return studRoll;
    public void setStudClass(String studClass) {
    this.studClass = studClass;
    public String getStudClass() {
    return studClass;
    StudentBean.java:
    package view.example;
    import java.util.ArrayList;
    import java.util.List;
    public class StudentBean {
    private List <Student> studentData;
    public StudentBean() {
    studentData = new ArrayList <Student> ();
    studentData.add(new Student("Rakesh", 23, "Six"));
    studentData.add(new Student("Hari", 12, "Two"));
    studentData.add(new Student("Rajesh", 61, "Five"));
    public void setStudentData(List<Student> studentData) {
    this.studentData = studentData;
    public List<Student> getStudentData() {
    return studentData;
    Please tell me why am I not able to use af:table and the managed bean registered in adf-config.xml?
    Thanks,
    Subhranshu.

  • Refresh adf table and selection row

    Hi,
    I create web application. I have created entity Users from MySQL database and managed Bean. In this managed Bean (sessionScope) is method for connection to database and method for adding new row (data) in database. It works.
    I have 2 problems.
    The first.
    I have form for adding User and commandButton Add.
    How I can refresh (update) adf table after executing SQL command (in commandButton Add) ? Now I must reconnect session.
    The second problem:
    I want to show a panel with data from one row from adf table.
    How I can selection this row in popup ?
    My table:
    <af:table var="user" rowBandingInterval="0" id="t2"
                                                  inlineStyle="margin:20px 30px; width:578pt; height:160pt;"
                                                  value="#{userController.users}"
                                                  rows="15"
                                                  emptyText="#{bindings.UsersprototypView11.viewable ? 'No data to display.' : 'Access Denied.'}"
                                                  fetchSize="#{bindings.UsersprototypView11.rangeSize}"
                                                  editingMode="clickToEdit" rowSelection="single"
                                                  selectedRowKeys="#{userController.selectedUser}"
                                                  selectionListener="#{userController.selectedUser}"> ---- Here I have problem.
                                            <af:column sortProperty="#{user.user_id}"
                                                       sortable="false"
                                                       headerText="ID"                            
                                                       id="c11" width="33">
                                                <af:commandLink id="ot34" text="#{user.user_id}">
                                                    <af:showPopupBehavior popupId="p4" triggerType="action"/>
                                                </af:commandLink>
                                            </af:column>
                                            <af:column sortProperty="#{user.firstname}"
                                                       sortable="false"
                                                       headerText="Firstname"
                                                       id="c20" width="111">
                                                <af:outputText value="#{user.firstname}" id="ot27"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.lastname}"
                                                       sortable="false"
                                                       headerText="Lastname"
                                                       id="c12">
                                                <af:outputText value="#{user.lastname}" id="ot31"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.address}"
                                                       sortable="false"
                                                       headerText="Address"
                                                       id="c9" width="95">
                                                <af:outputText value="#{user.address}" id="ot32"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.city}"
                                                       sortable="false"
                                                       headerText="#City"
                                                       id="c10" width="76">
                                                <af:outputText value="#{user.city}" id="ot33"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.username}"
                                                       sortable="false"
                                                       headerText="Username"
                                                       id="c7" width="102">
                                                <af:outputText value="#{user.username}" id="ot29"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.email}"
                                                       sortable="false"
                                                       headerText="E-mail"
                                                       id="c21" width="106">
                                                <af:outputText value="#{user.email}" id="ot28"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.regdate}"
                                                       sortable="false"
                                                       headerText="Registration"
                                                       id="c8" width="108">
                                                <af:outputText value="#{user.regdate}" id="ot30">
                                                    <af:convertDateTime pattern="#{user.regdate}"/>
                                                </af:outputText>
                                            </af:column>
                                        </af:table>userController is name managed Bean.
    users is list of users.
    My panel window (popup):
    <af:popup childCreation="deferred" autoCancel="disabled" id="p4">
                                        <af:panelWindow id="pw9" title="Delete user">
                                            <af:panelFormLayout id="pfl6">
                                                <af:panelLabelAndMessage label="ID:"
                                                                         id="plam16">
                                                    <af:outputText value="#{userController.selectedUser.user_id}" id="ot50"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Firstname:"
                                                                         id="plam17">
                                                    <af:outputText value="#{userController.selectedUser.firstname}" id="ot51"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Lastname:"
                                                                         id="plam18">
                                                    <af:outputText value="#{userController.selectedUser.lastname}" id="ot52"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Address:"
                                                                         id="plam19">
                                                    <af:outputText value="#{userController.selectedUser.address}" id="ot53"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="City:" id="plam20">
                                                    <af:outputText value="#{userController.selectedUser.city}" id="ot54"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Username:"
                                                                         id="plam21">
                                                    <af:outputText value="#{userController.selectedUser.username}" id="ot55"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="E-mail:" id="plam22">
                                                    <af:outputText value="#{userController.selectedUser.email}" id="ot56"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Registration:"
                                                                         id="plam23">
                                                    <af:outputText value="#{userController.selectedUser.regdate}" id="ot57">
                                                        <af:convertDateTime pattern="#{userController.selectedUser.regdate}"/>
                                                    </af:outputText>
                                                </af:panelLabelAndMessage>
                                            </af:panelFormLayout>
                                            <af:commandButton text="Delete" id="cb18"
                                                              inlineStyle="width:80pt; margin:10px 0px 0px 0px;"/>
                                        </af:panelWindow>
                                    </af:popup>When I cut out row: selectionListener="#{userController.selectedUser}
    Popup (for deleting user) looks like this:
    http://imageshack.us/photo/my-images/404/popupc.jpg/
    I need to get the outputs from <af:outputText> in this popup.
    Thanks for help.
    Edited by: user9202624 on 26.2.2013 7:52

    thanks for answer.
    I added partialTriggers in af:table
    <af:table var="user" rowBandingInterval="0" id="t2"
                                                  inlineStyle="margin:20px 30px; width:578pt; height:160pt;"
                                                  value="#{userController.users}"
                                                  rows="15"
                                                  emptyText="#{bindings.UsersprototypView11.viewable ? 'No data to display.' : 'Access Denied.'}"
                                                  fetchSize="#{bindings.UsersprototypView11.rangeSize}"
                                                  editingMode="clickToEdit" rowSelection="single"
                                                  selectedRowKeys="#{userController.selectedUser}"
                                                  partialTriggers="::t1" >What next ? What should I do next ? Sry, I'm newbie in adf and jDev.
    Edited by: user9202624 on 26.2.2013 8:55

  • ADF table and ADF form on the same view object

    Hi,
    As per the ADF demos available on ADF site, I created a jsf page with 2 panels. One panel is an ADF table based on a view object. And the other panel is and ADF form based on the same view object. My requirement is that as I scroll through the records in the ADF table, the ADF Form should dynamically display the details of the record in the ADF table. My understanding is that this should be automatic. However, its not working as expected. What have I missed?

    Hi,
    Apply PPR for form that displays details.
    Like :
    <af:table id="t3">
    </af:table>
    <af:panelFormLayout id="pfl2" partialTriggers="t3">
    </af:panelFormLayout >

  • Detailed layered ADF tables and reports; CSV

    I have implemented this http://kuba.zilp.pl/?id=361 to produce CSV files from view objects and BC's. This worked fine when dealing with one simple queried View object. I have hit a wall because my data and queries have become more involved. Example:
    Sponsor 112234
    Item Qty Site Cost Description
    NSN 0000-00-000-0003 122 122 $0.00 SCDR TST
    NSN 0000-00-000-0003 30 PHL $0.00 SCDR TST
    Total Cost for 112234: $0.00
    Sponsor ARMY-TACOM
    Item Qty Site Cost Description
    C/P (*0000) 29742 1 PHL $100.00 PUMP, BRONZE
    C/P (*0000) 320 01434 02 1 PHL $10.00 POWER SWITCH
    C/P (*0000) 320 01437 01 1 PHL $10.00 SWITCH, WATER DRAIN
    C/P (*0000) 321 30671 01 1 PHL $2,637.18 SAMPLING, MEASURE
    C/P (*0000) 321 30676 1 PHL $10.00 HOUSING, VIBRATOR
    View the above data as ONE table, and not TWO seperate tables.
    In this example, I am showing all the info. for EACH sponsor.
    Is is possible to create ONE table/View Object to give me this information? And can an HTML report be produced from that View Object?
    Thanks.

    Hi,
    sure, you can create read-only VO that are based on SQL queriesincluding one to many tables. If you need the Views to be updateable then you create Entities for each table and createa VO on top of that
    Frank

  • JavaFX and 508/accessibility compliance

    I'm looking for information on 508 or accessibility compliance for applications written in JavaFX. Where can I find information relating this topic? Thank you.

    I think what you are seeing at runtime is expected behavior - you can check the same on the ADF Faces components demo here:
    http://jdevadf.oracle.com/adf-richclient-demo/faces/index.jspx
    and turn screen reader usage on the setting menu.
    Note that the idea is that you only turn on screen reader mode for the users who need it - the rest can use the "regular" mode.
    See this pattern: http://www.oracle.com/technetwork/developer-tools/adf/accessibilitygloballink-085248.html

  • Problem with ADF Table and doDML method.

    HI,
    I have a problem with ADF Trinidad Table. I have one search form and which i click on search button the result is coming it's working fine, And when i click on CreateInsert button to insert a new row it's adding after entering all the data into the table when i click on button on the page i am getting error like
    Messages for this page are listed below.
    Error     
    Missing mandatory attributes for a row with key oracle.jbo.Key[1 ] of type AppModule.CmSubscribersView1
    Error     
    Attribute Name in AppModule.CmSubscribersView1 is required
    Error     
    Attribute CreatedBy in AppModule.CmSubscribersView1 is required
    Error     
    Attribute CreationDate in AppModule.CmSubscribersView1 is required
    Here Created By and Creation Date are not available in the table i need to set these data from back end for that i have used doDML() method in the entity object and i written the logic but this method not even invoking as i couldn't able to see the logs in the server.
    protected void doDML(int operation, TransactionEvent e) {
    super.doDML(operation, e);
    System.out.println("^^^^^^^^^^^^^^^^66666Inside entity object^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ");
    // AppModuleImpl am=new AppModuleImpl();
    // Number userID= am.getUserId();
    //System.out.println("User id in the Entity Object Is: "+userID);
    oracle.jbo.domain.Date dt = new Date();
    if(operation ==DML_INSERT){
    EntityDefImpl cmSubscribers=CmSubscribersImpl.getDefinitionObject();
    CmSubscribersImpl newSubscribers=(CmSubscribersImpl)cmSubscribers.createInstance2(getDBTransaction(),null);
    Number n=new Number(1599);
    newSubscribers.setCreatedBy(n);
    newSubscribers.setCreationDate(dt);
    newSubscribers.setLastUpdateDate(dt);
    newSubscribers.setLastUpdatedBy(n);
    But still the same problem can any one help me inthis.
    Regards,
    Edited by: user5802014 on Aug 21, 2009 2:04 PM

    Hi,
    Modify your method to call super.doDML() after initialization of mandatory attributes as below:
    protected void doDML(int operation, TransactionEvent e) {
         oracle.jbo.domain.Date dt = new Date();
         if(operation ==DML_INSERT){
              //PRE-INSERT code begins     
           EntityDefImpl cmSubscribers=CmSubscribersImpl.getDefinitionObject();
           CmSubscribersImpl newSubscribers=(CmSubscribersImpl)cmSubscribers.createInstance2(getDBTransaction(),null);
           Number n=new Number(1599);
           newSubscribers.setCreatedBy(n);
           newSubscribers.setCreationDate(dt);
           newSubscribers.setLastUpdateDate(dt);
           newSubscribers.setLastUpdatedBy(n);
           //PRE-INSERT code ends
           super.doDML(operation, e);
           //POST-INSERT code if any
         }else
            super.doDML(operation, e);
    }Sireesha

  • ADF Table and Command Link

    Hi,
    I am using version 11.1.1.5.0;
    I am facing an issue with a commandLink held in a table column and it's actionListener not firing ahead of the selectionListener of the table.
    The selectionListener of the table call a method in the backing bean to show/hide like a toggle affect. When the commadLink is visible and selected there is an actionListener to execute another method but the tables selectionListener takes precedence and the commandLink is hidden.
    Any suggestions?
    Regards
    Sun-E

    JSF Fragment code:
    <af:table value="#{bindings.clearedConditionsVO1.collectionModel}"
    var="row" rows="#{bindings.clearedConditionsVO1.rangeSize}"
    id="t4" rowSelection="single" styleClass="conTable"
    columnStretching="column:col2" horizontalGridVisible="false"
    verticalGridVisible="false" fetchSize="100"
    *selectionListener="#{pageFlowScope.consRIBean.cleConSelListner}"*
    contentDelivery="immediate" rowBandingInterval="0"
    autoHeightRows="100">
    <af:column id="col2">
    <af:panelGroupLayout id="pgl59" layout="vertical"
    styleClass="conditionsIter2" valign="top">
    <af:panelGroupLayout id="panelGroupLayout16" layout="vertical">
    <af:outputText id="outputText9" value="Affected plot(s):"
    styleClass="outstanding_right"/>
    <af:outputText value="#{row.bindings.Clearedplots.inputValue}"
    id="outputText10" styleClass="conText"/>
    </af:panelGroupLayout>
    <af:panelGroupLayout id="pgl63" layout="horizontal"
    styleClass="gap1"
    rendered="#{row.exCol eq 'true' ? 'true' : 'false'}">
    <af:outputText id="ot35" value="Creation date:"C
    <af:panelGroupLayout id="pgl64" layout="horizontal"
    styleClass="APdpr"
    rendered="#{row.exCol eq 'true' ? 'true' : 'false'}">
    <af:panelGroupLayout id="pgl65" layout="horizontal"
    halign="left">
    <af:outputText value="contact: #{row.bindings.Contact.inputValue}"
    id="ot37" styleClass="conText"/>
    </af:panelGroupLayout>
    <af:panelGroupLayout id="pgl66" layout="horizontal"
    halign="right">
    <af:image source="/images/arwlink_arrow.png" id="i7"
    shortDesc="back"/>
    <af:commandLink text="Contact" id="cl18"
    styleClass="arwlink"
              *actionListener="#{pageFlowScope.consRIBean.openPopUp}">*
    <af:setPropertyListener from="#{row.ConditionRiId}"
    to="#{pageFlowScope.conditionRIiD}"
    type="action"/>
    </af:commandLink>
    </af:panelGroupLayout>
    </af:panelGroupLayout>
    <af:outputText value="Job Ref: #{row.bindings.FusionJobId.inputValue}"
    id="ot38"
    rendered="#{row.exCol eq 'true' ? 'true' : 'false'}"
    styleClass="conText"/>
    <af:spacer width="10" height="10" id="s24"/>
    <af:panelGroupLayout id="pgl60"
    rendered="#{row.exCol eq 'true' ? 'false' : 'true'}">
    <af:image source="/images/arwlink_add.png" id="i8"
    shortDesc="Read more"/>
    <af:commandLink text="Read more" id="cl11"
    styleClass="arwlink"
    action="#{pageFlowScope.consRIBean.showClearConCollection}">
    <af:setPropertyListener from="#{row.ConditionRiId}"
    to="#{pageFlowScope.conditionRIiD}"
    type="action"/>
    </af:commandLink>
    </af:panelGroupLayout>
    </af:panelGroupLayout>
    </af:panelGroupLayout>
    <af:panelGroupLayout id="pgl68" styleClass="conditionsIter4"
    layout="vertical" valign="top"
    rendered="#{row.exCol eq 'true' ? 'true' : 'false'}">
    <af:outputText value="Documents tagged to this condition:"
    id="ot39" styleClass="DocCons"/>
    <af:panelGroupLayout id="pgl69" styleClass="gap1">
    <af:image source="/images/arwlink_arrow.png" id="i9"
    shortDesc="Send"/>
    <af:commandLink text="Send now" id="cl12" styleClass="arwlink"/>
    </af:panelGroupLayout>
    </af:panelGroupLayout>
    </af:panelGroupLayout>
    <af:spacer height="15" id="s13"/>
    </af:column>
    </af:table>
    </af:panelGroupLayout>

  • Not able to select and copy from adf table in IE and chrome if we enable row selection

    Hi All,
    We have an adf table and user wants to select and copy table cell values.
    We enabled row selection on adf table. Ifrow selection is in place, IE and Chrome are not allowing user to select and copy data. But Firefox is allowing.
    Do we have any solution to this? For our customer IE is the standard browser and they do test app on IE.
    Regards
    PavanKumar

    Hi Timo,
    Sorry forgot to mention versions.
    We are using 11.1.1.7 and IE 9.
    I tried in Google but could not get the solution.
    Kindly let me know solution for this.
    PavanKumar

  • How to get selected entity from ADF Table

    I'm using EJB and ADF Faces.
    I have an ADF Table, and when a row is selected I'd like to be able to get the EJB Entity that was selected, is this feasible?
    The reason I would like to do it, is for a Dialog. I have a popup dialog, and in the popup the user can do a search. The results are displayed in the ADF table. When supplying the return value from the dialog:
    AdfFacesContext.getCurrentInstance().returnFromDialog(?, null);
    I would like ? to be the EJB entity representing the row, because I need to return the value of more than one of the columns. Is this not realistic, or should I just add then to a List and pass that back?
    thanks
    R

    Thanks KUBA,
    I hacked some code from the inbuilt JDeveloper Help. Are you saying there is an easier way than this, or did I state the question poorly and you gave an answer to something else? My english is not always perfect.
    This is the code that works for me. (cmdSelect is the submit button on the table)
    public String cmdSelect_action() {
    //Access the tableSelectMany1 table. Note that the table name
    //is taken from the id of the table in the JSF page.
    CoreTable table = this.getUserResultsTable();
    //Obtain a list of all selected rows from the table
    Set rowSet = table.getSelectionState().getKeySet();
    Iterator rowSetIter = rowSet.iterator();
    //Use the declarative method to get the ADF bindings
    BindingContainer bindings = getBindings();
    //Get the object to delete. To do this, you must get the
    //iterator binding for the Products in the page definition file,
    //and cast it to DCIteratorBinding for further processing
    DCIteratorBinding pr_dcib = (DCIteratorBinding)
    bindings.get ("queryUserVFindByFullNameIter");
    //Loop through the set of selected row numbers and delete the
    //equivalent object from the Products collection.
    UserV userV = null;
    while (rowSetIter.hasNext()){
    //get the table row
    Key key = (Key) rowSetIter.next();
    //set the current row in the ADF binding to the same row
    pr_dcib.setCurrentRowWithKey(key.toStringFormat(true));
    //Obtain the Products object to delete
    RowImpl prRow = (RowImpl) pr_dcib.getCurrentRow();
    //using the generated code to execute the declarative method
    userV = (UserV)prRow.getDataProvider();
    break;
    AdfFacesContext.getCurrentInstance().returnFromDialog(userV, null);
    return null;
    }

  • How to get selected row from a non-bind ADF table

    Hi,
    I have an ADF table that is based on a collectionModel built programmatically. The collectionModel is this:
    model = new SortableModel(new ArrayList<ArrayList>());
    Hence, it is not a binding table. My question is how to get the selectedRows from a non-bind table.
    I am used to building binding ADF table and I know we can get it from voiterator.getCurrentRow, since the selectionListener is set to the binding....collectionModel.makeCurrent
    <af:table value="#{bindings.ItasLookupTypesVO1.collectionModel}"
    selectedRowKeys="#{bindings.ItasLookupTypesVO1.collectionModel.selectedRow}"
    selectionListener="#{bindings.ItasLookupTypesVO1.collectionModel.makeCurrent}"
    </af:table>
    I am thinking maybe I need to write my own selectionListener, but need more advice/ideas of what's the codes in the customer selection Listener to get it from my SortableModel.
    Please help.
    Thanks
    -Mina

    I'm not sure if this works in your case, but check out the selection listener I write in this blog http://wp.me/pcBZk-eu
    You should use the selection event and check the added set. This should give you access to the selected row.
    Timo

  • Issue with ADF:Table, always getRowIndex() is returning first row.

    Hi Friends,
    I am working on adf:table and trying to get the selected row of the table. I always get rowindex as 0.
    I am using the following code in my Bean:
    UIXTable searchTable = getEmpTable();
    FacesCtrlHierNodeBinding rowdata =
    (FacesCtrlHierNodeBinding) searchTable.getRowData(searchTable.getRowIndex());
    jsff code:-
    <af:table value="#{bindings.EmpTRVO.collectionModel}"
    var="row"
    rows="#{bindings.EmpTRVO.rangeSize}"
    emptyText="#{bindings.EmpTRVO.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.EmpTRVO.rangeSize}"
    rowBandingInterval="0" id="t2"
    contentDelivery="immediate"
    autoHeightRows="#{bindings.EmpTRVO.estimatedRowCount}"
    binding="#{pageFlowScope.Bean.EmpTable}"
    styleClass="AFStretchWidth"
    rowSelection="single"
    selectionListener="#{bindings.EmpTRVO.collectionModel.makeCurrent}">
    Please suggest !
    Thanks in advance.

    Which jdev version do you use?
    You can use the current row of the iterator the take use.
    DCIteratorBinding iterBind= (DCIteratorBinding)dcBindings.get("te stIterator"); String attribute = (String)iterBind.getCurrentRow().getAttribute("field1");Timo

  • How to programmatically change the cell color of an ADF table ?

    Hi all,
    I have an ADF table with some fields on it. Depending on the value of a field named, say, "F1", I would like to change its background color.
    So far I can change the field color with this EL expression inside the InlineStyle table column property:
    font-size:medium; background-color:#{viewScope.myBean.setColor};
    where setColor is a bean function, in where I access the field "F1" via binding, parse its value, and return the right value - so far, so good.
    The bad thing is, the InlineStyle affects that field in all the rows of the table, while I would like to change only the field in the rows, which have that specific value in it.
    So for example having the rows:
    F1
    abc#1 ----> currently selected row
    cde#2
    efg#3
    I want to change the background color to all the F1 fields which have a "1" after the '#' and let the other "F1" row cells background color stay unchanged.
    But as you can imagine, the InlineStyle affect the "F1" background color in all the rows (assuming that the first row of the table is selected).
    So the question: how to access a single cell of a row in an ADF table, and programmatically change its background color ?
    So far I can iterate through the ADF table with:
    BindingContext bindingctx = BindingContext.getCurrent();
    BindingContainer bindings = bindingctx.getCurrentBindingsEntry();
    DCBindingContainer bindingsImpl = (DCBindingContainer) bindings;
    DCIteratorBinding dciter = bindingsImpl.findIteratorBinding("aTableIterator");//access the iterator by its ID value in the PageDef file
    RowSetIterator rsi = dciter.getRowSetIterator();
    System.out.println("rsi getrowcount = " rsi.getRowCount());+
    Row row = null;
    +if (rsi.getRowCount() > 0) {+
    row = rsi.getCurrentRow();
    System.out.println("row attr = " Arrays.toString(row.getAttributeNames()));+
    System.out.println("class : " row.getAttribute("F1").getClass().toString());+
    +}+
    +while (rsi.hasNext()) {+
    row = rsi.next();
    System.out.println("row attr = " Arrays.toString(row.getAttributeNames()));+
    +}+
    Regards,
    Sergio.

    Hi,
    I mean a specific cell within a row.
    Here are two pictures that show an ADF table with two rows and some fields on it:
    https://skydrive.live.com/?cid=7D3084D8BF755808&id=7D3084D8BF755808!107&sc=documents#cid=7D3084D8BF755808&id=7D3084D8BF755808!107&sc=documents
    bild_A is what I have, bild_B is what I would like. Note that:
    in bild_A the first row contain a yellow background color for the field F4 and an orange background color for the field F5. This is correct, because F4 has an "1" at the end of its string value, and F5 has a "3" at the end. So far so good.
    But the second row (again, bild_A) has also the fields F4 with yellow background color, and the field F5 with orange background color, even if the value in both fields is 0.
    What is should be, is shown in bild_B.
    The problem is that the solution provided affects all the cells of the column, while I need to change the background color of a single cell, and leave the other unchanged (see bild_B).
    I hope that clarify a bit :)
    Sergio.

  • Error when clearing  adf table when CacheResults="false"

    hi i have a situation where am trying to clear my adf table when navigating away from the page ,for example if i entered value in adf table and did not save and navigate away from page ,when i come back i what the table to be empty not with previously entered values.
    this is what i have done
    i set my pagedefination to
    <accessorIterator MasterBinding="OrgValidationBeanIterator"
                          Binds="ocompanyofficerdetails"
                          DataControl="OrgValidationBean"
                          BeanClass=""
                          id="ocompanyofficerdetailsIterator" Refresh="deferred"
                          CacheResults="false"/>
    my problem is when i navigate to from one inputtext to another in my adf table i get this error
    <XmlErrorHandler> <handleError> ADF_FACES-60096:Server Exception during PPR, #1
    javax.el.PropertyNotFoundException: Target Unreachable, identifier 'row' 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:486)
        at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.getReadOnly(EditableValueRenderer.java:400)
        at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.wasSubmitted(EditableValueRenderer.java:343)
        at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.decodeInternal(EditableValueRenderer.java:116)
        at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.decodeInternal(LabeledInputRenderer.java:56)
        at oracle.adf.view.rich.render.RichRenderer.decode(RichRenderer.java:293)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1118)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.decode(UIXComponentBase.java:717)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:800)
        at org.apache.myfaces.trinidad.component.UIXEditableValue.processDecodes(UIXEditableValue.java:236)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ApplyRequestValuesCallback.invokeContextCallback(LifecycleImpl.java:1394)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1410)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXCollection.invokeOnComponent(UIXCollection.java:1104)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnNamingContainerComponent(UIXComponentBase.java:1380)
        at org.apache.myfaces.trinidad.component.UIXDecorateCollection.invokeOnComponent(UIXDecorateCollection.java:121)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent(ContextSwitchingComponent.java:194)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at oracle.adf.view.rich.component.fragment.UIXInclude.invokeOnComponent(UIXInclude.java:147)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnNamingContainerComponent(UIXComponentBase.java:1380)
        at oracle.adf.view.rich.component.fragment.UIXRegion.invokeOnComponent(UIXRegion.java:555)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at oracle.adf.view.rich.component.rich.RichDocument.invokeOnComponent(RichDocument.java:168)
        at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:720)
        at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:678)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:407)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
        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:179)
        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)
    my adf table is
    <af:table value="#{bindings.ocompanyofficerdetails.collectionModel}"
                              var="row"
                              rows="#{bindings.ocompanyofficerdetails.rangeSize}"
                              emptyText="#{bindings.ocompanyofficerdetails.viewable ? 'No data to display.' : 'Access Denied.'}"
                              fetchSize="#{bindings.ocompanyofficerdetails.rangeSize}"
                              rowBandingInterval="0"
                              selectedRowKeys="#{bindings.ocompanyofficerdetails.collectionModel.selectedRow}"
                              selectionListener="#{bindings.ocompanyofficerdetails.collectionModel.makeCurrent}"
                              rowSelection="single" id="t1" width="100%"
                              partialTriggers="ctb1 ctb2" first="1">
                      <af:column sortProperty="name" sortable="false"
                                 headerText="Name" id="c1" width="80">
                        <af:inputText
                                      label="#{bindings.ocompanyofficerdetails.hints.name.label}"
                                      required="true"
                                      columns="#{bindings.ocompanyofficerdetails.hints.name.displayWidth}"
                                      maximumLength="#{bindings.ocompanyofficerdetails.hints.name.precision}"
                                      shortDesc="#{bindings.ocompanyofficerdetails.hints.name.tooltip}"
                                      id="it9"
                                      value="#{row.bindings.name.inputValue}"
                                      immediate="false" autoSubmit="true">
                          <f:validator binding="#{row.bindings.name.validator}"/>
                        </af:inputText>
                      </af:column>
                      <af:column sortProperty="surname" sortable="false"
                                 headerText="Surname" id="c2">
                        <af:inputText
                                      label="#{bindings.ocompanyofficerdetails.hints.surname.label}"
                                      required="true"
                                      columns="#{bindings.ocompanyofficerdetails.hints.surname.displayWidth}"
                                      maximumLength="#{bindings.ocompanyofficerdetails.hints.surname.precision}"
                                      shortDesc="#{bindings.ocompanyofficerdetails.hints.surname.tooltip}"
                                      id="it12"
                                      value="#{row.bindings.surname.inputValue}"
                                      autoSubmit="true">
                          <f:validator binding="#{row.bindings.surname.validator}"/>
                        </af:inputText>
                      </af:column>
                      <af:column sortProperty="dentitynumber" sortable="false"
                                 headerText="Identity Number" id="c6" width="90">
                        <af:inputText
                                      label="Identity Number"
                                      required="true"
                                      columns="20"
                                      maximumLength="#{bindings.ocompanyofficerdetails.hints.dentitynumber.precision}"
                                      shortDesc="#{bindings.ocompanyofficerdetails.hints.dentitynumber.tooltip}"
                                      id="it10"
                                      value="#{row.bindings.dentitynumber.inputValue}"
                                      autoSubmit="true">
                          <f:validator binding="#{row.bindings.dentitynumber.validator}"/>
                          <af:convertNumber groupingUsed="false"
                                            pattern="#{bindings.ocompanyofficerdetails.hints.dentitynumber.format}"/>
                        </af:inputText>
                      </af:column>
                      <af:column sortProperty="emailaddress" sortable="false"
                                 headerText="Email Address" id="c4" width="90">
                        <af:inputText value="#{row.bindings.emailaddress.inputValue}"
                                      label="#{bindings.ocompanyofficerdetails.hints.emailaddress.label}"
                                      required="true"
                                      columns="20"
                                      maximumLength="#{bindings.ocompanyofficerdetails.hints.emailaddress.precision}"
                                      shortDesc="#{bindings.ocompanyofficerdetails.hints.emailaddress.tooltip}"
                                      id="it13" autoSubmit="true">
                          <f:validator binding="#{row.bindings.emailaddress.validator}"/>
                             <af:validateRegExp pattern="[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}"
                                                   messageDetailNoMatch="The value provided is not a valid email address"/>
                        </af:inputText>
                      </af:column>
                      <af:column sortProperty="contactnumber" sortable="false"
                                 headerText="Contact Number" id="c3" width="80">
                        <af:inputText
                                      label="Contact Number"
                                      required="true"
                                      columns="#{bindings.ocompanyofficerdetails.hints.contactnumber.displayWidth}"
                                      maximumLength="#{bindings.ocompanyofficerdetails.hints.contactnumber.precision}"
                                      shortDesc="#{bindings.ocompanyofficerdetails.hints.contactnumber.tooltip}"
                                      id="it11"
                                      value="#{row.bindings.contactnumber.inputValue}"
                                      autoSubmit="true">
                          <f:validator binding="#{row.bindings.contactnumber.validator}"/>
                        </af:inputText>
                      </af:column>
                      <af:column sortProperty="ownership" sortable="false"
                                 headerText="Ownership" id="c5" width="50">
                        <af:selectBooleanCheckbox id="sbc1"
                                                  value="#{row.bindings.ownership.inputValue}"/>
                      </af:column>
                      <af:column sortProperty="accountingofficer" sortable="false"
                                 headerText="Accounting Officer" id="c7" width="80">
                        <af:selectBooleanCheckbox id="sbc2"
                                                  value="#{row.bindings.accountingofficer.inputValue}"/>
                      </af:column>
                                  <af:column id="c8" headerText="Actions"
                                             headerNoWrap="true" width="150">
                                    <af:panelGroupLayout id="pgl1"
                                                         layout="horizontal">
                                      <af:commandToolbarButton actionListener="#{bindings.Create.execute}"
                                                               text="Add New"
                                                               disabled="#{!bindings.Create.enabled}"
                                                               id="ctb1"/>
                                      <af:spacer width="10" height="10" id="s5"/>
                                      <af:commandToolbarButton actionListener="#{bindings.Delete.execute}"
                                                               text="Delete"
                                                               id="ctb2"
                                                               disabled="#{!bindings.ocompanyofficerdetails.viewable}"
                                                               immediate="true"/>
                                    </af:panelGroupLayout>
                                  </af:column>
                                </af:table>
    i think amgeting the error because my inputtext is set autosubmit=true
    if i don't autosubmit=true am not able to iterator in my table
    DCIteratorBinding it = ADFUtils.findIterator("ocompanyofficerdetailsIterator");
    if(it != null && it.size() >0){                        
    for(Row r : it.getAllRowsInRange() ) {                             
    EntityDefImpl accDef2 =UamCompanyofficerdetailsImpl.getDefinitionObject();
    UamCompanyofficerdetailsImpl comp = (UamCompanyofficerdetailsImpl)accDef2.createInstance2(am.getDBTransaction(),null);
    name = (String)r.getAttribute("name");
    System.out.println("offname" +name);
    surname = (String)r.getAttribute("surname");
    //String attribute = (String)iterBind.getCurrentRow().getAttribute("field1"); 
    System.out.println("surnametest " +surname);
    identitynumber = (String)r.getAttribute("dentitynumber");
    System.out.println("idtest " +identitynumber);
    emailaddress = (String)r.getAttribute("emailaddress");
    System.out.println("emailtest" + emailaddress);
    contactnumber = (String)r.getAttribute("contactnumber");
    System.out.println("contatc" + contactnumber);
    ownership = (String)r.getAttribute("ownership");
    System.out.println("ownership " + ownership);
    accountofficer = (String)r.getAttribute("accountingofficer");
    System.out.println("accountoffice " + accountofficer);
    comp.setName(name);
    System.out.println("offname " + name);
    comp.setSurname(surname);
    System.out.println("surnameoff " +surname);
    comp.setIdentitynumber(identitynumber);
    System.out.println("identitynumber " +identitynumber);
    comp.setEmailaddress(emailaddress);
    System.out.println("emailaddresscomp " +emailaddress);
    comp.setContactnumber(contactnumber);
    System.out.println("contactnumbercomp " + contactnumber);
    comp.setOwnership(ownership);
    System.out.println("ownershipcomp " + ownership);
    comp.setAccountingofficer(accountofficer);
    System.out.println("accountofficer " +accountofficer);
    officeid = comp.getOfficerid();
    System.out.println("afterofficeid " + officeid);
    comp.setOrganisationid(orgid);
    am.getDBTransaction().commit();
    System.out.println("***insetead companyofficials****" +  officeid ) ;

    Tor, you didn't miss a step but you used the wrong turn in the middle.
    JDev version are tidily coupled to wls versions. Read my blog http://tompeez.wordpress.com/2011/09/14/jdeveloper-versions-vs-weblogic-server-versions/ to get more info on that. So the first decision to take is if you want to use SOA, BPMN and stuff like that, then use JDev 11.1.1.7.0 or if you like to use JSF2.0 and faclets withotu SOA, then use JDev 11.1.2.3.0.
    As you said you are working with SOA later on 11.1.1.7.0 is the right version for you. WebLogic server 10.3.6 with the right adf runtime installed and there should be no problem.
    Timo

Maybe you are looking for

  • Opinions on Cleaning?

    Hi, So far to clean my MBP I've been using the Screen Dr. Pro solution on a microfiber cloth. For the hard to reach places, such as in between the keys on the keyboard, and the end pieces of the screen (corners, and around the edges), I've been using

  • Template categories in Outlook 2010/2013

    Hello! Is there any chance to categorize Outlook templates? When I creating my own Outlook template and then use it from User Template in File System, I see there is available Category View and if I select it I can see my templates under tree like: [

  • How to get out of tex edit mode with a single button?

    Hey, Is there a way to escape from text edit mode with a single click or button? So far I always hit CTRL+Enter, then V and then I click away from the canvas so that the paragraph ain't higlighted no more. But thats a pain in the butt! Cant there be

  • Can you include hyperlinks in an indesign doc. exported to HTML?

    Trying to send an email newsletter that has images/hyperlinks and maintains its format. When you export an indesign doc. into html code will the hyperlinks still work? If so, what do I have to do to make sure that the links and images work after send

  • SA 520w wireless issues in NG mode

    Has anyone else experienced wireless issue while having the device in NG mode? I have the latest firmware installed x.x.42 and have a mix of g and n clients and different OSs from Ubuntu to Win7 and XP. The N clients don't have the issue the G client