JDev: af:query cascade LOVs

Hi,
I have question about cascade LOVs inside af:query component (generated automatically via viewCriteria).
Is it possible to have two LOVs (master slave relation), in first user selects department, and then he gets all employees which are
in selected department in second ? (search must be possible only by department)
Regards, Rok Kogovšek

Hi,
I managed to made LOV behavior in cascading fashion but i have another problem, form is refreshed when user click on search button.
Is it possible to set partial trigger of first LOV to refresh second one or to refresh complete form on value change.
Regards Rok Kogovšek

Similar Messages

  • Cascading LOV always returns first row in af:query

    HI
    JDEV 11.1.1.3.0
    A strange thing is happening with my cascading LOV which is input text with LOV.
    I have a read only table with a query section. I then also bring up any of the tables rows in a popup with single record view where the row is then in an af:form for inserting and updating.
    Both the af:query and af:form have the cascaing LOV in them.
    When testing the cascading LOV in the BC Browser it works fine. When I use it in the popup in the af:form record it works fine. But in the af:query section, no matter which row I choose in the LOV, it always returns the 1st row of the LOV back to my input text component.
    Has anyone experienced this...any ideas?
    Thanks,
    Mario

    Aha...and the above log message lead me to the solution!! :-)
    The VO is based on an Oracle data dictionary view, DBA_TAB_COLUMNS. When you create the read only VO, by default it does not create any of the attributes as "key" attributes, because the oracle view has no primary key.
    Setting owner, tableName and columnName as key attributes solved this issue, now my cascading LOV works in the BC Tester, af:query component and my af:form component.
    Regards,
    Mario

  • Af:query component with cascading Lov's

    Hi All,
    I have Cascading LOV's model setup in Business Components and they work fine in a form or table
    but they are not working inside af:query component as there is no autoSubmit attribute on the query component itself
    can someone help me to resolve this
    Thanks in Advance

    I have found a way
    using bindings attribute of the query component it was able to go to backing bean on any LOV change in there we need to manually refresh the bindings then it works

  • Cascading LOV in a Query panel (af:query)

    Hi
    I have a requirement to implement few Cascading LOV's in a Query panel. I have created the VO's for the LOV's with bind variable and view criteria and linked them. It works for the BC viewer. But to enable in the ADF UI, the partial trigger needs to be enabled on individual field. And the af:query encapsulates the fields and they are not exposed. Can someone help me with a solution or a pointer
    Many thanks

    Thanks for the pointer
    Well I followed the the steps, and implemented the same for two LOV's. I'm getting "Server Exception during PPR, #1". Would be able to identify where I'm going wrong please.
    FYI: I'm using a UI template that is stripped won from Oracles Dynamic tab template
    1. parent LOV
    <?xml version="1.0" encoding="windows-1252" ?>
    <!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
    <!---->
    <ViewObject
    xmlns="http://xmlns.oracle.com/bc4j"
    Name="QcChiptypeVViewRO"
    Version="11.1.1.56.60"
    BindingStyle="OracleName"
    CustomQuery="true"
    RowClass="com.qualcomm.qdt.fwk.model.QdtViewRowImpl"
    ComponentClass="com.qualcomm.qdt.fwk.model.QdtViewObjectImpl"
    DefClass="com.qualcomm.qdt.fwk.model.QdtViewDefImpl"
    PageIterMode="Full"
    UseGlueCode="false">
    <DesignTime>
    <Attr Name="_codeGenFlag2" Value="Access|VarAccess"/>
    <Attr Name="_isExpertMode" Value="true"/>
    </DesignTime>
    <SQLQuery>
    <![CDATA[SELECT QcChiptypeV.CHIPTYPE
    FROM QC_CHIPTYPE_V QcChiptypeV]]>
    </SQLQuery>
    <ViewAttribute
    Name="Chiptype"
    IsUpdateable="false"
    IsPersistent="false"
    PrecisionRule="true"
    Precision="42"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="CHIPTYPE"
    Expression="CHIPTYPE"
    SQLType="VARCHAR">
    <DesignTime>
    <Attr Name="_DisplaySize" Value="42"/>
    </DesignTime>
    </ViewAttribute>
    </ViewObject>
    2. Child LOV
    <?xml version="1.0" encoding="windows-1252" ?>
    <!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
    <!---->
    <ViewObject
    xmlns="http://xmlns.oracle.com/bc4j"
    Name="QcMcnVViewRO"
    Version="11.1.1.56.60"
    BindingStyle="OracleName"
    CustomQuery="true"
    RowClass="com.qualcomm.qdt.fwk.model.QdtViewRowImpl"
    ComponentClass="com.qualcomm.qdt.fwk.model.QdtViewObjectImpl"
    DefClass="com.qualcomm.qdt.fwk.model.QdtViewDefImpl"
    PageIterMode="Full"
    UseGlueCode="false">
    <DesignTime>
    <Attr Name="_codeGenFlag2" Value="Access|VarAccess"/>
    <Attr Name="_isExpertMode" Value="true"/>
    </DesignTime>
    <Variable
    Name="chiptype"
    Kind="viewcriteria"
    Type="java.lang.String"/>
    <ViewAccessor
    Name="QcChiptypeVViewRO1"
    ViewObjectName="com.qualcomm.qdt.model.lov.QcChiptypeVViewRO"
    RowLevelBinds="true"/>
    <SQLQuery>
    <![CDATA[SELECT QcMcnV.MCN,
    QcMcnV.CHIPTYPE
    FROM QC_MCN_V QcMcnV]]>
    </SQLQuery>
    <ViewAttribute
    Name="Mcn"
    IsUpdateable="false"
    IsPersistent="false"
    PrecisionRule="true"
    Precision="20"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="MCN"
    Expression="MCN"
    SQLType="VARCHAR">
    <DesignTime>
    <Attr Name="_DisplaySize" Value="20"/>
    </DesignTime>
    <Dependencies>
    <Item
    Value="Chiptype"/>
    </Dependencies>
    </ViewAttribute>
    <ViewAttribute
    Name="Chiptype"
    IsUpdateable="false"
    IsPersistent="false"
    PrecisionRule="true"
    Precision="42"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="CHIPTYPE"
    Expression="CHIPTYPE"
    SQLType="VARCHAR">
    <DesignTime>
    <Attr Name="_DisplaySize" Value="42"/>
    </DesignTime>
    </ViewAttribute>
    <ViewCriteria
    Name="QcMcnVViewROCriteriaChiptype"
    ViewObjectName="com.qualcomm.qdt.model.lov.QcMcnVViewRO"
    Conjunction="AND">
    <Properties>
    <CustomProperties>
    <Property
    Name="displayOperators"
    Value="InAdvancedMode"/>
    <Property
    Name="autoExecute"
    Value="true"/>
    <Property
    Name="allowConjunctionOverride"
    Value="true"/>
    <Property
    Name="showInList"
    Value="true"/>
    <Property
    Name="mode"
    Value="Basic"/>
    </CustomProperties>
    </Properties>
    <ViewCriteriaRow
    Name="vcrow5"
    UpperColumns="1">
    <ViewCriteriaItem
    Name="QcMcnVViewROCriteria_vcrow5_Chiptype"
    ViewAttribute="Chiptype"
    Operator="="
    Conjunction="AND"
    Value=":chiptype"
    IsBindVarValue="true"
    Required="Optional"/>
    </ViewCriteriaRow>
    </ViewCriteria>
    </ViewObject>
    3. JSF page
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document id="d1">
    <af:messages id="m1"/>
    <af:form id="f1">
    <af:pageTemplate viewId="/oracle/ui/pattern/dynamicShell/dynamicTabShell.jspx"
    value="#{bindings.pageTemplateBinding}" id="pt1">
    <f:facet name="copyright">
    <af:outputText value="2010 Qualcomm Inc. All Rights Reserved."
    id="ot10"/>
    </f:facet>
    <f:facet name="about">
    <af:navigationPane id="np3" hint="buttons">
    <af:commandNavigationItem text="About" id="cni5"/>
    <af:commandNavigationItem text="Privacy" id="cni6"/>
    </af:navigationPane>
    </f:facet>
    <f:facet name="navigation">
    <af:panelAccordion id="pa1">
    <af:showDetailItem text=" Asset Details" id="sdi1">
    <af:panelGroupLayout layout="vertical" id="pgl1">
    <af:panelHeader text=" " id="ph1">
    <af:query id="qryId1"
    headerText="Search Criteria (Use % as wildcard)" disclosed="true"
    value="#{bindings.ImplicitViewCriteriaQuery.queryDescriptor}"
    model="#{bindings.ImplicitViewCriteriaQuery.queryModel}"
    queryListener="#{bindings.ImplicitViewCriteriaQuery.processQuery}"
    queryOperationListener="#{bindings.ImplicitViewCriteriaQuery.processQueryOperation}"
    saveQueryMode="hidden"/>
    </af:panelHeader>
    </af:panelGroupLayout>
    </af:showDetailItem>
    <af:showDetailItem text="More Info" id="sdi2"/>
    </af:panelAccordion>
    </f:facet>
    <f:facet name="globalLinks">
    <af:navigationPane id="np2" hint="buttons"
    inlineStyle="text-align:right;">
    <af:commandNavigationItem text="Help" id="cni4" action="noop"/>
    <af:commandNavigationItem text="Sign out"
    id="commandNavigationItem1"
    action="noop"/>
    </af:navigationPane>
    </f:facet>
    <f:facet name="status"/>
    <f:facet name="globalToolbar"/>
    <f:facet name="globalSearch"/>
    <f:facet name="globalTabs">
    <af:navigationPane id="np1">
    <af:commandNavigationItem text="Device Query/Update" id="cni1"
    selected="true" partialSubmit="false"/>
    <af:commandNavigationItem text="Asset Return" id="cni3"
    action="dummy" rendered="false"/>
    </af:navigationPane>
    </f:facet>
    <f:facet name="welcome">
    <af:panelSplitter id="ps1" orientation="vertical">
    <f:facet name="first">
    <af:panelCollection id="pc1" defaultToolbarItemDisplay="icon">
    <f:facet name="menus">
    <af:menu text="Options" id="m2" rendered="false">
    <af:commandMenuItem text="Printable Page" id="cmi2">
    <af:showPrintablePageBehavior/>
    </af:commandMenuItem>
    <af:commandMenuItem text="Download" id="commandMenuItem1">
    <af:exportCollectionActionListener exportedId="t2"
    type="excelHTML"
    title="Asset Details"/>
    </af:commandMenuItem>
    </af:menu>
    </f:facet>
    <f:facet name="toolbar">
    <af:toolbar id="t1">
    <af:commandToolbarButton id="ctb1"
    hoverIcon="/images/view_image.gif"
    text="Export to Excel">
    <af:exportCollectionActionListener exportedId="t2"
    type="excelHTML"
    title="Asset Details"/>
    </af:commandToolbarButton>
    </af:toolbar>
    </f:facet>
    <f:facet name="statusbar"/>
    <af:table value="#{bindings.QcDeviceTrackingVO1.collectionModel}"
    var="row"
    rows="#{bindings.QcDeviceTrackingVO1.rangeSize}"
    emptyText="#{bindings.QcDeviceTrackingVO1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.QcDeviceTrackingVO1.rangeSize}"
    rowBandingInterval="0"
    filterModel="#{bindings.ImplicitViewCriteriaQuery.queryDescriptor}"
    queryListener="#{bindings.ImplicitViewCriteriaQuery.processQuery}"
    filterVisible="true" varStatus="vs"
    selectedRowKeys="#{bindings.QcDeviceTrackingVO1.collectionModel.selectedRow}"
    selectionListener="#{bindings.QcDeviceTrackingVO1.collectionModel.makeCurrent}"
    rowSelection="single" id="t2"
    columnSelection="single"
    partialTriggers=":::ph1 :::qryId1">
    <af:column sortProperty="Serialnum" filterable="true"
    sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Serialnum.label}"
    id="c28" width="103">
    <af:outputText value="#{row.Serialnum}" id="ot17"/>
    </af:column>
    <af:column sortProperty="Assettag" filterable="true"
    sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Assettag.label}"
    id="c7" width="107">
    <af:outputText value="#{row.Assettag}" id="ot24"/>
    </af:column>
    <af:column sortProperty="Chiptype" filterable="true"
    sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Chiptype.label}"
    id="c18" width="26">
    <af:outputText value="#{row.Chiptype}" id="ot27"/>
    </af:column>
    <af:column sortProperty="Mcn" filterable="true"
    sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Mcn.label}"
    id="c11">
    <af:outputText value="#{row.Mcn}" id="ot13"/>
    </af:column>
    <af:column sortProperty="Mcnrev" filterable="true"
    sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Mcnrev.label}"
    id="c8">
    <af:outputText value="#{row.Mcnrev}" id="ot3"/>
    </af:column>
    <af:column sortProperty="Assignedto" filterable="true"
    sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Assignedto.label}"
    id="c15">
    <af:outputText value="#{row.Assignedto}" id="ot32"/>
    </af:column>
    <af:column sortProperty="Location" filterable="true"
    sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Location.label}"
    id="c24">
    <af:outputText value="#{row.Location}" id="ot19"/>
    </af:column>
    <af:column sortProperty="Locationfullname" filterable="true"
    sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Locationfullname.label}"
    id="c14">
    <af:outputText value="#{row.Locationfullname}" id="ot26"/>
    </af:column>
    <af:column sortProperty="Locationtype" filterable="true"
    sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Locationtype.label}"
    id="c13">
    <af:outputText value="#{row.Locationtype}" id="ot28"/>
    </af:column>
    <af:column sortProperty="Description" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Description.label}"
    id="c21">
    <af:outputText value="#{row.Description}" id="ot22"/>
    </af:column>
    <af:column sortProperty="Assignment" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Assignment.label}"
    id="c30">
    <af:outputText value="#{row.Assignment}" id="ot34">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.QcDeviceTrackingVO1.hints.Assignment.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="Createddate" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Createddate.label}"
    id="c1">
    <af:outputText value="#{row.Createddate}" id="ot15">
    <af:convertDateTime pattern="#{bindings.QcDeviceTrackingVO1.hints.Createddate.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="Lastid" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Lastid.label}"
    id="c33">
    <af:outputText value="#{row.Lastid}" id="ot9">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.QcDeviceTrackingVO1.hints.Lastid.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="Lportfolioitemid" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Lportfolioitemid.label}"
    id="c23">
    <af:outputText value="#{row.Lportfolioitemid}" id="ot23">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.QcDeviceTrackingVO1.hints.Lportfolioitemid.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="Lkeycontactid" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Lkeycontactid.label}"
    id="c4">
    <af:outputText value="#{row.Lkeycontactid}" id="ot11">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.QcDeviceTrackingVO1.hints.Lkeycontactid.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="Fullname" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Fullname.label}"
    id="c22">
    <af:outputText value="#{row.Fullname}" id="ot6"/>
    </af:column>
    <af:column sortProperty="Status" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Status.label}"
    id="c16">
    <af:outputText value="#{row.Status}" id="ot21"/>
    </af:column>
    <af:column sortProperty="Qcemployeenumber" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Qcemployeenumber.label}"
    id="c6">
    <af:outputText value="#{row.Qcemployeenumber}" id="ot33">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.QcDeviceTrackingVO1.hints.Qcemployeenumber.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="Field3" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Field3.label}"
    id="c12">
    <af:outputText value="#{row.Field3}" id="ot18"/>
    </af:column>
    <af:column sortProperty="Empdeptfullname" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Empdeptfullname.label}"
    id="c27">
    <af:outputText value="#{row.Empdeptfullname}" id="ot4"/>
    </af:column>
    <af:column sortProperty="Comments" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Comments.label}"
    id="c10">
    <af:outputText value="#{row.Comments}" id="ot16"/>
    </af:column>
    <af:column sortProperty="Builtby" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Builtby.label}"
    id="c19">
    <af:outputText value="#{row.Builtby}" id="ot20"/>
    </af:column>
    <af:column sortProperty="Mesbuild" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Mesbuild.label}"
    id="c31">
    <af:outputText value="#{row.Mesbuild}" id="ot2"/>
    </af:column>
    <af:column sortProperty="Esn" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Esn.label}"
    id="c26">
    <af:outputText value="#{row.Esn}" id="ot31"/>
    </af:column>
    <af:column sortProperty="Imei" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Imei.label}"
    id="c17">
    <af:outputText value="#{row.Imei}" id="ot29"/>
    </af:column>
    <af:column sortProperty="Macaddress" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Macaddress.label}"
    id="c32">
    <af:outputText value="#{row.Macaddress}" id="ot1"/>
    </af:column>
    <af:column sortProperty="Brf" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Brf.label}"
    id="c25">
    <af:outputText value="#{row.Brf}" id="ot8"/>
    </af:column>
    <af:column sortProperty="Brfrev" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Brfrev.label}"
    id="c3">
    <af:outputText value="#{row.Brfrev}" id="ot25"/>
    </af:column>
    <af:column sortProperty="Dacquisition" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Dacquisition.label}"
    id="c29">
    <af:outputText value="#{row.Dacquisition}" id="ot7">
    <af:convertDateTime pattern="#{bindings.QcDeviceTrackingVO1.hints.Dacquisition.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="Datqcmainttermdate" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Datqcmainttermdate.label}"
    id="c2">
    <af:outputText value="#{row.Datqcmainttermdate}"
    id="ot30">
    <af:convertDateTime pattern="#{bindings.QcDeviceTrackingVO1.hints.Datqcmainttermdate.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="Datqcissueddate" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Datqcissueddate.label}"
    id="c5">
    <af:outputText value="#{row.Datqcissueddate}" id="ot5">
    <af:convertDateTime pattern="#{bindings.QcDeviceTrackingVO1.hints.Datqcissueddate.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="Itlqciteclass" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.Itlqciteclass.label}"
    id="c20">
    <af:outputText value="#{row.Itlqciteclass}" id="ot14"/>
    </af:column>
    <af:column sortProperty="RowID" sortable="true"
    headerText="#{bindings.QcDeviceTrackingVO1.hints.RowID.label}"
    id="c9">
    <af:outputText value="#{row.RowID}" id="ot12"/>
    </af:column>
    </af:table>
    </af:panelCollection>
    </f:facet>
    <f:facet name="second">
    <af:panelTabbed id="pt2">
    <af:showDetailItem text="Update Attributes" id="sdi3"
    stretchChildren="first"/>
    </af:panelTabbed>
    </f:facet>
    </af:panelSplitter>
    </f:facet>
    <f:facet name="innerToolbar"/>
    <f:attribute name="brandingTitle" value="ITE Device Tracking System"/>
    <f:attribute name="navSplitterPosition" value="450"/>
    </af:pageTemplate>
    </af:form>
    </af:document>
    </f:view>
    </jsp:root>

  • Are cascading LOVs possible in af:query?

    Is it possible to have two or more cascading LOVs in an af:query area based on a view criteria?
    I'm having some trouble with dependant (child) LOVs: they filter correctly but return nothing to the field from which were launched.
    I can attach a code snippet if necessary
    Thanks
    JDeveloper 11.1.1.3.0 with ADF BC
    Anybody has ever tried it?
    Edited by: Marge on 02-sep-2010 23:17

    Is it possible to have two or more cascading LOVs in an af:query area based on a view criteria?Yes, it is possible
    There might be something wrong in the configuration, Can you upload the sample app so that it will be easy to figure out the issue.
    Sireesha

  • Cascading LOV in BEx Query OLAP Universe + BEx variable

    Hi gurus,
    we have an universe where a Cascading LOV has been defined based on a BO Hierarchy ( based on a BW hierarchy), the OLAP universe is based on a BEx query.
    Now, when the users create a WebI report selecting a value from the value list, the Cascading LOV appears and the user selects the value, descending by the nodes.
    We are analyzing the universe performance and we are testing to add some time BEx variables in the query ( in the current version no variables are used).
    Everything works properly but when we try to select a value from the Cascading LOV and try to select a lower level the webI returns a mdx error indicanting that the time variable is not informed. (WIS 10901: A database error ocurred; MDX query can not be executed: specify a value for the variable Z... )
    We thought that the mdx for the LOV get values from the MD table because in the infoobject definition, it has the Business Explorer Settings:
       Query Def. Filter Value Selection = Value in Master Data Table
       Query Execution Filter Val. Selectn  = Value in Master Data Table
    The Query Execution Filter Val. Selectn  can be defined at the infoprovider also (with the provider specific Properties of the infoobject) and also at the query, whe have not modify none of them.
    My first question is which settings has efect at OLAP Universes, the infoobject settings; the infocube settings or the query settings ?
    Are the Cascading LOV integrated with BEx Query OLAP Universe?
    Is it an application error?
    Many Thanks in advanced.
    Best Regards,
    Nuria

    Hi Ingo,
    many thanks for your quick answer.
    That was one of the possibilities we have analized but the problem is that the user has to inform the hierarchy level for all the reports, that kind of variables is translated in the universe as a prompt
    Now we have only one universe and some business analists users create reports themselves for the business area based on that universe.
    The users create WebI filters without prompts,just filtering the hierarchy node. If we add the BEx variable then the user sould inform the prompt for all the reports based on that universe.
    We want to avoid that prompt, we have several hierarchies in the query for different infoobjects.
    Thanks again.
    Best Regards,
    Nuria

  • How to use a cascading LOV as a Web Services Consumer?

    How to use a cascading LOV as a Web Services Consumer?
    We are trying to populate a prompt programmatically.
    Our program is a Web Services Consumer.
    As an example we use Island Resorts Marketing
    The cascading LOV for City is
    Country -> Region -> City
    The City object is key-aware to the customer table
    The query is
    Customer | Revenue
    (where) City = [prompt]
    In order to make the key-awareness work, we must select the value (rowIndex) from the LOV
    When we run our program below, the LOV for City is not populated, as expected since we must first select the Country, then the Region.
    The code snippet below shows that the LOV for Country is populated. We have no idea how to go from there.
    Any hint will be immensely appreciated.
    Let us know if anything is unclear in the code.
    Source       
    RetrieveMustFillInfo retrieveMustFillInfo = RetrieveMustFillInfo.Factory.newInstance();
            RetrievePromptsInfo retrievePromptInfo = RetrievePromptsInfo.Factory.newInstance();
            retrievePromptInfo.setPromptLOVRetrievalMode(PromptLOVRetrievalMode.ALL);
            retrievePromptInfo.setRefreshReturnedLOVs(true);
            retrievePromptInfo.setReturnLOVOnMustFillPrompts(true);
            retrieveMustFillInfo.setRetrievePromptsInfo(retrievePromptInfo);
            // *-- need the "Refresh" action to get the .promptToBeFilled
            Action[] boActions = new Action[1];
            boActions[0] = Refresh.Factory.newInstance();
            try {
                documentInformation = reportEngine.getDocumentInformation(Integer.toString(infoObject.getID()), retrieveMustFillInfo, boActions, null, null);
                m_Token = documentInformation.getDocumentReference();
            } catch (Exception ex) {
                System.out.println(GetWSError(ex));
                return;
            if (documentInformation.getMustFillPrompts()) {
                PromptInfo[] promptInfoS = documentInformation.getPromptInfoArray();
                for (PromptInfo promptInfo : promptInfoS) {
                    System.out.println(String.format("Prompt '%1$s', hasLOV=%2$s", promptInfo.getName(), (promptInfo.getHasLOV() ? "Yes" : "No")));
                    if (promptInfo.getHasLOV()) {
                        LOV boLOV = promptInfo.getLOV();
                        for (Value boLOVValue : boLOV.getValuesArray()) {
                            System.out.println(String.format(" LOV item '%1$s' RowIndex=%2$s", boLOVValue.getColumnsArray(0), (boLOV.getRowIndexed() ? boLOVValue.getRowIndex() : "")));
                    System.out.println("--End LOV");
                    PromptInfo[] promptInfoS2 = promptInfo.getPromptToBeFilledArray();
                    if (promptInfoS2.length > 0) {
                        PromptInfo promptInfo2 = promptInfoS2[0];
                        System.out.println(String.format(" linked to %1$s", promptInfo2.getName()));
                        if (promptInfo2.getHasLOV()) {
                            LOV boLOV2 = promptInfo2.getLOV();
                            for (Value boLOVValue : boLOV2.getValuesArray()) {
                                System.out.println(String.format(" LOV item '%1$s' RowIndex=%2$s", boLOVValue.getColumnsArray(0), (boLOV2.getRowIndexed() ? boLOVValue.getRowIndex() : "")));
                            System.out.println("--End LOV");
    Result
    Prompt 'Enter value(s) for City:', hasLOV=Yes
    --End LOV
    linked to Enter value for Country of origin
    LOV item 'Australia' RowIndex=6
    LOV item 'France' RowIndex=2
    LOV item 'Germany' RowIndex=4
    LOV item 'Holland' RowIndex=7
    LOV item 'Japan' RowIndex=5
    LOV item 'UK' RowIndex=3
    LOV item 'US' RowIndex=1
    --End LOV

    Hi,
    Refer SAP Note 1278947. You would require a Service Market Place logon to access this article.
    Let me know if this helps.
    Regards,
    Shreyans Surana

  • Cascading lovs in Jdeveloper  R2

    on Jdev R2.
    I was doing several different Test with Jdev R2 regarding to cascading Lov and lovs components.
    here are results.
    lets split them in two flavors.
    I. Forms.
    a) cascading lovs works fine only if you use : input text item with lovs. (this one works fine even if you do not set autosubmit on the master and partial trigger on dependent lovs, .......cool)
    b) if you choose selectOneChoise, "what is really nice for short list" it does not work. not even if you set autosubmit and partial trigger.
    II. af:table
    a) on editing mode: editAll
    * using input text with lov works (you do not need to set autosubmit/partial triggers) but every time when you select a value from a list, an ugly error araise saying : field1 is required. field2 is required...to all require attributes (you can work after click)
    * using selectOneChoise did not work. after you select the first lov the next lov is surrounded by red square and never get refreshed.
    b) on editing mode: clickToEdit :
    this is really cool and fast, but cascading lovs does not work at all. not even input text with lovs
    has anybody any feedback/workaround/idea on this one, or should we wait until these bug get fixed, hopefully in the new release.
    also I was wondering what is the best approuch to execute some java code on load/unload.?
    thank you for any help.
    Luis

    to call java on load use af:clientlistener along with af:serverlistener.. use the type as load
    http://blogs.oracle.com/jdevotnharvest/entry/how-to_call_server_side_java_from_javascript
    or use the beforephase and afterphase property of f:view, refer navaneeth code here
    popup on page load using managed bean, using jdev-11.4
    use af:document's onunload property for unloading event and java calls

  • Apex 4.2.1 - mobile theme display bugs and Cascading LOV bug

    I've setup a test at http://apex.oracle.com/pls/apex/f?p=35331 - username/password is test/test
    Simple page to show some issues I'm running into. Wondering if work-arounds exist or if a patch would be available before we'd go live.
    First and second issue are the same I believe. So - a normal text box (label1) looks fine. But, Label2 is a Display only item and Label3 is a read-only select list item. As you can see - both of the values appear smack dab right beside the label and not in line with the other fields. It's totally ugly and not usable as is. I've tried to move this over, but the label goes with it. I can see no way of doing it, but wondering if there's some hack I can put in to solve it...
    The last issues is with a cascading LOV. Simple table setup. Static on the first, the second a simple query that filters on the first. If you set the select list to Value Required and not to display null values - then when you click on the Second List button - it just hangs. The page is unusable. I suspect this has to do with the null or something. But - doesn't appear to matter if anything is chosen. Note - if the list is large - which I think then uses a different UI control, this is fine. Only when one of the lists is small does the issue reproduce.
    Any workarounds or fixes? Any ideas?
    Thanks

    Hi,
    I would suggest to not mix different questions and a thread for each of them. Makes it easier for others to follow.
    About your problem with the cascading LOVs, it appears that this is/was a bug in jQuery Mobile which we use under the hood. I was able to reproduce the problem with APEX 4.2.1 using jQM 1.2.0, but was not able to reproduce it with APEX 5.0 which will use jQM 1.3.0RC1 or higher. The problem occurs if a select list is empty.
    There are different workarounds available:
    1) set the attribute "HTML Form Element Attributes" of P1_CLOV_2 to data-native-menu="false"or
    2) set the attribute "Display Null Value" of P1_CLOV_2 to Yes and "Null Display Value" to - select - (or something similar). The "Value Required" = Yes will still guarantee that a value has to be picked. Having the extra null entry will guarantee that the select list always contains an entry, that seems to workaround the bug in jQuery Mobile.
    I have filed bug 16355963 - jquery mobile: empty select list causes javascript error
    to track that this is definitely fixed in APEX 5.0.
    Regards
    Patrick
    My Blog: http://www.inside-oracle-apex.com
    APEX Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf

  • Cascading LOV in af:table will not refresh correctly

    Jdeveloper version 11.1.1.5.0
    I have spent quite a bit of time trying to understand why 2-level cascading LOV won't work in a particular situaion. I still haven't been able to fix it and so I turn to the ADF gurus on this forum.
    Here's the scenario:
    1. I have a ViewObject called AdjustDeltaValuesView. This VO contains attributes from its entity. It also has transient attributes called CategoryId and CodeId.
    2. There is LOV defined for CategoryId for VO CodeCategoryMasterView
    3. There is LOV defined for CodeId for LimitedCodeMasterView.
    3. View Criteria is created for LimitedCodeMasterView which sets a bind variable value from CodeCategoryMasterView.CodeCategoryId.
    4. I have wired all the LOVs correctly and it is working properly in ADF BC tester.
    5. In the UI, I have dropped AdjustDeltaValuesView data control as ADF Table where CategoryId and CodeId are displaying as af:selectOneChoice.
    6. CategoryId has autoSubmit=true and CodeId has partialTrigger set to component ID of CategoryId.
    7. The LOV inside editable af:table is working fine except one scenario that when user selects same categoryId from the category LOV in the second row, the CodeId LOV will not populate.
    Here's the code snippet of jspx:
            <af:table value="#{bindings.AdjustDeltaValuesView1.collectionModel}"
                      var="row" rows="#{bindings.AdjustDeltaValuesView1.rangeSize}"
                      emptyText="#{bindings.AdjustDeltaValuesView1.viewable ? 'No data to display.' : 'Access Denied.'}"
                      fetchSize="#{bindings.AdjustDeltaValuesView1.rangeSize}"
                      rowBandingInterval="0"
                      selectedRowKeys="#{bindings.AdjustDeltaValuesView1.collectionModel.selectedRow}"
                      selectionListener="#{bindings.AdjustDeltaValuesView1.collectionModel.makeCurrent}"
                      rowSelection="single" id="t1" editingMode="editAll"
                      rendered="false">
              <af:column sortProperty="CategoryId" sortable="false"
                         headerText="#{bindings.AdjustDeltaValuesView11.hints.CategoryId.label}"
                         id="c25">
                <af:selectOneChoice value="#{row.bindings.CategoryId.inputValue}"
                                    label="#{row.bindings.CategoryId.label}"
                                    required="#{bindings.AdjustDeltaValuesView11.hints.CategoryId.mandatory}"
                                    shortDesc="#{bindings.AdjustDeltaValuesView11.hints.CategoryId.tooltip}"
                                    id="soc3" autoSubmit="true">
                  <f:selectItems value="#{row.bindings.CategoryId.items}" id="si3"/>
                </af:selectOneChoice>
              </af:column>
              <af:column sortProperty="CodeId" sortable="false"
                         headerText="#{bindings.AdjustDeltaValuesView11.hints.CodeId.label}"
                         id="c27">
                <af:selectOneChoice value="#{row.bindings.CodeId.inputValue}"
                                    label="#{row.bindings.CodeId.label}"
                                    required="#{bindings.AdjustDeltaValuesView11.hints.CodeId.mandatory}"
                                    shortDesc="#{bindings.AdjustDeltaValuesView11.hints.CodeId.tooltip}"
                                    id="soc4" partialTriggers="soc3">
                  <f:selectItems value="#{row.bindings.CodeId.items}" id="si4"/>
                </af:selectOneChoice>
              </af:column>For example, where it DOES NOT Work
    1. User selects Category A from dropdown from the first row.
    2. code Id dropdown populates with corresponding values in the list based on CategoryId user selected.
    3. user selects Code X from the dropdown.
    4. User selects Category A from the dropdown from the second row.
    5. PROBLEM: In the second row, Code Id dropdown does not populate. Code dropdown is empty.
    Where it works:
    1. User selects Category A from dropdown from the first row.
    2. code Id dropdown populates with corresponding values in the list based on CategoryId user selected.
    3. User selects Category A from the dropdown from the second row.
    4. In the second row, Code Id dropdown populates correctly.
    Where it works:
    1. User selects Category A from dropdown from the first row.
    2. code Id dropdown populates with corresponding values in the list based on CategoryId user selected.
    3. user selects Code X from the dropdown.
    4. User selects Category B from the dropdown from the second row.
    5. In the second row, Code Id dropdown populates correctly.
    Has anyone come across this scenario? It's a very weird problem.
    I hope I have explained this well. If it's not clear please let me know.
    Edited by: Shah23 on Jan 14, 2013 6:42 PM
    Edited by: Shah23 on Jan 15, 2013 9:09 AM

    Hi,
    Always mention your JDev version.
    Try modifying your VOs as explained in this blog and see if it works fine : https://blogs.oracle.com/aramamoo/entry/how_to_create_multi_level
    -Arun

  • OnChanger="get_ajax_select_xml(this);" with  select list (query named LOV)

    Hello,
    i used Vikas'example Re: cascading lov for tabular form
    i have a problem with Select list (query based LOV)
    when run tabular form i have the following error:
    report error:
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    the number of rows of the Lov are 900
    the display variable is 70 char
    is there any limit?
    Thank in advance
    Costanti

    Leo,
    Thanks for the response, but I don't think you quite understand my problem. If I go to the Column Attributes screen for the group_id field, I have the "Display As" drop down set to "Select List (query based LOV)", not "Select List (named LOV)". This requires that the sql query be written in the "List of values definition" text area below. Within that text area I have the following query:
    SELECT DISPLAY_NAME, GROUP_ID
    FROM APPLICATION_GROUPS
    WHERE APP_ID = ?????
    ORDER BY 1
    The APP_ID that I need to reference is for the current row of data that is being processed. Therefore, I can't use a :PNNN_APP_ID variable, because that field does not exist on the page.
    Hopefully this explains it a little better.
    Thanks,
    Kris

  • Tabular form (select list Query based LOV)

    Hi all,
    I have this situation:
    a tabular form with two "select list (query based LOV)" fields.
    The first one must affect elements in the second one. And so the second query based LOV field should has a "where attr1 = first_list_selected_value" in the query.
    Is this possible ? Could you show me some advices ?
    thanks in advance.

    OK, thank you.
    But maybe I wasn't too clear.
    I need cascading LOV for each row of my tabular form.
    I have a EMP tabular form
    select
    "ROWID",
    "EMPNO",
    "ENAME",
    "JOB",
    "MGR",
    "HIREDATE",
    "SAL",
    "COMM",
    "DEPTNO"
    from "#OWNER#"."EMP" I need a Select List for DEPTNO for each record of table. After set a value, the second "Select List" for ENAME should be affected automatically.

  • APEX 4: Cascading LOV generic?

    Is it possible to have a "generic" cascading LOV?
    I prefer to have my LOV as shared components (reuse and such) but with a cascading LOV the detail list refers to the Parent item within the query. This makes for a not very reusable LOV in my opinion.
    Is it possible to use a more generic bind?
    select description d, id r
    from   table
    where parent = :B --<--- Not refering to any particular Page Item
    order by 1... and specify the actual item which is to be used in the detail query? (Page Items to Submit)

    Hi Learco,
    I doubt that this will work, because the "Cascading LOV Parent Item" has to be a page item which is actually rendered into the HTML page. The reason is that for those page items we register a "change" event to trigger the refresh of the childs. If it's an application item it would not exist on the page.
    I would also question if dealing with additional application items and additional dynamic actions would make the code better maintainable. If the LOV query is really that complicated that it would be beneficial to re-use it, I would suggest to define a database view for it and then again use a very simple LOV statement to access it. I think that would make it much more transparent and maintainable then trying some generic bind variables and placeholders.
    Just my 2 cents
    Patrick
    PS: yes, nice colors ;-)
    My Blog: http://www.inside-oracle-apex.com
    APEX 4.0 Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf

  • Cascading LOVs (APEX 4.1) problem, using in report does not set values

    Hi,
    i am using APEX 4.1.0.00.32 and i have a simple report as
    SQL:*
    SELECT * from region
    WHERE region like '%'||P3_REGION||'%'
    and country like '%'||P3_COUNTRY||'%'
    and city like '%'||P3_CITY||'%'
    Items:*
    P3_REGION:
    select distinct region as d, region as r from region
    Display Null value: YES
    Null display value: - select -
    Null return value: +0+
    P3_COUNTRY:
    select distinct country as d, country as r from region where region = :P3_REGION
    Display Null value: YES
    Null display value: - select -
    Null return value: +0+
    Cascading LOV Parent Item(s): P3_REGION
    P3_CITY:
    +select distinct city as d, city as r from region where country = :P3_COUNTRY
    Display Null value: YES
    Null display value: - select -
    Null return value: +0+
    Cascading LOV Parent Item(s): P3_COUNTRY
    The LOVs work fine and the correct values are displayed if cascading through them
    So in the last step i want to filter the report with the values that were selected in the lovs. And this i get not working.
    I tried to add a button with SUBMIT of the page. After choosing values in all LOVs and clicking the SUBMIT button the page submits, alle LOVs are cleared (with value - select -) and the report shows all rows.
    I tried to change the button to "redirect to Page 3" and setting the values P3_REGION, P3_COUNTRY, P3_CITY to &P3_REGION., &P3_COUNTRY., &P3_CITY. but without success.
    I tried to use the setting "Page Action when Value Changed" to "Submit" and/or "Redirect and set value" for all Item LOVs and/or only the last item LOV, but then the cascade of the LOVs does not work properly and the report does not change too.
    I am confused as i don´t know what i can do until now. I think this should be an easy requirement to limit/filter the report with values in the LOVs.
    Furthermore it should be possible to choose only the region LOV and then limit the report with that region (without choosing country and city)
    Thanks in advance!

    Hi Dan,
    thank you for your answer. I have the solution now from Kleber_M, this works.
    Dan McGhan wrote:
    1. Use bind variables in my query. It would look something like:
    SELECT *
    FROM region
    WHERE region LIKE '%'|| :P3_REGION ||'%'
    AND country LIKE '%'|| :P3_COUNTRY ||'%'
    AND city LIKE '%'|| :P3_CITY ||'%'
    This was only a mistake when writing the post, i forgot the colon. I use bind variables of course.
    2. Make sure you have a comma separated list of item names that the report depends on beneath the SQL Query where it says Page Items to Submit. This will make sure that the value of those items on the page are bound into session state prior to the query executing.I tried this, too, but without success...
    3. Use Dynamic Actions to perform the refresh action when any of the three items changes. This would be both more performant and a better experience for the end user than a full page refresh.How can i do this. This sounds good, because when refreshing the page often some items oder actions are done that i don´t want to.
    Regards,
    Matze

  • Cascading LOV behavior

    Hi,
    I have created a Cascading LOV for Employee-> Dept No and unchecked Hierarchical View in u201CCreate Cascading List of Valuesu201D option.
    Then I created a Webi report and applied u201CDept Nou201D as Prompt with LOV option enabled.
    When I refresh the report it is displaying two prompts, one for Dept No and other for Employee.
    I selected the value for Dept No. Then accordingly Employee prompt is also filtered based on Dept No, and I selected one employee number.
    When I view the report after specifying prompt values, it is showing all the employees under that Dept, but I would like to see only for the Dept No and Employee selected in the prompt window.
    When I check the Report Query, I find a where condition only on Dept No, and not on Employee.
    Is this the kind of behavior one would expect in BOXI 3.1. Please let me know.
    Thank you.

    Hi Mohamed,
    The Employee parameter should appear only once. You might have done some thing additional.
    Had you tried to create any cascading LoVs? If yes then delete it. The definition of the objects should be as given below.
    Please check the definitions of the objects as:
    Employee: tobe dragged in the query
    Select: Table Emp.Name
    Lov Employee
    Select: Table Emp.Name
    Where: @Select(Table Dept.\Name) In @prompt('Select Employee','A','Table Dept.\Name,multi,constrained)
    Dept
    Select: Table Dept.Name
    Prompt (Predefined Condition): to be dragged in the query
    @Select(Emp\Name) InList @prompt('Select Employee','A','LoVs\Lov Employee',multi,constrained)
    Regards,
    Rohit
    Edited by: rohit12 on Mar 9, 2010 5:54 AM

Maybe you are looking for