Getting a View Object Total Attributes

Hi, Is there any way to retrieve the Attribute count (DataBase Columns) of a View Object in its own java implementation?
I'm using this:
JDev 11.1.1.6
System.out.println("this.getEntityDef(0).getAttributeCount() " + this.getEntityDef(0).getAttributeCount());
System.out.println("Column count1 " + this.getAttributeCount());
System.out.println("Column count2 " + this.getAttributeDefs().length);
System.out.println("Column count3 " + this.getProperties().size());
but none of them works the best way:
the first one gives me 6 more than the actual columns that excist in the entity object
the second and third are gives me more than the attributes of that object
the forth gives me 200 and more
which way gives me the count of the database table columns, and how can I access it in by index?
thanks

- Here is modified code, which prints attribute name along with database column name the attribute represents:
public int getCountOfPersistentAttrs() {
        int result = 0;
        for (AttributeDef attr : getAttributeDefs()) {
            if (attr.getAttributeKind() == AttributeDef.ATTR_PERSISTENT) {
                 System.out.println("Name of persistent attribute : " + attr.getName());
                 System.out.println("Name of the database column the attribute represents : " + attr.getColumnName());
                 result++;
        return result;
    }

Similar Messages

  • How to get the view Object in UserDefined Action

    Hi  All,
       Any body tell me how to get the view object , like the view object avilable in the wdDoModifyView() method as parameter.
    I have requirement like, i want to change the , no of rows displaying in the table should be changed at the runtime based onthe no of rows  selected in the dropdown box.
    The action which i created will be assigned to that dropdown box, on select of the available option, i will get the view object and change the properties of the "maxrows" of the table .
    so for getting the view object in the  the Action methods tell me what is the procedure for getting the current view object.

    Hello Vishal,
    Simply create a value attribute (say rowCount) of type 'integer' and bind it to the 'visibleRowCount' property of your table. Then, in the actionHandler get the value from the UI element (in your case, I guess it is drop down) and set it to the attribute 'rowCount' like this.
    wdContext.currentContextElement.setRowCount(
        wdContext.current<nodeElement>.set<AttributeBound toDropDown>);
    Bala

  • View Object New Attribute Setting Expression

    I am trying to create a new attribute in a View Object. I wish to have the attribute contain some strings and fields (like dashes between other fields).
    Simple concatenation works fine:
    YEAR||SEQ||TYPE -- this works!
    When I try to add the dash using the wizard like this:
    YEAR||'-'||SEQ
    I get an error in the SQL query and the following appears in the view.xml file:
    YEAR||#39;-#39;||SEQ -- left out & so the #39 would post
    I am considering creating an new table in Oracle, but this would be easier if it is possible.
    I am using JDeveloper 9.0.3 and Oracle 9iAS on Windows 2000.
    I have tried several ways to get the dash in the new attribute like "-", but the wizard will not cooperate and editing the file directly didn't work either.
    Any ideas would be appreciated.

    Hi Timo,
    Thank you very much for the explanation and direction. I will do that way. I have found that implementing view object and view row class I could do the similar kind of thing for the transient attribute.
    public Number getTotalPoints() {   
    RowIterator con= getConnectionViewImpl();
       Number sum = new Number(0);
       while (con.hasNext()) {     
          sum = sum.add( (Number)con.next().getAttribute("Points"));
        }    return sum;
      } took form
    http://technology.amis.nl/blog/1295/creating-a-dynamic-ajax-column-footer-summary-in-a-table-component-using-adf-faces
    But it also slow as 1 st method
    I am wonder whether both ways behave as similarly or they are totally different implementation?

  • View Object transient attribute (Calculate sum) using groovy problem

    Hi
    I have a read only view object named "ConnectionVVO". And it has database field name "points"(type is number).
    Now I need to take the sum of points.
    For this I did the following.
    Self view object added to the same view object as a view accessor named "ConnectionVVO1".
    Created a transient attribute named "TotalPoints".
    Added following groovy as the value expression of the above transient attribute.
    adf.object.ConnectionVVO1.getRowSet().sum("points")after that when I run the application module and run the view object it was extremely slow. Actually nothing was appeared. There after I modified the sql statement and added a where clouse to select few rows.
    Then it was appeared without slowness.
    The table has around 11 million records.
    Could you please provide a hint or any alternate way for doing this(getting the sum of points).
    Please help.
    Edited by: deshan on Mar 9, 2011 2:56 PM

    Hi Timo,
    Thank you very much for the explanation and direction. I will do that way. I have found that implementing view object and view row class I could do the similar kind of thing for the transient attribute.
    public Number getTotalPoints() {   
    RowIterator con= getConnectionViewImpl();
       Number sum = new Number(0);
       while (con.hasNext()) {     
          sum = sum.add( (Number)con.next().getAttribute("Points"));
        }    return sum;
      } took form
    http://technology.amis.nl/blog/1295/creating-a-dynamic-ajax-column-footer-summary-in-a-table-component-using-adf-faces
    But it also slow as 1 st method
    I am wonder whether both ways behave as similarly or they are totally different implementation?

  • RowSetInfo; bc4j; how to get the View Object

    So I'm trying to get/update/insert/delete records in a database that contain an interMedia image in a blob.
    I've figured out that I can't simply set the ImmediateAccess attribute. It doesn't like that...
    So I'm trying to go after the view object, since the interMedia white paper uses a VO row setAttribute to accomplish the write.
    RowSetInfo extends ResultSetInfo which has a method getViewObject(). Cool.
    So I try it... and get an error that getViewObject() has protected access.
    Anyone know what I am doing wrong? Or should I be even taking this approach?!?!?!
    If I go exclusively with the VO layer... how do I preserve the navigationBar functionality? Or do I need to roll my own?
    ( NOTE: This hilights another example of the perception of 'friction' between rowsetinfos and the view objects/entity objects. An approach that makes "sense" to me as a naive novice didn't pan out. And oddly, most of the bc4j examples go against VOs when, if you are an application programmer, you may never see or use the VO methods ( although it looks like we should be)... we're working at the ResultSetInfo layer. )
    Is the the observation of other folk who are building Java Applications/Applets? Or do you all work directly with VOs instead of going through the ResultSetInfo "layer"?

    Here is some sample code that I am currently working on and will post on OTN when complete. The code shows how to access a BC4J Domain based on an Oracle type. Working with interMedia is similar since interMedia utilizes Oracle Object types. Please note that I have not tested this yet against interMedia, but I'm hoping that you may find the general process useful.
    // Copyright (c) 2000 Oracle Corporation
    package ObjectSampleDAC;
    import oracle.dacf.control.swing.*;
    import javax.swing.*;
    import oracle.dacf.dataset.*;
    import oracle.dacf.dataset.connections.*;
    import java.awt.*;
    import oracle.jdeveloper.layout.*;
    import java.awt.event.*;
    import javax.infobus.*;
    import oracle.jbo.domain.DomainInterface;
    import ObjectSampleBC4J.common.TAddress;
    import java.sql.SQLException;
    * A Frame class.
    * <P>
    * @author Scott Tiger
    public class Frame1 extends InfoFrame {
    * Constructs a new instance.
    public Frame1() {
    super();
    try {
    jbInit();
    sessionInfo1.publishSession();
    // call my initialization method
    bfInit();
    catch (Exception e) {
    e.printStackTrace();
    * Initializes the state of this instance.
    private void jbInit() throws Exception {
    /* All of the following code in this method was added by the designer except where noted below
    EmailrowSetInfo1.setName("Email");
    jPanel3.setLayout(gridBagLayout1);
    StatusrowSetInfo1.setName("Status");
    AddressrowSetInfo1.setName("Address");
    PasswordrowSetInfo1.setName("Password");
    UsernamerowSetInfo1.setName("Username");
    LastnamerowSetInfo1.setName("Lastname");
    FirstnamerowSetInfo1.setName("Firstname");
    IdrowSetInfo1.setName("Id");
    rowSetInfo1.setAttributeInfo( new AttributeInfo[] {
    IdrowSetInfo1,
    FirstnamerowSetInfo1,
    LastnamerowSetInfo1,
    UsernamerowSetInfo1,
    PasswordrowSetInfo1,
    AddressrowSetInfo1,
    StatusrowSetInfo1,
    EmailrowSetInfo1} );
    this.setDataItemName("infobus:/oracle/sessionInfo1");
    this.setTitle("Customer Information");
    this.getContentPane().setLayout(borderLayout1);
    this.setSize(new Dimension(536, 473));
    jPanel1.setLayout(borderLayout2);
    sessionInfo1.setAppModuleInfo(new ModuleInfo("ObjectSampleBC4J", "ObjectSampleBC4JModule"));
    sessionInfo1.setConnectionInfo(new LocalConnection("MyJdbcConn"));
    sessionInfo1.setName("sessionInfo1");
    rowSetInfo1.setQueryInfo(new QueryViewInfo(
    "CustomerView",
    rowSetInfo1.setSession(sessionInfo1);
    rowSetInfo1.setName("rowSetInfo1");
    /* The following listener was added using the event tab in the property inspector in design
    mode. The rowsetPopulated method is called when the rowset is queried/requeried.
    rowSetInfo1.addChangeListener(new oracle.dacf.dataset.ChangeAdapter() {
    public void rowsetPopulated(RowSetChangeEvent e) {
    rowSetInfo1_rowsetPopulated(e);
    textFieldControl1.setText("textFieldControl1");
    textFieldControl2.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Firstname");
    textFieldControl2.setText("textFieldControl2");
    textFieldControl3.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Lastname");
    textFieldControl3.setText("textFieldControl3");
    textFieldControl4.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Username");
    textFieldControl4.setText("textFieldControl4");
    textFieldControl5.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Password");
    textFieldControl5.setText("textFieldControl5");
    textFieldControl6.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Status");
    textFieldControl6.setText("textFieldControl6");
    textFieldControl7.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Email");
    textFieldControl7.setText("textFieldControl7");
    navigationBar1.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1");
    jLabel1.setText("ID:");
    jLabel2.setText("First Name:");
    jLabel3.setText("Last Name:");
    jLabel4.setText("User Name:");
    jLabel5.setText("Password:");
    jLabel6.setText("Status:");
    jLabel7.setText("Email:");
    jLabel8.setText("Address:");
    jPanel4.setLayout(      gridBagLayout2);
    textFieldStreet.setColumns(20);
    textFieldStreet.setText("textFieldStreet");
    /* The following listener (as well as the listeners on textFieldCity, textFieldState, and
    textFieldZipcode were added by the designer, but the focusGained and focusLost methods
    were modified in each case to call a common textField_focusGained method
    textFieldStreet.addFocusListener(new java.awt.event.FocusAdapter() {
    public void focusGained(FocusEvent e) {
    textField_focusGained(e);
    public void focusLost(FocusEvent e) {
    textField_focusLost(e);
    textFieldCity.setColumns(20);
    textFieldCity.setText("textFieldCity");
    textFieldCity.addFocusListener(new java.awt.event.FocusAdapter() {
    public void focusGained(FocusEvent e) {
    textField_focusGained(e);
    public void focusLost(FocusEvent e) {
    textField_focusLost(e);
    textFieldState.setColumns(20);
    textFieldState.setText("textFieldState");
    textFieldState.addFocusListener(new java.awt.event.FocusAdapter() {
    public void focusGained(FocusEvent e) {
    textField_focusGained(e);
    public void focusLost(FocusEvent e) {
    textField_focusLost(e);
    textFieldZipcode.setColumns(20);
    textFieldZipcode.setText("textFieldZipcode");
    textFieldZipcode.addFocusListener(new java.awt.event.FocusAdapter() {
    public void focusGained(FocusEvent e) {
    textField_focusGained(e);
    public void focusLost(FocusEvent e) {
    textField_focusLost(e);
    jLabel9.setText("Street:");
    jLabel10.setText("City:");
    jLabel11.setText("State:");
    jLabel12.setText("Zip Code:");
    textFieldControl1.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Id");
    this.getContentPane().add(jPanel1, BorderLayout.CENTER);
    jPanel1.add(jPanel2, BorderLayout.NORTH);
    jPanel2.add(navigationBar1, null);
    jPanel1.add(jPanel3, BorderLayout.CENTER);
    jPanel3.add(textFieldControl1, new GridBagConstraints2(1, 0, 1, 1, 1.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(37, 11, 0, 0), 0, 0));
    jPanel3.add(textFieldControl2, new GridBagConstraints2(1, 1, 1, 1, 1.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(7, 11, 0, 0), 0, 0));
    jPanel3.add(textFieldControl3, new GridBagConstraints2(1, 2, 1, 1, 1.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(7, 11, 0, 0), 0, 0));
    jPanel3.add(textFieldControl4, new GridBagConstraints2(1, 3, 1, 1, 1.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(6, 11, 0, 0), 0, 0));
    jPanel3.add(textFieldControl5, new GridBagConstraints2(1, 4, 1, 1, 1.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(6, 11, 0, 0), 0, 0));
    jPanel3.add(textFieldControl6, new GridBagConstraints2(1, 5, 1, 1, 1.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(7, 11, 0, 0), 0, 0));
    jPanel3.add(textFieldControl7, new GridBagConstraints2(1, 6, 1, 1, 1.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(6, 11, 0, 0), 0, 0));
    jPanel3.add(jLabel1, new GridBagConstraints2(0, 0, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(37, 106, 0, 0), 0, 0));
    jPanel3.add(jLabel2, new GridBagConstraints2(0, 1, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(8, 54, 0, 0), 0, 0));
    jPanel3.add(jLabel3, new GridBagConstraints2(0, 2, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(8, 54, 0, 0), 0, 0));
    jPanel3.add(jLabel4, new GridBagConstraints2(0, 3, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(10, 54, 0, 0), 0, 0));
    jPanel3.add(jLabel5, new GridBagConstraints2(0, 4, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(8, 62, 0, 0), 0, 0));
    jPanel3.add(jLabel6, new GridBagConstraints2(0, 5, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(9, 83, 0, 0), 0, 0));
    jPanel3.add(jLabel7, new GridBagConstraints2(0, 6, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(9, 86, 0, 0), 0, 0));
    jPanel3.add(jLabel8, new GridBagConstraints2(0, 7, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(7, 72, 94, 0), 0, 0));
    jPanel3.add(jPanel4, new GridBagConstraints2(1, 7, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    jPanel4.add(textFieldZipcode, new GridBagConstraints2(1, 3, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0));
    jPanel4.add(textFieldState, new GridBagConstraints2(1, 2, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0));
    jPanel4.add(jLabel9, new GridBagConstraints2(0, 0, 1, 1, 0.0, 0.0,
    GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0));
    jPanel4.add(textFieldStreet, new GridBagConstraints2(1, 0, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0));
    jPanel4.add(jLabel10, new GridBagConstraints2(0, 1, 1, 1, 0.0, 0.0,
    GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0));
    jPanel4.add(jLabel11, new GridBagConstraints2(0, 2, 1, 1, 0.0, 0.0,
    GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0));
    jPanel4.add(jLabel12, new GridBagConstraints2(0, 3, 1, 1, 0.0, 0.0,
    GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0));
    jPanel4.add(textFieldCity, new GridBagConstraints2(1, 1, 1, 1, 0.0, 0.0,
    GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0));
    /* The following vaiable declarations were made by the designer
    BorderLayout borderLayout1 = new BorderLayout();
    JPanel jPanel1 = new JPanel();
    SessionInfo sessionInfo1 = new SessionInfo();
    RowSetInfo rowSetInfo1 = new RowSetInfo();
    AttributeInfo IdrowSetInfo1 = new AttributeInfo(java.sql.Types.NUMERIC);
    AttributeInfo FirstnamerowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
    AttributeInfo LastnamerowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
    AttributeInfo UsernamerowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
    AttributeInfo PasswordrowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
    AttributeInfo AddressrowSetInfo1 = new AttributeInfo();
    AttributeInfo StatusrowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
    AttributeInfo EmailrowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
    JPanel jPanel2 = new JPanel();
    JPanel jPanel3 = new JPanel();
    TextFieldControl textFieldControl1 = new TextFieldControl();
    TextFieldControl textFieldControl2 = new TextFieldControl();
    TextFieldControl textFieldControl3 = new TextFieldControl();
    TextFieldControl textFieldControl4 = new TextFieldControl();
    TextFieldControl textFieldControl5 = new TextFieldControl();
    TextFieldControl textFieldControl6 = new TextFieldControl();
    TextFieldControl textFieldControl7 = new TextFieldControl();
    BorderLayout borderLayout2 = new BorderLayout();
    NavigationBar navigationBar1 = new NavigationBar();
    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JLabel jLabel3 = new JLabel();
    JLabel jLabel4 = new JLabel();
    JLabel jLabel5 = new JLabel();
    JLabel jLabel6 = new JLabel();
    JLabel jLabel7 = new JLabel();
    JLabel jLabel8 = new JLabel();
    GridBagLayout gridBagLayout1 = new GridBagLayout();
    JPanel jPanel4 = new JPanel();
    JTextField textFieldStreet = new JTextField();
    JTextField textFieldCity = new JTextField();
    JTextField textFieldState = new JTextField();
    JTextField textFieldZipcode = new JTextField();
    JLabel jLabel9 = new JLabel();
    JLabel jLabel10 = new JLabel();
    JLabel jLabel11 = new JLabel();
    JLabel jLabel12 = new JLabel();
    GridBagLayout gridBagLayout2 = new GridBagLayout();
    /* The following declarations were made manually
    /* DomainAccess provides a means for getting and setting values of a column object as domain
    DomainAccess da = null;
    /* TAddress is the domain class
    TAddress addr = null;
    /* Declare variables for determining if JTextField values have been changed by user
    String oldVal = null;
    String newVal = null;
    /* The following method is generated by the wizard when the frame was created
    protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSED) {
    System.exit(0);
    public void bfInit () throws Exception {
    /* To add code to be invoked when the user moves from one row to another, get the
    DataItemChangeManager from the RowSetInfo (via RowsetAccess) and add a
    DataItemChangeListener. The specific method we want to use here is rowsetCursorMoved
    which is invoked when the user moves from one row to another; the other methods are
    defined simply because the interface requires them.
    RowsetAccess ra = rowSetInfo1.getRowsetAccess();
    DataItemChangeManager dcm = (DataItemChangeManager)ra;
    dcm.addDataItemChangeListener(new DataItemChangeListener() {
    public void rowsetCursorMoved(RowsetCursorMovedEvent e) {
    rowSetInfo1_rowsetCursorMoved(e);
    public void dataItemAdded(DataItemAddedEvent e) {
    public void dataItemDeleted(DataItemDeletedEvent e) {
    public void dataItemRevoked(DataItemRevokedEvent e) {
    public void dataItemValueChanged(DataItemValueChangedEvent e) {
    /* This method was generated by the designer. See rowSetInfo1.addChangeListener(...) in jbInit
    above.
    void rowSetInfo1_rowsetPopulated(RowSetChangeEvent e) {
    try {
    /* When the rowset is populated, set the JTextField values based on the domain. See
    updateFields() below.
    updateFields();
    catch (Exception ex) {
    System.out.println("Error occurred while retrieving values");
    ex.printStackTrace();
    /* This method was added manually to track row navigation. See dcm.addDataItemChangeListener(...)
    in jbInit above.
    void rowSetInfo1_rowsetCursorMoved(RowsetCursorMovedEvent e) {
    try {
    /* When the user moves from one row to another, set the JTextField values based on the
    domain. See updateFields() below.
    updateFields();
    catch (Exception ex) {
    System.out.println("Error occured while assigning values");
    ex.printStackTrace();
    /* This method finds the values from each field of the column object by using the domain, then
    sets the values of the JTextFields respectively. It is invoked when the rowset is initially
    populated, and each time the user moves from one row to another.
    public void updateFields () throws Exception {
    /* Get DataItem for the Address column object and cast to DomainAccess for to prepare for
    getting and setting column value as domain.
    da = (DomainAccess)AddressrowSetInfo1.getImmediateAccess();
    /* Get the value of the attribute as a Domain and cast to DomainInterface.
    DomainInterface di = da.getValueAsDomain();
    /* null out addr. Otherwise, if the address column is null for a particular record, when
    the user navigates to the record with the null values, addr will retain the previous record's
    values. This ensures a clean slate.
    addr = null;
    /* Using DomainInterface allows us to cast the domain object to the specific Domain class for
    that type. So, cast the address attribute's value to TAddress, the class that
    represents the T_ADDRESS type created in the database. This provides getters and setters
    for each of the fields of the Object Type.
    if ( di instanceof TAddress ) {
    addr = (TAddress) di;
    /* If the above statement resulted in some non-null object assigned to addr, it is because
    one or more of the fields of the domain contained non-null values. Therefore, if addr is
    not null, get the values from each field of the domain and assign them to their
    respective JTextFields. Otherwise, set each JTextField to an empty string.
    if (addr != null) {
    textFieldStreet.setText(addr.getStreet());
    textFieldCity.setText(addr.getCity());
    textFieldState.setText(addr.getState());
    textFieldZipcode.setText(addr.getZipcode());
    else {
    textFieldStreet.setText("");
    textFieldCity.setText("");
    textFieldState.setText("");
    textFieldZipcode.setText("");
    /* If addr is null, after making sure the JTextFields are cleared, create a new TAddress
    object so that we have something to assign values to if the user edits the JTextFields.
    try {
    addr = new TAddress();
    catch (SQLException ex) {
    System.out.println("Error creating domain TAddress");
    ex.printStackTrace();
    /* The method below is invoked when the user navigates to textFieldStreet, textFieldCity,
    textFieldState, or textFieldZipcode. It's used just to find the value of the field when
    the user enters the field (the "before" value).
    void textField_focusGained(FocusEvent e) {
    Object obj = e.getSource();
    if (obj instanceof JTextField) {
    JTextField field = (JTextField)obj;
    oldVal = field.getText();
    /* The method below is invoked when the user navigates away from textFieldStreet, textFieldCity,
    textFieldState, or textFieldZipcode. It checks to see if the user changes the value of the
    field, and if so, updates the value of the address attribute.
    void textField_focusLost(FocusEvent e) {
    /* Find out the value of the JTextField now that the user is attempting to leave the field.
    Object obj = e.getSource();
    if (obj instanceof JTextField) {
    JTextField field = (JTextField)obj;
    newVal = field.getText();
    /* Compare the new value of the field ("after" value) to the "before" value captured
    in textField_focusGained above. If they are equal, we do nothing. If they are not equal,
    then the user must have changes the value in the field, and we have some work to do.
    if (!oldVal.equals(newVal)) {
    /* Since this same method is called regardless of which JTextField has been left, we find
    out which text field the user is leaving, and then set the value of the appropriate
    element of the addr domain.
    if (obj.equals(textFieldStreet)) {
    addr.setStreet(newVal);
    if (obj.equals(textFieldCity)) {
    addr.setCity(newVal);
    if (obj.equals(textFieldState)) {
    addr.setState(newVal);
    if (obj.equals(textFieldZipcode)) {
    addr.setZipcode(newVal);
    /* So, we've set the value of the appropriate element of the addr domain, but we have not
    "posted" those changes to the BC4J (middle-tier), so if we were to commit at this point
    our changes would not get saved to the database (because BC4J is not aware of these
    changes). The next step is to notify BC4J of the changes.
    try {
    da.setValueAsDomain(addr);
    catch (InvalidDataException ex) {
    System.out.println("Invalid Data assigned to TAddress");
    ex.printStackTrace();
    /* Clear out the oldVal and newVal variable so we are ready to track more changes.
    oldVal = null;
    newVal = null;
    }-- Brian

  • View Object Transient attribute, refresh problem.

    I have a VO which contains 3 entities joined. I added it a transient attribute with Groovy expression. My expression is : ReplyView.count("ReplyId"); , it counts two VO relationship. it counts normally but, when i insert a new reply, it doesnt refresh/update/recalculate the value. Whats the problem?

    The dependency values referred to are accessed when you edit the transient attribute in the view object. On the left hand panel select dependencies and shuttle the columns that the transient is dependent on. I don't think this matters for non-entity based views since the SQL is fixed but for entity based views this assures the dependent columns are added to the query even if they are not needed by the page.
    http://docs.oracle.com/cd/E21764_01/web.1111/b31974/bcentities.htm#ADFFD20177

  • How to apply validation rule for View Object (VO) attributes?

    How to add Validation Rules to VO attributes, just like EO Business Rules?
    I got 2 problem with that:
    1. VO can join multiple tables, and the attribute's validation rules may reference to the fields from multiple entities.
    2. Since the EO Validation Rules only execute before the data actually write to entity (Commit operation). But user may need to input data from multiple pages with only 1 commit.
    I am using JDeveloper 11g with ADF BC.
    Regards,
    Samson Fu

    Just something to point out, the EO validation doesn't fire on a commit (if you mean commit as in the database/AppModule commit). You can also access VO information from the EO validation rules by using view accessors.
    Regards
    Grant

  • View Object transient attributes with SQL default value

    Dear All
    I am working on JDeveloper 12.1.2
    In my scenario i have application module A in my main application. I created another data model with Application module B. I imported AM B into my main project.
    The problem is that when i have a transient attribute based on SQL statment in AM B, it gives me error in runtime on the interface but when i run the application module it works fine ... i do not know why
    Regards

    Hi,
    what sqlstatement you worte? what error?
    thanks

  • How to retrieve the values from a Transient View Object

    Hi Experts,
    I am using Jdevelpoer11.1.1.5.0. I created one Transient view object with attributes EmpId,Salary.
    In Backing Bean i will create rows for that view object and display it in the form of <af:Table> like Empid, Salary and an Update Link.
    Now my problem is i want to update the salary of the particular EmpId. For Example if the EmpId is 100 and salary is 10000 now i want to increase the salary to 20000 and if i click on the update button; i want to retrieve the particular employee details in my backing bean. How can i acheive this?
    Thanks in advance.

    A better approach would be to programmatically populate rows in the <VO>Impl.java by overriding the executeQueryForCollection(0 as specified here -
    http://adfpractice-fedor.blogspot.in/2011/01/adf-bc-programmatically-populated-vo.html
    You can write the logic to update the salary in an AM method then on click of Update or in the getter of Salry field if logic is valid for all fields...

  • Problem occured when create a tree table for master-detail view objects using SQL queries?

    I am programming a tree table for master-detail view objects using SQL queries and these 2 view objects are not simple singel tables queries, and 2 complex SQL are prepared for master and view objects. see below:
    1. Master View object (key attribute is SourceBlock and some varaible bindings are used for this view object.)
    SELECT  cntr_list.SOURCE_BLOCK,                   
            sum(                   
             case when cntr_list.cntr_size_q = '20'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr20 ,                   
            sum(                   
             case when cntr_list.cntr_size_q = '40'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr40 ,                   
             sum(                   
             case when cntr_list.cntr_size_q = '45'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr45                    
    FROM (       
        SELECT yb1.BLOCK_M as SOURCE_BLOCK,       
               scn.CNTR_SIZE_Q,        
               count(scn.CNTR_SIZE_Q) AS cntr_qty        
        FROM  SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2       
        WHERE       
        scm.cmr_n = scn.cmr_n             
        AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')                 
        OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))                 
        AND scm.shift_mode_c = :ShiftModeCode                           
        AND scm.end_terminal_c = :TerminalCode      
        AND scm.start_terminal_c = yb1.terminal_c                  
        AND scm.start_block_n = yb1.block_n                  
        AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n                  
        AND scm.end_terminal_c = yb2.terminal_c                  
        AND scm.end_block_n = yb2.block_n                  
        AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n           
        AND scn.status_c not in (1, 11)             
        AND scn.shift_type_c = 'V'             
        AND scn.source_c = 'S'       
        GROUP BY yb1.BLOCK_M, scn.CNTR_SIZE_Q       
    ) cntr_list       
    GROUP BY cntr_list.SOURCE_BLOCK
    2. Detail View object (key attributes are SourceBlock and EndBlock and same varaible bindings are used for this view object.)
    SELECT  cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK,                
            sum(                     
             case when cntr_list.cntr_size_q = '20'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr20 ,                     
            sum(                     
             case when cntr_list.cntr_size_q = '40'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr40 ,                     
             sum(                     
             case when cntr_list.cntr_size_q = '45'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr45                      
    FROM (         
        SELECT yb1.BLOCK_M as SOURCE_BLOCK,     
               yb2.BLOCK_M as END_BLOCK,  
               scn.CNTR_SIZE_Q,          
               count(scn.CNTR_SIZE_Q) AS cntr_qty          
        FROM  SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2         
        WHERE         
        scm.cmr_n = scn.cmr_n               
        AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')                   
        OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))                   
        AND scm.shift_mode_c = :ShiftModeCode                             
        AND scm.end_terminal_c = :TerminalCode        
        AND scm.start_terminal_c = yb1.terminal_c                    
        AND scm.start_block_n = yb1.block_n                    
        AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n                    
        AND scm.end_terminal_c = yb2.terminal_c                    
        AND scm.end_block_n = yb2.block_n                    
        AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n             
        AND scn.status_c not in (1, 11)               
        AND scn.shift_type_c = 'V'               
        AND scn.source_c = 'S'         
        GROUP BY yb1.BLOCK_M, yb2.BLOCK_M, scn.CNTR_SIZE_Q         
    ) cntr_list         
    GROUP BY cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK
    3. I create a view link to create master-detail relationship for these 2 view objects.
    masterview.SourceBlock (1)->detailview.SourceBlock (*).
    4. I create a tree table using these 2 view objects with master-detail relationship.
    When I set default value for variable bindings of these 2 view objects and the matching records exist, tree table can work well. I can expand the master row to display detail row in UI.
    But I need to pass in dymamic parameter value for variable bindings of these 2 view objects, tree table cannnot work again. when I expand the master row and no detail row are displayed in UI.
    I am sure that I pass in correct parameter value for master/detail view objects and matching records exist.
    Managed Bean:
            DCIteratorBinding dc = (DCIteratorBinding)evaluteEL("#{bindings.MasterView1Iterator}");
            ViewObject vo = dc.getViewObject();
            System.out.println("Before MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
            System.out.println("Before MasterView1Iterator ShiftModeCode="+ vo.ensureVariableManager().getVariableValue("ShiftModeCode"));
            vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
            vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
            vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
            vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
            vo.executeQuery();
            System.out.println("MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
            DCIteratorBinding dc1 = (DCIteratorBinding)evaluteEL("#{bindings.DetailView1Iterator}");
            ViewObject vo1 = dc1.getViewObject();
            System.out.println("Before DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
            System.out.println("Before DetailView1Iterator ShiftModeCode="+ vo1.ensureVariableManager().getVariableValue("ShiftModeCode"));
            vo1.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
            vo1.ensureVariableManager().setVariableValue("DateTo", dateTo);
            vo1.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
            vo1.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
            vo1.executeQuery();
            System.out.println("after DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
    5.  What's wrong in my implementation?  I don't have no problem to implement such a tree table if using simple master-detail tables view object, but now I have to use such 2 view objects using complex SQL for my requirement and variable bindings are necessary for detail view object although I also think a bit strange by myself.

    Hi Frank,
    Thank you and it can work.
    public void setLowHighSalaryRangeForDetailEmployeesAccessorViewObject(Number lowSalary,
                                                                              Number highSalary) {
            Row r = getCurrentRow();
            if (r != null) {
                RowSet rs = (RowSet)r.getAttribute("EmpView");
                if (rs != null) {
                    ViewObject accessorVO = rs.getViewObject();
                    accessorVO.setNamedWhereClauseParam("LowSalary", lowSalary);
                    accessorVO.setNamedWhereClauseParam("HighSalary", highSalary);
                executeQuery();
    but I have a quesiton in this way. in code snippet, it is first getting current row of current master VO to determine if update variables value of detail VO. in my case, current row is possibly null after executeQuery() of master VO and  I have to change current row manually like below.
    any idea?
                DCIteratorBinding dc = (DCIteratorBinding)ADFUtil.evaluateEL("#{bindings.SSForecastSourceBlockView1Iterator}");
                ViewObject vo = dc.getViewObject();           
                vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
                vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
                vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
                vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
                vo.executeQuery();
                vo.setCurrentRowAtRangeIndex(0);
                ((SSForecastSourceBlockViewImpl)vo).synchornizeAccessorVOVariableValues();

  • Programmatic View Object

    I'm trying to create a programmatic view object from an Oracle Stored procedure that returns a single row containing Oracle Object Types. I created a Domain for my Oracle Object type called BillingInfo. Here is the code for my view object so far:
    package billing;
    import billing.common.BillingInfo;
    import java.lang.Integer;
    import java.math.BigDecimal;
    import java.sql.CallableStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Timestamp;
    import java.sql.Types;
    import java.util.Date;
    import java.text.SimpleDateFormat;
    import oracle.jbo.JboException;
    import oracle.jbo.server.DBTransaction;
    import oracle.jbo.server.ViewObjectImpl;
    import oracle.jbo.server.ViewRowImpl;
    import oracle.jbo.server.ViewRowSetImpl;
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.jdbc.driver.OracleTypes;
    // --- File generated by Oracle Business Components for Java.
    public class BillingInfoViewImpl extends ViewObjectImpl
    // billing info procedure call variables
    private final static int BILLING_LOGGED_ON_USER_ID = 0;
    private final static int BILLING_BILL_TO_USER_ID = 1;
    private final static int BILLING_TRANSACTION_DATE = 2;
    private final static int BILLING_TRANSACTION_DETAILS1 = 3;
    private final static int BILLING_TRANSACTION_DETAILS2 = 4;
    private final static int BILLING_TRANSACTION_DETAILS3 = 5;
    private final static int BILLING_TRANSACTION_DETAILS4 = 6;
    private final static int BILLING_TRANSACTION_DETAILS5 = 7;
    private final static int BILLING_TRANSACTION_COUNT = 8;
    private final static int BILLING_TOTAL_CHARGE_AMOUNT = 9;
    private final static int BILLING_PAY_TYPE = 10;
    private final static int BILLING_ERROR_MESSAGE = 11;
    private final static int BILLING_ERROR_CODE = 12;
    private final static int BILLING_RETURN_VALUE = 13; /*
    * This is the PLSQL block that we will execute
    private static final String SQL =
    "begin ecs_jdbc_wrappers.get_billing_info_jdbc(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ,?, ?, ?);end;";
    * This is the default constructor (do not remove)
    public BillingInfoViewImpl() { }
    * Overridden framework method.
    * Executed when the framework needs to issue the database query for
    * the query collection based on this view object. One view object
    * can produce many related result sets, each potentially the result
    * of different bind variable values. If the rowset in query is involved
    * in a framework-coordinated master/detail viewlink, then the params array
    * will contain one or more framework-supplied bind parameters. If there
    * are any user-supplied bind parameter values, they will PRECEED the
    * framework-supplied bind variable values in the params array, and the
    * number of user parameters will be indicated by the value of the
    * numUserParams argument.
    protected void executeQueryForCollection(Object qc,Object[] params,int numUserParams) {
    * If there are where-clause params they will be in the 'params' array.
    * NOTE: Due to Bug#2828248 I have to cast to BigDecimal for now,
    * ---- but this parameter value should be oracle.jbo.domain.Number type.
    int sqlcode = 0; // statement sql code
    String errorMessage = null; // statement error message
    String loggedOnUserId = null; // IN VARCHAR2
    String billToUserId = null; // IN VARCHAR2
    Date transactionDate = new Date(); // IN DATE
    BillingInfo transactionDetails1 = null; // IN OUT billing_info
    BillingInfo transactionDetails2 = null;
    BillingInfo transactionDetails3 = null;
    BillingInfo transactionDetails4 = null;
    BillingInfo transactionDetails5 = null;
    int transDetailsCount = 0; // IN INTEGER
    String payType = null; // IN VARCHAR2
    if (params != null)
    loggedOnUserId = (String)params[BILLING_LOGGED_ON_USER_ID];
    System.out.println("USER ID:" + loggedOnUserId);
    billToUserId = (String)params[BILLING_BILL_TO_USER_ID];
    System.out.println("BILLED USER ID:" + billToUserId);
    if (params[BILLING_TRANSACTION_DETAILS1] != null) {
    System.out.println(params[BILLING_TRANSACTION_DETAILS1]);
    transactionDetails1 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS1];
    transDetailsCount = transDetailsCount + 1;
    if (params[BILLING_TRANSACTION_DETAILS2] != null) {
    transactionDetails2 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS2];
    transDetailsCount = transDetailsCount + 1;
    if (params[BILLING_TRANSACTION_DETAILS3] != null) {
    transactionDetails3 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS3];
    transDetailsCount = transDetailsCount + 1;
    if (params[BILLING_TRANSACTION_DETAILS4] != null) {
    transactionDetails4 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS4];
    transDetailsCount = transDetailsCount + 1;
    if (params[BILLING_TRANSACTION_DETAILS5] != null) {
    transactionDetails5 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS5];
    transDetailsCount = transDetailsCount + 1;
    payType = (String)params[BILLING_PAY_TYPE];
    CallableStatement st = null;
    try {
    st = getDBTransaction().createCallableStatement(SQL,DBTransaction.DEFAULT);
    * Set the value of the bind variables
    st.setString(1, loggedOnUserId);
    st.setString(2, billToUserId);
    // Set Transaction Date to todays date
    java.sql.Timestamp sqlTs = new java.sql.Timestamp(transactionDate.getTime());
    st.setTimestamp(3, sqlTs);
    System.out.println("TRANS DATE:" + sqlTs);
    st.setObject(4, transactionDetails1);
    if (transactionDetails2 == null) st.setNull(5, Types.STRUCT, "BILLING_INFO");
    else st.setObject(5, transactionDetails1);
    if (transactionDetails3 == null) st.setNull(6, Types.STRUCT, "BILLING_INFO");
    else st.setObject(6, transactionDetails1);
    if (transactionDetails4 == null) st.setNull(7, Types.STRUCT, "BILLING_INFO");
    else st.setObject(7, transactionDetails1);
    if (transactionDetails5 == null) st.setNull(8, Types.STRUCT, "BILLING_INFO");
    else st.setObject(8, transactionDetails1);
    st.setInt(9, transDetailsCount);
    st.setString(11,payType);
    * Register OUT paramters
    st.registerOutParameter(4, Types.STRUCT, "BILLING_INFO");
    st.registerOutParameter(5, Types.STRUCT, "BILLING_INFO");
    st.registerOutParameter(6, Types.STRUCT, "BILLING_INFO");
    st.registerOutParameter(7, Types.STRUCT, "BILLING_INFO");
    st.registerOutParameter(8, Types.STRUCT, "BILLING_INFO");
    st.registerOutParameter(10, Types.DOUBLE);
    st.registerOutParameter(12, Types.VARCHAR);
    st.registerOutParameter(13, Types.INTEGER);
    st.registerOutParameter(14, Types.INTEGER);
    // execute the stored procedure
    st.execute();
    // get the SQLCODE
    sqlcode = st.getInt(13);
    System.out.println("sqlcode returned:" + sqlcode);
    errorMessage = st.getString(12);
    System.out.println("Error Message:" + errorMessage);
    catch (SQLException s) {
    System.out.println("sqlcode returned:" + sqlcode);
    System.out.println("Error Message:" + errorMessage);
    throw new JboException(s);
    finally {try {st.close();} catch (SQLException s) {}}
    super.executeQueryForCollection(qc, params, numUserParams);
    This almost works except when I try to print out the attributes I get an error. I beleive I have to override some of the view object framework methods. If so, how do I go about this? Is it the same methods overridden in this example Getting a View Object's Result Rows from a REF CURSOR? http://radio.weblogs.com/0118231/stories/2003/03/03/gettingAViewObjectsResultRowsFromARefCursor.html
    Nat

    Yes. only difference is that your VO will just have one row in it.

  • Error on extending view object

    There seem to be a few postings about this lately...
    We have finally managed to get the view object extended... lots of reboots of Jdeveloper and we got there. The substitution is working and our extra attributes are there.
    Now we are adding the new fields to the page using personalisation... and now we get a very strange error referencing a table we have not referenced at all in any of the work we have done.
    The stack trace is shown below:
    oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT LOOKUP_CODE, MEANING FROM FND_LOOKUP_VALUES WHERE LOOKUP_TYPE = :1 AND VIEW_APPLICATION_ID = :2 AND LANGUAGE = USERENV('LANG') AND ENABLED_FLAG = 'Y' AND SYSDATE BETWEEN NVL(START_DATE_ACTIVE, SYSDATE - 1) AND NVL(END_DATE_ACTIVE, SYSDATE + 1) at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:891) at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1145) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2928) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2725) at OA.jspService(OA.jsp:48) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209) at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189) at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199) at OA.jspService(OA.jsp:45) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209) at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189) at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199) at OA.jspService(OA.jsp:45) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803) at java.lang.Thread.run(Thread.java:534) ## Detail 0 ## java.sql.SQLException: ORA-01008: not all variables bound at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986) at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144) at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2548) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2933) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:650) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:578) at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:627) at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:515) at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3347) at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(OAJboViewObjectImpl.java:828) at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(OAViewObjectImpl.java:4504) at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:574) at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:544) at oracle.jbo.server.ViewRowSetImpl.executeDetailQuery(ViewRowSetImpl.java:619) at oracle.jbo.server.ViewObjectImpl.executeDetailQuery(ViewObjectImpl.java:3311) at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:3298) at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQuery(OAViewObjectImpl.java:440) at oracle.apps.fnd.framework.webui.OAWebBeanPickListHelper.createListDataObject(OAWebBeanPickListHelper.java:973) at oracle.apps.fnd.framework.webui.OAWebBeanPickListHelper.getListDataObject(OAWebBeanPickListHelper.java:818) at oracle.apps.fnd.framework.webui.OAWebBeanPickListHelper.getList(OAWebBeanPickListHelper.java:446) at oracle.apps.fnd.framework.webui.OAWebBeanPickListHelper.getList(OAWebBeanPickListHelper.java:403) at oracle.apps.fnd.framework.webui.beans.message.OAMessageChoiceBean.getList(OAMessageChoiceBean.java:762) at oracle.apps.fnd.framework.webui.OADataBoundValuePickListData.getValue(OADataBoundValuePickListData.java:86) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.getAttributeValueImpl(OAWebBeanHelper.java:1765) at oracle.apps.fnd.framework.webui.beans.message.OAMessageChoiceBean.getAttributeValueImpl(OAMessageChoiceBean.java:369) at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source) at oracle.apps.fnd.framework.webui.OADataBoundValuePickListSelectionIndex.getValue(OADataBoundValuePickListSelectionIndex.java:61) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.getAttributeValueImpl(OAWebBeanHelper.java:1765) at oracle.apps.fnd.framework.webui.beans.message.OAMessageChoiceBean.getAttributeValueImpl(OAMessageChoiceBean.java:369) at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source) at oracle.cabo.ui.collection.UINodeAttributeMap.getAttribute(Unknown Source) at oracle.cabo.ui.collection.AttributeMapProxy.getAttribute(Unknown Source) at oracle.cabo.ui.BaseUINode.getAttributeValueImpl(Unknown Source) at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source) at oracle.cabo.ui.collection.UINodeAttributeMap.getAttribute(Unknown Source) at oracle.cabo.ui.BaseUINode.getAttributeValueImpl(Unknown Source) at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source) at oracle.cabo.ui.laf.base.BaseLafUtils.getLocalAttribute(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.OptionContainerRenderer.getSelectedIndex(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.OptionContainerRenderer.populateOptionInfo(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.OptionContainerRenderer.createOptionInfo(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.OptionContainerRenderer.prerender(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.ChoiceRenderer.prerender(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.FormElementRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderNamedChild(Unknown Source) at oracle.cabo.ui.laf.base.SwitcherRenderer._renderCase(Unknown Source) at oracle.cabo.ui.laf.base.SwitcherRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.composite.UINodeRenderer.renderWithNode(Unknown Source) at oracle.cabo.ui.composite.UINodeRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.RowLayoutRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.composite.UINodeRenderer.renderWithNode(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.InlineMessageRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.MessageComponentLayoutRenderer.renderColumn(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.MessageComponentLayoutRenderer._renderColumns(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.MessageComponentLayoutRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.RowLayoutRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.laf.oracle.desktop.HeaderRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.composite.ContextPoppingUINode$ContextPoppingRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.laf.oracle.desktop.HeaderRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.BorderLayoutRenderer.renderIndexedChildren(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.BorderLayoutRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.composite.UINodeRenderer.renderWithNode(Unknown Source) at oracle.cabo.ui.composite.UINodeRenderer.render(Unknown Source) at oracle.cabo.ui.laf.oracle.desktop.PageLayoutRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.BodyRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.apps.fnd.framework.webui.beans.OABodyBean.render(OABodyBean.java:398) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.DocumentRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.DocumentRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.partial.PartialPageUtils.renderPartialPage(Unknown Source) at oracle.apps.fnd.framework.webui.OAPageBean.render(OAPageBean.java:3263) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2918) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2725) at OA.jspService(OA.jsp:48) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209) at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189) at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199) at OA.jspService(OA.jsp:45) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209) at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189) at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199) at OA.jspService(OA.jsp:45) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803) at java.lang.Thread.run(Thread.java:534) java.sql.SQLException: ORA-01008: not all variables bound at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986) at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144) at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2548) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2933) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:650) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:578) at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:627) at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:515) at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3347) at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(OAJboViewObjectImpl.java:828) at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(OAViewObjectImpl.java:4504) at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:574) at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:544) at oracle.jbo.server.ViewRowSetImpl.executeDetailQuery(ViewRowSetImpl.java:619) at oracle.jbo.server.ViewObjectImpl.executeDetailQuery(ViewObjectImpl.java:3311) at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:3298) at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQuery(OAViewObjectImpl.java:440) at oracle.apps.fnd.framework.webui.OAWebBeanPickListHelper.createListDataObject(OAWebBeanPickListHelper.java:973) at oracle.apps.fnd.framework.webui.OAWebBeanPickListHelper.getListDataObject(OAWebBeanPickListHelper.java:818) at oracle.apps.fnd.framework.webui.OAWebBeanPickListHelper.getList(OAWebBeanPickListHelper.java:446) at oracle.apps.fnd.framework.webui.OAWebBeanPickListHelper.getList(OAWebBeanPickListHelper.java:403) at oracle.apps.fnd.framework.webui.beans.message.OAMessageChoiceBean.getList(OAMessageChoiceBean.java:762) at oracle.apps.fnd.framework.webui.OADataBoundValuePickListData.getValue(OADataBoundValuePickListData.java:86) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.getAttributeValueImpl(OAWebBeanHelper.java:1765) at oracle.apps.fnd.framework.webui.beans.message.OAMessageChoiceBean.getAttributeValueImpl(OAMessageChoiceBean.java:369) at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source) at oracle.apps.fnd.framework.webui.OADataBoundValuePickListSelectionIndex.getValue(OADataBoundValuePickListSelectionIndex.java:61) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.getAttributeValueImpl(OAWebBeanHelper.java:1765) at oracle.apps.fnd.framework.webui.beans.message.OAMessageChoiceBean.getAttributeValueImpl(OAMessageChoiceBean.java:369) at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source) at oracle.cabo.ui.collection.UINodeAttributeMap.getAttribute(Unknown Source) at oracle.cabo.ui.collection.AttributeMapProxy.getAttribute(Unknown Source) at oracle.cabo.ui.BaseUINode.getAttributeValueImpl(Unknown Source) at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source) at oracle.cabo.ui.collection.UINodeAttributeMap.getAttribute(Unknown Source) at oracle.cabo.ui.BaseUINode.getAttributeValueImpl(Unknown Source) at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source) at oracle.cabo.ui.laf.base.BaseLafUtils.getLocalAttribute(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.OptionContainerRenderer.getSelectedIndex(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.OptionContainerRenderer.populateOptionInfo(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.OptionContainerRenderer.createOptionInfo(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.OptionContainerRenderer.prerender(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.ChoiceRenderer.prerender(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.FormElementRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderNamedChild(Unknown Source) at oracle.cabo.ui.laf.base.SwitcherRenderer._renderCase(Unknown Source) at oracle.cabo.ui.laf.base.SwitcherRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.composite.UINodeRenderer.renderWithNode(Unknown Source) at oracle.cabo.ui.composite.UINodeRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.RowLayoutRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.composite.UINodeRenderer.renderWithNode(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.InlineMessageRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.MessageComponentLayoutRenderer.renderColumn(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.MessageComponentLayoutRenderer._renderColumns(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.MessageComponentLayoutRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.RowLayoutRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.laf.oracle.desktop.HeaderRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.composite.ContextPoppingUINode$ContextPoppingRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.laf.oracle.desktop.HeaderRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.BorderLayoutRenderer.renderIndexedChildren(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.BorderLayoutRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.composite.UINodeRenderer.renderWithNode(Unknown Source) at oracle.cabo.ui.composite.UINodeRenderer.render(Unknown Source) at oracle.cabo.ui.laf.oracle.desktop.PageLayoutRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.BodyRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.apps.fnd.framework.webui.beans.OABodyBean.render(OABodyBean.java:398) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source) at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.DocumentRenderer.renderContent(Unknown Source) at oracle.cabo.ui.BaseRenderer.render(Unknown Source) at oracle.cabo.ui.laf.base.xhtml.DocumentRenderer.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.BaseUINode.render(Unknown Source) at oracle.cabo.ui.partial.PartialPageUtils.renderPartialPage(Unknown Source) at oracle.apps.fnd.framework.webui.OAPageBean.render(OAPageBean.java:3263) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2918) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2725) at OA.jspService(OA.jsp:48) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209) at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189) at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199) at OA.jspService(OA.jsp:45) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209) at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189) at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199) at OA.jspService(OA.jsp:45) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803) at java.lang.Thread.run(Thread.java:534)
    Anyone seen this before?

    see the error "## Detail 0 ## java.sql.SQLException: ORA-01008: not all variables bound" in the stack trace.
    variables are not bound properly.
    paste the standard SQL and customized SQL here . that may help somebody answer your question ..
    also, check if you have generated Impl.java files for the extended VOs. Generate only RowImpl.java files.
    may the code which is binding the parameters is gone due to cusomization.
    thanks

  • How to Use Transient View Objects to Store Session-level Global Variables

    hi
    Please consider section "40.8.5 How to Use Transient View Objects to Store Session-level Global Variables"
    at http://download.oracle.com/docs/cd/E14571_01/web.1111/b31974/bcstatemgmt.htm#ADFFD19610
    Based on this documentation I created the example application
    at http://www.consideringred.com/files/oracle/2010/ProgrammaticalViewObjectAndRollbackApp-v0.01.zip
    It behaves as show in the screencast at http://screencast.com/t/qDvSQCgpvYdd
    Its Application Module has a Transient View Object instance "MyEmployeesContextVOVI", as master for the child View Object instance "EmpInCtxJobVI".
    On rollback the Transient View Object instance keeps its row and attribute values.
    Also when passivation and activation is forced (using jbo.ampool.doampooling=false ) the Transient View Object instance seems to keep its row and attribute values.
    questions:
    - (q1) Why does the expression #{bindings.MyEmployeesContextVOVIIterator.dataControl.transactionDirty} evaluate as true when a Transient View Object instance attribute value is changed (as shown in screencast at http://screencast.com/t/qDvSQCgpvYdd )?
    - (q2) What would be a robust approach to make a Transient View Object instance more self-contained, and manage itself to have only one single row (per instance) at all times (and as such removing the dependency on the Application Module prepareSession() as documented in "5. Create an empty row in the view object when a new user begins using the application module.")?
    many thanks
    Jan Vervecken

    Thanks for your reply Frank.
    q1) Does sample 90 help ? http://blogs.oracle.com/smuenchadf/examples/
    Yes, the sample from Steve Muench does help, "90. Avoiding Dirtying the ADF Model Transaction When Transient Attributes are Set [10.1.3] "
    at http://blogs.oracle.com/smuenchadf/examples/#90
    It does point out a difference in marking transactions dirty by different layers of the framework, "... When any attribute's value is changed through an ADFM binding, the ADFM-layer transaction is marked as dirty. ...".
    This can be illustrate with a small change in the example application
    at http://www.consideringred.com/files/oracle/2010/ProgrammaticalViewObjectAndRollbackApp-v0.02.zip
    It now shows the result of both these expressions on the page ...
    #{bindings.MyEmployeesContextVOVIIterator.dataControl.transactionDirty}
    #{bindings.MyEmployeesContextVOVIIterator.dataControl.dataProvider.transaction.dirty}... where one can be true and the other false respectively.
    See also the screencast at http://screencast.com/t/k8vgNqdKgD
    Similar to the sample from Steve Muench, another modification to the example application introduces MyCustomADFBCDataControl
    at http://www.consideringred.com/files/oracle/2010/ProgrammaticalViewObjectAndRollbackApp-v0.03.zip
    public class MyCustomADFBCDataControl
      extends JUApplication
      @Override
      public void setTransactionModified()
        ApplicationModule vApplicationModule = (ApplicationModule)getDataProvider();
        Transaction vTransaction = vApplicationModule.getTransaction();
        if (vTransaction.isDirty())
          super.setTransactionModified();
    }Resulting in what seems to be more consistent/expected transaction (dirty) information,
    see also the screencast at http://screencast.com/t/756yCs1L1
    Any feedback on why the ADF Model layer is so eager to mark a transaction dirty is always welcome.
    Currently, question (q2) remains.
    regards
    Jan

  • DOC BUG: 9.0.3.1 View Object Wizard and a Question

    First the question: What is the Passivate property for in the View Object Wizard's Attribute Settings page?
    Related Doc Bugs 9.0.3.1
    Topic: Define New View Attribute Dialog
    (click Help button in New Attribute dialog when creating a view object attribute)
    Problems: The description for the "Attribute" property is "foo"; Descrimator, Updateable, and Queriable have single letter descriptions. Key Attribute and Passivate are not listed.
    Topic: View Object Wizard - Attribute Settings Page
    (click Help button in Attribute Settings page in View Object Wizard)
    Problems: Query Column Type and Passivate are not listed. Attribute Settings column lists properties in a strange order (not a bug).
    Peter Koletzke

    Peter,
    I've logged doc bug 2814172: BC4J GLOSSARY SHOULD HAVE ENTRIES FOR PASSIVATE AND ACTIVATE.
    For more information, you could read the "About Application Module Pooling" topic in the online documentation. Passivation is what happens when the application module's state is saved to the database - and activation happens when an application module instance retrieves passivated state from the database.
    Thanks
    Blaise

  • Creating View Objects at Runtime for Validation

    In Oracle® Application Development Framework
    Developer’s Guide For Forms/4GL Developers tutorial there is a topic about Creating View Objects at Runtime for Validation.
    Is there any sample code available for this topic?
    Please help
    Regards
    S Karar

    I have created a helper method . The code is given below
    protected ViewObject getValidationVO(String viewObjectDefName) {
    // Create a new name for the VO instance being used for validation
    String name = "Validation_" + viewObjectDefName.replace('.', '_');
    // Try to see if an instance of this name already exists
    ViewObject vo = getDBTransaction().getRootApplicationModule().findViewObject(name);
    // If it doesn't already exist, create it using the definition name
    if (vo == null) {
    vo = getDBTransaction().getRootApplicationModule().createViewObject(name,viewObjectDefName);
    return vo;
    // Validation_bc4j_project of type ApplicationModule not found
    and created a validation method.
    The code inside validation method is given below.
    public boolean validateAvgMr(Number data) {
    String batch_catg = getQuality();
    // Get the view object instance for validation
    ViewObject vo = getValidationVO("bc4j_project.v_sqc0150");
    if (getTestStage()=="DOLLOP" && getQuality()=="DECO")
    // Set it's bind variables (which it will typically have!)
    vo.setNamedWhereClauseParam("batch_catg","DECO");
    vo.executeQuery();
    Number dol_mr_lcl=(Number)vo.first().getAttribute("DolMrLclStd");
    setStdMrLcl(dol_mr_lcl);
    return true;
    return true;
    I have checked the validation view and it is returing value with the same bind variable value but is not returning any value when using inside this method validation.
    I have checked several times but can't find the fault in the code.
    Please help

Maybe you are looking for

  • Iphone 5s ios7.1

    My voice command and voice to text isnt picking up anything since I switched to ios 7.1 Is there any way to go back to ios7 I just downloaded it yesterday.

  • IPod touch [2nd Gen] won't work!

    Okay, so my iPod touch was acting wacky. I plugged it into my computer with the USB cable, yadadada. And I started to update to software 4.2. But when I did that, the iPod had the "connect to iTunes' symbol abd iTunes said that the iPod was in recove

  • Dynamically Rendering and editing JTable cell

    Hi all, I wonder if some body can help me. As in my application each cell in Jtable returns java Object. and what i am trying to do is based on each object returned in cell my renderer is going to change dynamically. for example if the object returne

  • Camera frozen after using FaceTime

    Camera frozen after using FaceTime, have heard this is a common prob and need iPad replaced?!! Any quick fix?

  • How to authenticate using Active directory!

    Hi all! at present im using a code given below, its working fine! currently we are using mixed mode active directory! we are going to migrate that to Native mode! import java.util.Properties; import javax.naming.*; import javax.naming.directory.*; im