Problem in executing Child VO having bind parameter for ADF tree table

In my application i need to show a ADF Tree table which is using two view objects having view links between them
and the child VO has a bind variable.By clicking on the parent node of the parent VO attribute it showing the right result from the child VO attribute by the view link.
I have tried to execute the child VO programmatically (In AmImpl) with the bind variable and using ViewCriteria as well
but both the cases the child vo is not showing the proper result according to the bind variable instead of it is showing all the records on click of the parent node attribute.
Your help will be appreciated.
Thanks

Hello,
In the same situation I added another relationship to the view link to set the parameter.
Tricky moment is you have to name your parameter like :Bind_ParamName as view link is setting this kind of parameters (check it in Query tab).

Similar Messages

  • Getting an error while fetching the data and bind it in the Tree table

    Hi All,
    I am getting an error "A navigation paths parameter object has to be defined - " while fetching the data and bind it in the Tree table.
    Please find the code and screenshot below
    var oModel = new sap.ui.model.odata.ODataModel("../../../XXXX.xsodata/", true);
    var oTable = sap.ui.getCore().byId("table");
    oTable.setModel(oModel);
    oTable.bindRows({
        path: "/Parent",
        parameters: {expand: "Children"}
    Can anyone please give me a suggestion to rectify this?
    Thanks in Advance,
    Aravindh

    Hi All,
    Please see the below code. It works fine for me.
    var oController = sap.ui.controller("member_assignment");
    var oModel = new sap.ui.model.odata.ODataModel("../../../services/XXXX.xsodata/", true);
    var Context = "/PARENT?$expand=ASSIGNEDCHILD&$select=NAME,ID,ASSIGNEDCHILD/NAME,ASSIGNEDCHILD/ID,ASSIGNEDCHILD/PARENT_ID";
    var oTable = sap.ui.getCore().byId("tblProviders");
    oModel.read(Context, null, null, true, onSuccess, onError);
    function onSuccess(oEventdata){
        var outputJson = {};
        var p = 0;
        var r = {};
        try {
            if (oEventdata.results){
                r = oEventdata.results;
        } catch(e){
            //alert('oEventdata.results failed');
        $.each(r, function(i, j) {
            outputJson[p] = {};
            outputJson[p]["NAME"] = j.NAME;
            outputJson[p]["ID"] = j.ID;
            outputJson[p]["PARENT_ID"] = j.ID;
            outputJson[p]["DELETE"] = 0;
            var m = 0;
            if (j.ASSIGNEDCHILD.results.length > 0) {
                $.each(j.ASSIGNEDCHILD.results, function(a,b) {
                outputJson[p][m] = { NAME: b.NAME,
                                     ID : b.ID,
                                     PARENT_ID: b.PARENT_ID,
                                     DELETE: 1};
                m++;
            p++;
        var oPM = new sap.ui.model.json.JSONModel();
        oPM.setData(outputJson);
        oTable.setModel(oPM);
    function onError(oEvent){
        console.log("Error on Provider Members");
    oTable.bindRows({
        path:"/"
    Regards
    Aravindh

  • Error in database parameter for star schema table in RSRV

    Hi Experts,
    In RSRV, I executed the following checks in my cube and it is showing me the following error:-
    1)  Check database parameter for star schema table for InfoCube ZMM_MVAL
    564971 units missing from fact table /BIC/FZMM_MVAL; see details
    Message no. RSRV134
    Diagnosis
    In the fact table /BIC/FZMM_MVAL records have been found that contain values other than zero for key figures that have units, but that have no value for the unit of the key figure. Since the value of the unit has to correspond to the value of the key figure, this inidicates an error when the data was loaded. The values of the units have not been loaded into BW correctly. Choose Details to display the incorrect records.
    2)  Consistency of time dimension of InfoCube ZMM_MVAL
    /BIC/FZMM_MVAL PARTITIONED 1878 ( 30 - 50 )
    Please advise me on this.
    Thanks in Advance.
    Aparna

    As mentioned in the log, check the Unit KFs in your cube and make sure that unit is populated for all such values.
    e.g. if Qty is 5 KG, then unit KF will have 5 and unit info object should have KF.
    Regards,
    Gaurav

  • QBE style(Find-Execute) Query not executing when VO has bind parameter

    I have an Entity Based ViewObject that is composed of 3 Entities so the entities are related through an Assoc. Then the ViewObject also has a bind paremeter defined and used in the WHERE clause.
    In my page everything is fine until when I use/click on the Find operation on the JSF page. When the Find operation is executed the page/form goes blank so I can enter by QBE query. Now when I Execute my search by executing the ExecuteWith params operation. Nothing is happening to the screen, it seems that query was not executed. Although there was no errors or exceptions displayed.
    However if I remove the bind parameter, and execute the Execute operation instead after going to Find mode, the query is executed properly and I get expected results.
    My problem is a bit general, but are there anyone who had a similar problem like this? Im still in the process of creating a test case.
    regards,
    Anton

    Hi Frank,
    But the "ExecuteWithParams" operation provides the bind variable right? (i had the value hardcoded on the pagedef). So it must have supplied a value. I also noticed that this is happening only when if the VIewObject contains two or more Entities. If the Viewobject has only 1 entity, the ViewObject queries properly.
    Anyway Frank, I had found a fix for this. I set an InvokeAction on the pagedef that binds to the ExecuteWithParams that is invoked during page load only(!postback condition). and then I just use the Find-Execute operations instead of the Find-ExecuteWithParams operations that I used previously.
    I will try to replicate the issue again to investigate what's really going on. I just want to know if its a bug or just an expected behavior or i just made a mistake.
    regards,
    Anton

  • Serializable transactions and initrans parameter for version enabled tables

    Hi,
    we want to use serializable transactions when using version enabled tables, so we need to set initrans parameter >= 3 for such tables.
    Change made during BEGINDDL - COMMITDDL process is not done for LT table. I think that initrans parameter is not checked at all during BEGINDDL-COMMITDDL process, because skeleton table has initrans=1 even if LT table has different value of this parameter.
    -- table GRST_K3_LT has initrans = 1
    exec dbms_wm.beginddl('GRST_K3');
    alter table grst_k3_lts initrans 3;
    exec dbms_wm.commitddl('GRST_K3');
    -- table GRST_K3_LT has initrans = 1
    During enableversioning this parameter is not changed, so this script succesfully set initrans for versioned tables.
    -- table GRST_K3 has initrans = 1
    alter table grst_k3 initrans 3;
    exec dbms_wm.enableversioning('GRST_K3','VIEW_WO_OVERWRITE');
    -- table GRST_K3_LT has initrans = 3
    We use OWM 10.1.0.3 version.
    We cannot version disable tables. I understand that change can be done after manually disabling trigger NO_WM_ALTER.
    Are there any problems with using serializable transactions when reading data in version enabled tables? We will not use serializable transactions for changing data in version enabled tables.
    thanks for Your help
    Jan VeleÅ¡Ãk

    Hi,
    You are correct. We do not currently support the initrans parameter during beginDDL/commitDDL. However, as you indicated, we will maintain any value that is set before enableversioning. If this is a critical issue for you, then please file a TAR and we can look into adding support for it in a future release.
    Also, there are no known issues involving serializable transactions on versioned tables.
    Thanks,
    Ben

  • Problem while executing unix command having \&\& symbol

    Hi All,
    Please check the below program while is not executing, when the unix command's having \&\& is used.
    The following command copies the src folder to dest folder with out data loss ...
    import java.io.*;
    import java.util.*;
    public class Sample
      public static void main(String[] args)
         try {
              String ExCmd     =     "ssh [email protected] cd /u01/11510/devdb/9.2.0/slax \\&\\& /bin/tar cf - . | ssh [email protected] cd /d01/AppsTest/testappl2 \\&\\& /bin/tar -xf - > test.log";
              System.out.println("Command to execute : "+ExCmd);
              Process SshProc = (Runtime.getRuntime()).exec(ExCmd);
            // any error message?
              StreamReader errorStream = new StreamReader(SshProc.getErrorStream(), "DEBUG");           
            // any output?
              StreamReader outputStream = new StreamReader(SshProc.getInputStream(), "OUTPUT");
            // kick them off
              errorStream.start();
              outputStream.start();
              int pp =SshProc.waitFor();
              System.out.println("command execution value: "+pp);
         }catch(Exception e) {
              e.printStackTrace();
    class StreamReader extends Thread
        InputStream is;
        String type;
        StreamReader(InputStream is, String type)
            this.is = is;
            this.type = type;
        public void run()
            try
                InputStreamReader isr = new InputStreamReader(is);
                BufferedReader br = new BufferedReader(isr);
                String line=null;
                while ( (line = br.readLine()) != null) {
                    System.out.println(type + ">" + line);   
            } catch (IOException ioe)
                ioe.printStackTrace(); 
    }When this is executed iam getting process value as "0".
    But nothing is copying to target ..
    So to resolve this i have created a script .. and passed arguments to that script and chaged command as follows :
    String ExCmd = "sh /home/juser/movedir.sh [email protected] /u01/11510/devdb/9.2.0/slax /bin/tar [email protected] /d01/AppsTest/testappl2 /bin/tar /home/juser/test";
    Then it is executing fine. But in my scenario iam restricted to use scripts.
    So plz can any body have a solution for this.
    Thanks, SN

    Iam unable to execute command with &&, it's executing fine only from \&\& ... Can any body tell me how can we make below code as generic, depending on UNIX Shell environment?
    String[] ExCmd     = {"sh", "-c", "ssh [email protected] cd /u01/11510/devdb/9.2.0/slax \\&\\& /bin/tar cf - . | ssh [email protected] cd /d01/AppsTest/testappl2 \\&\\& /bin/tar -xf - > test.log"};
    Process SshProc = Runtime.getRuntime().exec(ExCmd);"sh" should be changed here depending on UNIX Environment, because previously i found that in some unix environment's "sh" is not working ..
    So can any one help...
    Thank in advance.

  • How  change NLS_NUMERIC_CHARACTERS parameter for load external table

    Hi,
    I use this version:
    OWB 11gR2
    Database 11gR2
    Parameter NLS_NUMERIC_CHARACTERS Database ., Instance ,.
    When I created database with wizard and in this moment I don't set spanish language, later I changed this parameters in instance parameters.
    Now I want load data from a file to external table, but I've an error when I try load data with decimal point.
    why does it use the database parameter instead of instance parameter?
    Is possible to change this parameter?
    Cheers
    Marisol

    At this moment , this is not possible . You can see metalink note ID 268906.1.
    It says:
    Currently, external tables always use the setting of NLS_NUMERIC_CHARACTERS
    +at the database level.+
    Cheers
    Marisol

  • How to bind data for a UDO table..on to MATRIX

    hi
    i have created a Master Data Table(Video) and also created UDO object...
    i designed a form with 2 controls as text boxes and a matrix with some coloums.........
    the functioality of the form is ..when i enter some values in those controls...it should get data from DB table and should be displayed in matrix on my form. based on condition what i have entered on form controls...
    i have done the same scenario successfully when i'm dealing with other controls like textboxes...by binding data to the controls from DB..
    But i dont know how to deal this scenario where i'm populating data to matrix from DB

    i have used DataTables as u said...but still i'm getting an Exception called " Public MEmber 'Data Table" on type IMatrix not found"
    this is following code i have written in my program...
    plz give me the solution.....and code...
    Try
                oitem = oform.Items.Item("7")
                omatrix = oitem.Specific
                ocolumns = omatrix.Columns
                oform.DataSources.DataTables.Add("[@VIDS]")
                '    odbdatasource = oform.DataSources.DBDataSources.Add("[@VIDS]")
                omatrix.DataTable = oform.DataSources.DataTables.Item("[@VIDS]")
                '// Ready Matrix to populate data
                omatrix.Clear()
                omatrix.AutoResizeColumns()
                '// Querying the DB Data source
                odbdatasource.Query()
                '// setting the user data source data
                omatrix.LoadFromDataSource()
                ocolumn = ocolumns.Item("V_5")
                ocolumn.DataBind.SetBound(True, "[@VIDS]", "Code")
                ocolumn = ocolumns.Item("V_4")
                ocolumn.DataBind.SetBound(True, "[@VIDS]", "Name")
                ocolumn = ocolumns.Item("V_3")
                ocolumn.DataBind.SetBound(True, "[@VIDS]", "U_CardCode")
                ocolumn = ocolumns.Item("V_2")
                ocolumn.DataBind.SetBound(True, "[@VIDS]", "U_ShelfNumber")
                ocolumn = ocolumns.Item("V_1")
                ocolumn.DataBind.SetBound(True, "[@VIDS]", "U_SPACENumber")
                ocolumn = ocolumns.Item("V_0")
                ocolumn.DataBind.SetBound(True, "[@VIDS]", "U_RentedAvailable")
            Catch ex As Exception
                SBO_Application.MessageBox(ErrorToString)
            End Try

  • Cannot sort child rows in multilevel tree table

    Hi,
    I originally hijacked a two-year-old forum thread that was vaguely similar to my issue, but a kind forum moderator split my post away
    (and deleted my other hijack post asking this same question)
    so that my inquiry might be viewable on its own.
    Hopefully someone can pay attention to my issue instead of getting it confused with those other old forum threads.
    So, here we go ...
    Is sorting in a treeTable at a particular level possible? Just want to let you I have tried the following approaches to do this. But it dis not work for me.
    I have tree table with 2 levels. I am trying to sort the child rows based on its column say "Display Sequence".
    User can type in number in this column which contains input text. On value change event of the this field, all the
    child rows in the level 2 need to be sorted. This needs to be done without committing the data. On commit it works,
    because it sorts based on order by clause. I want the child rows to be sorted on value change event. Following
    various approaches I tried.
    TreeModel tModel = (TreeModel)treeTable.getValue();
    SortCriterion sortCriterion = new SortCriterion("DisplaySequence",true);
    List<SortCriterion> sortCriteriaList = new ArrayList<SortCriterion>();
    sortCriteriaList.add(sortCriterion);
    tModel.setSortCriteria(sortCriteriaList);
    The above code does not work, As "DisplaySequence" is not available in the parent view object.
    Here is approach no 2
    JUCtrlHierBinding treeTableBinding = null;
    JUCtrlHierNodeBinding nodeBinding = null;
    JUCtrlHierNodeBinding parentNodeBinding = null;
    JUCtrlHierTypeBinding nodeHierTypeBinding = null;
    Key rowKey;
    Object dispSeqObj;
    Number displaySequence = null;
    Map<Key,Number> keyValueMap = null;
    Set<Key> emptyValueKeySet = null;
    Map<Key,Number> sortedKeyValueMap = null;
    DCIteratorBinding target = null;
    Iterator iter = null;
    int rowIndex = 1;
    RowSetIterator rsi = null;
    Row currentRow = null;
    Row row = null;
    RowKeySet selectedRowKey = lookupTreeTable.getSelectedRowKeys();
    Iterator rksIterator = selectedRowKey.iterator();
    if (rksIterator.hasNext()) {
    List key = (List)rksIterator.next();
    System.out.println("key :"+key);
    treeTableBinding = (JUCtrlHierBinding) ((CollectionModel)lookupTreeTable.getValue()).getWrappedData();
    nodeBinding = treeTableBinding.findNodeByKeyPath(key);
    parentNodeBinding = nodeBinding.getParent();
    //rsi = nodeBinding.getParentRowSetIterator();
    rsi = parentNodeBinding.getChildIteratorBinding().getRowSetIterator();
    keyValueMap = new LinkedHashMap<Key,Number>();
    emptyValueKeySet = new LinkedHashSet<Key>();
    // Gets the DisplaySequence by iterating through the child rows
    while(rsi.hasNext()) {
    if(rowIndex==1)
    row = rsi.first();
    else
    row = rsi.next();
    rowKey = row.getKey();
    dispSeqObj = row.getAttribute("DisplaySequence");
    if(dispSeqObj!=null && dispSeqObj instanceof Number) {
    displaySequence = (Number)dispSeqObj;
    keyValueMap.put(rowKey, displaySequence);
    }else {
    emptyValueKeySet.add(rowKey);
    rowIndex++;
    rowIndex = 0;
    // Sort the numbers using comparator
    DisplaySequenceComparator dispSeqComparator = new DisplaySequenceComparator(keyValueMap);
    sortedKeyValueMap = new TreeMap<Key,Number>(dispSeqComparator);
    sortedKeyValueMap.putAll(keyValueMap);
    rsi.reset();
    nodeHierTypeBinding = nodeBinding.getHierTypeBinding();
    System.out.println("nodeHierTypeBinding :"+nodeHierTypeBinding);
    String expr = nodeHierTypeBinding.getTargetIterator();
    if (expr != null) {
    Object val = nodeBinding.getBindingContainer().evaluateParameter(expr, false);
    if (val instanceof DCIteratorBinding) {
    target = ((DCIteratorBinding)val);
    ViewObject targetVo = target.getViewObject();
    System.out.println("targetVo :"+targetVo);
    targetVo.setAssociationConsistent(true);
    //ri = target.findRowsByKeyValues(new Key[]{rowData.getRowKey()});
    rsi = parentNodeBinding.getChildIteratorBinding().getRowSetIterator();
    //rsi = nodeBinding.getParentRowSetIterator();
    // Rearrange the tree rows by inserting at respective index based on sorting.
    ViewObject vo = nodeBinding.getViewObject();
    iter = sortedKeyValueMap.keySet().iterator();
    while(iter.hasNext()) {
    currentRow = rsi.getRow((Key)iter.next());
    rsi.setCurrentRow(currentRow);
    rsi.setCurrentRowAtRangeIndex(rowIndex);
    //rsi.insertRowAtRangeIndex(rowIndex, currentRow);
    rowIndex++;
    iter = emptyValueKeySet.iterator();
    while(iter.hasNext()) {
    currentRow = rsi.getRow((Key)iter.next());
    rsi.setCurrentRow(currentRow);
    rsi.setCurrentRowAtRangeIndex(rowIndex);
    //rsi.insertRowAtRangeIndex(rowIndex, currentRow);
    rowIndex++;
    rsi.closeRowSetIterator();
    AdfFacesContext.getCurrentInstance().addPartialTarget(treeTable);
    private class DisplaySequenceComparator implements Comparator {
    Map<Key,oracle.jbo.domain.Number> dispSeqMap = null;
    public DisplaySequenceComparator(Map<Key,oracle.jbo.domain.Number> dispSeqMap) {
    this.dispSeqMap = dispSeqMap;
    public int compare(Object a, Object b) {
    Key key1 = (Key)a;
    Key key2 = (Key)b;
    oracle.jbo.domain.Number value1 = dispSeqMap.get(key1);
    oracle.jbo.domain.Number value2 = dispSeqMap.get(key2);
    if(value1.getValue() > value2.getValue()) {
    return 1;
    } else if(value1.getValue() == value2.getValue()) {
    return 0;
    } else {
    return -1;
    In the above code I tried to perform sorting of DisplaySequence values using comparator, then tried to rearrange
    nodes or rows based on sort resurts. But rsi.insertRowAtRangeIndex(rowIndex, currentRow) give
    DeadViewException...unable to find view reference. While setting current row also does not work.
    Approach 3.
    DCIteratorBinding iter1 =
    bindings.findIteratorBinding("childIterator");
    iter1.executeQuery();
    SortCriteria sc = new SortCriteriaImpl("DisplaySequence",false);
    SortCriteria [] scArray = new SortCriteria[1];
    scArray[0] = sc;
    iter1.applySortCriteria(scArray);
    Any help in Sorting Child nodes ADF treeTable is appreciated. Thanks in Advance.
    Abhishek

    Hi Frank,
    Thanks for your reply. I have tried similar approach for sorting tree table child rows based on user specified number and it works. But there is a limitation for this. This sorting works only for read only/transient view object. For updatable view object after sorting, data cannot be saved or updated, as it cannot find the rowid. Here is what I tried
    In the ParentViewImpl class,
    1. overrode the method createViewLinkAccessorRS, so that this method is forcefully executed.
    @Override
    protected ViewRowSetImpl createViewLinkAccessorRS(AssociationDefImpl associationDefImpl,
    oracle.jbo.server.ViewObjectImpl viewObjectImpl,
    Row row,
    Object[] object) {
    ViewRowSetImpl viewRowSetImpl = super.createViewLinkAccessorRS(associationDefImpl, viewObjectImpl, row, object);
    return viewRowSetImpl;
    2. Added the following method, which will be invoked on valueChange of DisplaySequence in child row. Expose this method through client interface. This method accept a parameter i.e. parent row key of the child row.
    public void sortChildRecords(Key parentKey) {
    ViewObject viewObject = null;
    String type = null;
    if(parentKey==null) {
    Row [] row = this.findByKey(parentKey, 1);
    RowSet rowSet = (RowSet)row[0].getAttribute("ChildVO");
    viewObject = rowSet.getViewObject();
    viewObject.setSortBy("DisplaySequence asc");
    }else {
    Row row = getCurrentRow();
    RowSet rowSet = (RowSet)row.getAttribute("ChildVO");
    viewObject = rowSet.getViewObject();
    viewObject.setSortBy("DisplaySequence asc");
    this.setQueryMode(ViewObject.QUERY_MODE_SCAN_DATABASE_TABLES |
    ViewObject.QUERY_MODE_SCAN_ENTITY_ROWS);
    this.executeQuery();
    For custom sort, lets say all the numbers should be display first in ascending order, and null or empty values to be display at the end need to override the getRowComparator method in the ChildViewImpl class,
    Here is the code for the same
    @Override
    public Comparator getRowComparator() {
    SortCriteria sortCriteria = new SortCriteriaImpl("DisplaySequence",false);
    SortCriteria [] sortCriterias = new SortCriteria[1];
    sortCriterias[0] = sortCriteria;
    return new DisplaySequenceComparator(sortCriterias);
    private class DisplaySequenceComparator extends RowComparator {
    public DisplaySequenceComparator(SortCriteria [] sortCriterias) {
    super(sortCriterias);
    public int compareRows(Row row1, Row row2) {
    Object dispSeqObj1;
    Object dispSeqObj2;
    Number dispSeq1 = null;
    Number dispSeq2 = null;
    boolean compareRow1 = true;
    boolean compareRow2 = true;
    if(row1!=null) {
    dispSeqObj1 = row1.getAttribute("DisplaySequence");
    if(dispSeqObj1!=null && dispSeqObj1 instanceof Number) {
    dispSeq1 = (Number)dispSeqObj1;
    }else {
    compareRow1 = false;
    if(row2!=null) {
    dispSeqObj2 = row2.getAttribute("DisplaySequence");
    if(dispSeqObj2!=null && dispSeqObj2 instanceof Number) {
    dispSeq2 = (Number)dispSeqObj2;
    }else {
    compareRow2 = false;
    if(compareRow1 && compareRow2) {
    if(dispSeq1.getValue() > dispSeq2.getValue()) {
    return 1;
    } else if(dispSeq1.getValue() == dispSeq2.getValue()) {
    return 0;
    } else {
    return -1;
    if(!compareRow1 && compareRow2)
    return 1;
    if(compareRow1 && !compareRow2)
    return -1;
    return 0;
    The above solution works properly, and sorts the child tree rows. But while saving the changes, update fails. I also came to know that in-memory sorting is applicable to read-only/transient view objects from some blogs and also mentiond in this link http://docs.oracle.com/cd/E24382_01/web.1112/e16182/bcadvvo.htm
    Is there any way that updatable view objects can be sorted and saved as well?
    Thanks,
    Abhishek
    Edited by: 930857 on May 2, 2012 7:12 AM

  • ADF Issue with Tree Table , Child Row not getting rendered.

    Hi All,
    I am trying to show a single Level Master-Detail Table via ADF Tree Table.
    I have MasterVO : InventoryVO (1 SubInventoryCode)
    DetailVO: SubInventoryVO (n :SubInventoryCode)
    Both VOs are SQL query based VO with bindVariables.
    I have a viewLink between MasterVO and ChildVO (1:n relationship)
    I dragged and drop the MasterVO as a tree Table. I added the Rule in the Tree Binding too.
    I have the Tree table under a Tab , I execute the AM impl method when the Tab is clicked where I set the bindvariables of the MasterVO and ChildVO and execute it.
    when I run the Page , the VO query gets executed but the I am able to see only the MasterVO Datas, and when I click MasterVO ROW , the Table doesnt expand and it doesnt render any ChildVO ROws.
    Please find the Page Definition and Jspx Page Code Below
    Page Definition Code
    <tree IterBinding="ItemsLocatorIterator" id="ItemsLocator">
          <nodeDefinition DefName="xxplp.oracle.adf.items.model.view.ItemsLocatorVO"
                          Name="ItemsLocator0">
            <AttrNames>
              <Item Value="SubinventoryCode"/>
              <Item Value="Openorderqty"/>
              <Item Value="Openwoqty"/>
              <Item Value="Qoh"/>
            </AttrNames>
            <Accessors>
              <Item Value="ItemSubInventoryVO"/>
            </Accessors>
          </nodeDefinition>
          <nodeDefinition DefName="xxplp.oracle.adf.items.model.view.ItemSubInventoryVO"
                          Name="ItemsLocator1">
            <AttrNames>
              <Item Value="Locator"/>
            </AttrNames>
          </nodeDefinition>
        </tree>Jspx Page Code
    <af:treeTable value="#{bindings.ItemsLocator.treeModel}"
                                          var="node"
                                          selectionListener="#{bindings.ItemsLocator.treeModel.makeCurrent}"
                                          rowSelection="single" id="tt2"
                                          styleClass="AFStretchWidth"
                                          rowDisclosureListener="#{backingBeanScope.TabListenerBean.LocationTableRowDisclosureListener}">
                              <f:facet name="nodeStamp">
                                <af:column id="c110">
                                  <af:outputText value="#{node.SubinventoryCode}" id="ot116"/>
                                </af:column>
                              </f:facet>
                              <f:facet name="pathStamp">
                                <af:outputText value="#{node}" id="ot117"/>
                              </f:facet>
                              <af:column id="c111"
                                         headerText="#{bindings.ItemsLocator.hints.Qoh.label}">
                                <af:outputText value="#{node.Qoh}" id="ot118"/>
                              </af:column>
                              <af:column id="column1"
                                         headerText="#{bindings.ItemsLocator.hints.Openorderqty.label}">
                                <af:outputText value="#{node.Openorderqty}"
                                               id="outputText1"/>
                              </af:column>
                              <af:column id="column2"
                                         headerText="#{bindings.ItemsLocator.hints.Openwoqty.label}">
                                <af:outputText value="#{node.Openwoqty}"
                                               id="outputText2"/>
                              </af:column>
                              <af:column id="column3"
                                         headerText="Locator">
                                <af:outputText value="#{node.Locator}"
                                               id="outputText3"/>
                              </af:column>
                            </af:treeTable>

    I was able to find the issue which is causing the problem, both the VOs are SQL Query Based VOs.
    The ChildVO (SubInventoryVO) is has a bindvariable in its Query, which is losing its value when the viewlink accessor query gets appended to it.
    Please find the query below
    SELECT * FROM (SELECT MOTV.ORGANIZATION_CODE, MOTV.SUBINVENTORY_CODE  
    FROM MTL_ONHAND_TOTAL_V MOTV
    WHERE INVENTORY_ITEM_ID = :P_INVENTORY_ITEM_ID) QRSLT  WHERE ORGANIZATION_CODE = :Bind_OrganizationCode Though I am setting the VO query before the Table is rendered, ":P_INVENTORY_ITEM_ID".
    Its Losing its value, when the above whereclause "ORGANIZATION_CODE = :Bind_OrganizationCode " gets appended to it.
    I am thinking to use ExecuteWithParams Operation on SelectionListener method of the Tree Table to set the ":P_INVENTORY_ITEM_ID" bind variable, but I also want the viewLinkAccessor rule also to be applied ..
    Please suggest me how to retain the implicit bindVariable of the Query.

  • ADF Tree invokeaction problem

    Hello,
    I am trying to use the ADF tree table for the first time. I have a Master VO and a Detail VO, the Master accepts a bind variable. There is a view link between the master and detail.
    When I drag and Drop the executewithparams and create an adf parameter form on my page fragment, the tree table will work as expected when the executewithparams button is clicked. However, I want to use a pageFlowScope variable and invoke the executewithparams, but the Detail VO does not load any data. The Master VO works as expected but there is no rows for the Detail VO when expanded. I am just confused, it works when I execute with an Execute With Params button, but not with an invokeaction. I can see the pageFlowScope values displayed on my page, so I know they actaully have a value.
    Here is what my pagedef looks like.
    <?xml version="1.0" encoding="UTF-8" ?>
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
    version="11.1.1.56.60" id="SellerReportPageDef"
    Package="Fragments">
    <parameters/>
    <executables>
    <iterator Binds="SellerReportView2" RangeSize="25"
    DataControl="AppModuleDataControl"
    id="SellerReportView2Iterator"/>
    <invokeAction id="invokeExecuteWithParams" Binds="ExecuteWithParams"
    Refresh="always"/>
    </executables>
    <bindings>
    <tree IterBinding="SellerReportView2Iterator" id="SellerReportView2">
    <nodeDefinition DefName="model.SellerReportView"
    Name="SellerReportView20">
    <AttrNames>
    <Item Value="RecordsCount"/>
    <Item Value="PersonInfo"/>
    </AttrNames>
    <Accessors>
    <Item Value="SellerReportDetail"/>
    </Accessors>
    </nodeDefinition>
    <nodeDefinition DefName="model.SellerReportDetail"
    Name="SellerReportView21">
    <AttrNames>
    <Item Value="AgencyId"/>
    <Item Value="AgencyReportNumber"/>
    <Item Value="ControlNumber"/>
    <Item Value="Dob"/>
    <Item Value="FirstName"/>
    <Item Value="FullAddress"/>
    <Item Value="LastName"/>
    <Item Value="NumOfItems"/>
    <Item Value="ShopName"/>
    <Item Value="TransactionDate"/>
    <Item Value="TransactionType"/>
    </AttrNames>
    </nodeDefinition>
    </tree>
    <action IterBinding="SellerReportView2Iterator" id="ExecuteWithParams"
    RequiresUpdateModel="true" Action="executeWithParams">
    <NamedData NDName="DateStart" NDType="oracle.jbo.domain.Date"
    NDValue="#{pageFlowScope.startDate}"/>
    <NamedData NDName="DateEnd" NDType="oracle.jbo.domain.Date"
    NDValue="#{pageFlowScope.endDate}"/>
    </action>
    </bindings>
    </pageDefinition>
    What am I missing? Any help would be great.
    Thanks,
    Jessica

    I forgot to mention I am using version 11.1.1.3

  • [SOLVED]how to use a VO that has bind variables in a Tree

    Hi,
    I have 3 view objects that I have linked using ViewLinks.
    My last object - the details is based on a View Object that takes in a bind parameter for use in its where clause.
    Originally when I used this View Object I could set this where clause by creating an ExecuteWithParams action in the page on the Iterator and set an executeable to invoke this when the page loads. This worked fine in the non-tree version.
    However when you use a Tree only the master collection gets turned into an iterator in the page def. Therefore I cannot invoke an ExecuteWithParams and set my bind variable in this way.
    How can I set my bind variable on the view object declaratively ? If it is not possible and I have to do it programmatically then where should I do this - I presume it would have to be in a method that the tree has ?
    thanks in advance.
    Message was edited by:
    Dom

    Hi,
    My Employees equivalent table is actually a xref table.
    It is like this :
    Master table = Skills
    This has a self join so a skill can have a master skills (I guess a bit like MGR)
    So I have 2 views on the skills - one for the top level skills and one for all ones below it.
    Then I have my last VO which is employees_skills_xref. This is a xref to the skills table and can hold many rows - so an employee could have many entries under the Skill names "Oracle technologies" - eg "PL/SQL, SQL, Portal etc"
    the Where clause for this xref VO has to take in the employeeId so that it only returns those rows that pertain to the user.
    This empId is stored in a managed bean,
    hth

  • How to create Function Module with TABLE parameter (for internal table)

    Hi Guys,
    I am trying to create a function module by using TABLE parameter. I have to pass an internal table to this function module for processing.
    But it saying : TABLES parameters are obsolete!
    And I am not going further.
    Please suggest any work arround.
    Thanks

    Hi,
    create a table type in SE11..
    Then use that in your function module importing/exporting/changing parameter for passing internal tables..
    Thanks,
    Naren

  • Tree table scrolling problem

    Hi,
    I have a treetable in panelGroupLayout with scroll layout.When scrolling down to the end,some treetable row doesn't appear...That is,panelGroupLayout scrollbar is not synchronized with treetable.But with mouse wheel,i can scroll down to the end of treetable rows.Why?Thanks in advance...

    Timo:
    I have some related observations.
    I am using jDeveloper 12c and JSE-JDK 7 Update45
    ( and Windows 8.1 Professional, includng latest updates and
      a standard logitech wired mouse, model M110 ).
    I have a database and application module.
    The next step is Creating A Databound Web User Interface.
    And, I have created TWO of them as follows...
    1) Chapter 31.3.1 How to Display Master-Detail Objects in Tables and Forms Using Master-Detail Widgets
    http://docs.oracle.com/middleware/1212/adf/ADFFD/web_masterdetail.htm#ADFFD761
    Here, I am choosing "ADF Master Form, Detail Table “.
    TESTING SUCCEEDED.
    The detail tables scroll successfully using the mouse (or scroll bar).
    2) Chapter 31.5.1 How to Display Master-Detail Objects in Tree Tables
    http://docs.oracle.com/middleware/1212/adf/ADFFD/web_masterdetail.htm#ADFFD775
    " The steps for creating an ADF Faces databound tree table are
    exactly the same as those for creating an ADF Faces databound tree, except that
    you drop the data collection as an ADF Tree Table instead of an ADF Tree.
    For more information, see Section 31.4.1, "How to Display Master-Detail Objects in Trees."
    http://docs.oracle.com/middleware/1212/adf/ADFFD/web_masterdetail.htm#BJEJBGCI
    TESTING FAILED:
    The detail tables fail to scroll using the mouse (or scroll bar).
    I've been looking at this problem for a day or two (or three) and
    I just don't have any warm fuzzy feelings on how to resolve this.
    While I am delighted that the Form-Table interface works well,
    I really really like the Tree-Table interface, a lot !
    If others could share their Tree-Table observations, that would be wonderful.

  • How to set bind parameter in vo in execute method

    Hi,
    I m using this Query in VO.There are 7 bind variables i want to set the bind parameter before calling the execute Query of VO
    but i m unable to set values in bind parameter.
    I am getting the values in sysout but when trying to print the query by using get Query the bind parameter does not get the values.
    can any one help me?
    plz give me solution.I m waiting for ur response.
    Thanks&Regards
    Mansoor Syed
    select '' MNDT_ORD_ID,
    '' MNDT_CUST_ID,
    '' MNDT_FOLIO_ID,
    SUM(NVL(DECODE(MNDT_PLCMNT_QTY,0,MNDT_AMT_FC,MNDT_PLCMNT_QTY),0)) Mandate_Qty_Amt,
    SUM(NVL(DECODE(MNDT_PNDG_QTY,0,MNDT_PNDG_AMT_FC,MNDT_PNDG_QTY),0)) Pending_Qty_Amt,
    SUM(NVL(DECODE(MNDT_PLCMNT_QTY,0,MNDT_AMT_FC,MNDT_PLCMNT_QTY),0)) Placement_Qty_Amt,
    MNDT_POOL_YN , max(substr(sys_connect_by_path(t.MNDT_SYS_ID, ','), 2)) List
    from
    (select MNDT_INSTR_ID, MNDT_TRANS_TYP,MNDT_SYS_ID,MNDT_PLCMNT_QTY,MNDT_AMT_FC,MNDT_PNDG_AMT_FC,MNDT_PNDG_QTY,
    MNDT_POOL_YN ,row_number() over (partition by MNDT_INSTR_ID order by MNDT_SYS_ID ) rn
    from XBT_TRD_ORD_MNDT
    WHERE MNDT_ACLS_ID = nvl(:Bind_Acls_Id,MNDT_ACLS_ID)
    AND MNDT_ATYP_ID = nvl(:Bind_Atyp_Id,MNDT_ATYP_ID)
    AND MNDT_POOL_YN = nvl(:Bind_Pool_Yn,MNDT_POOL_YN)
    AND MNDT_TRANS_TYP = nvl(:Bind_Trans_Type,MNDT_TRANS_TYP)
    AND MNDT_INSTR_ID = nvl(:Bind_Instr_Id,MNDT_INSTR_ID)
    AND :Bind_Price Between MNDT_FROM_PRC_FC and MNDT_TO_PRC_FC
    AND 'P' = :Bind_Union
    ) t
    start with rn = 1
    connect by rn = prior rn + 1
    and MNDT_INSTR_ID = prior MNDT_INSTR_ID
    group by t.MNDT_INSTR_ID,t.MNDT_POOL_YN,t.MNDT_TRANS_TYP
    UNION
    SELECT MNDT_ORD_ID,
    MNDT_CUST_ID,
    MNDT_FOLIO_ID,
    NVL(DECODE(MNDT_PLCMNT_QTY,0,MNDT_AMT_FC,MNDT_PLCMNT_QTY),0) Mandate_Qty_Amt,
    NVL(DECODE(MNDT_PNDG_QTY,0,MNDT_PNDG_AMT_FC,MNDT_PNDG_QTY),0) Pending_Qty_Amt,
    NVL(DECODE(MNDT_PLCMNT_QTY,0,MNDT_AMT_FC,MNDT_PLCMNT_QTY),0) Placement_Qty_Amt,
    MNDT_POOL_YN ,concat(MNDT_SYS_ID,'') List
    from XBT_TRD_ORD_MNDT
    WHERE MNDT_ACLS_ID = nvl(:Bind_Acls_Id,MNDT_ACLS_ID)
    AND MNDT_ATYP_ID = nvl(:Bind_Atyp_Id,MNDT_ATYP_ID)
    AND MNDT_POOL_YN = nvl(:Bind_Pool_Yn,MNDT_POOL_YN)
    AND MNDT_TRANS_TYP = nvl(:Bind_Trans_Type,MNDT_TRANS_TYP)
    AND MNDT_INSTR_ID = nvl(:Bind_Instr_Id,MNDT_INSTR_ID)
    AND :Bind_Price Between MNDT_FROM_PRC_FC and MNDT_TO_PRC_FC
    AND 'N' = :Bind_Union

    Do you mean to say that you are overriding "execute" in the impl class? If you do this, you should call setNamedWhereClauseParam for each of your named bind variables before you call "super". But if you are doing this, I have to wonder why you are using bind variables at all instead of constants because you wind up setting the bind variables to the same thing every time you execute the query. I'd write a brand new method that CALLS "execute" after setting the bind variables. I've even written a method that sets bind variables with setNamedWhereClauseParam and DOESN'T call "execute" - it leaves the execute for another page.
    I'm also trying to understand what you mean by "all the values i m trying to set are transient variables". Maybe instead of telling us what doesn't work, you should tell us more about your use case. Tell us what it should look like to the user - what it should do, and let us give you some suggestions about how to do it.

Maybe you are looking for