OAF LOV changes

We have two LOVs in form. LOV2 should return values based on value selected on LOV1.  Is this accomplish through OAF personalization?
Regards

You can do this in your controller.
Extend the controller and create an new LOV field
After creating the LOV Field, set the VO Attributes, labels and other required values.
Once done add the criteria     
<lovBeanName>.addLovRelations(pageContext, "<Result field Id>", // base page item
                                     "<Lov Item Id>", // lov item
                                     LOV_RESULT, // direction
                                     LOV_REQUIRED_NO);
<lovBeanName>.addLovRelations(pageContext, "<Field Id on which you want to have dependency>", // base page item
                                     "<Lov Item Id>", // lov item
                                     LOV_CRITERIA, // direction
                                     LOV_REQUIRED_YES);
Thanks,
Arvind

Similar Messages

  • Capture LOV Change Event

    Hi,
    I need to capture lov change ( where user changes default value ) event and display it as an warning message ( ' Default value has been changed' ) on next screen. Can someone please help me on this.
    Thanks
    Amar

    Amar,
    if (pageContext.isLovEvent())
       if("Lov1".equals(pageContext.getParameter(SOURCE_PARAM)) && "lovValidate".equals(pageContext.getParameter(EVENT_PARAM))
                                                                                              && "lovUpdate".equals(pageContext.getParameter(EVENT_PARAM)))
         //write your logic here
    The pageContext.isLovEvent method returns true if the event value is
    1) LOV_UPDATE-meaning the user selected a value from the LOV modal window.
    2)LOV_VALIDATE-meaning the user tabbed out of the LOV input field on the base page.Regards,
    Gyan
    Regards,
    Gyan

  • How to refresh MessageChoice in advanced table on LOV change?

    I have an advanced table for data entry. One column has Employee Name, which is an LOV. Another column is a MessageChoice, listing eligible elements for that person. Everything works fine when the page is first loaded. This is the code I'm using in processRequest to set up the MessageChoice: The MessageChoice is set up using a PicklistViewDefinition (not instance) as each row has to have different selections.
    OAAdvancedTableBean table = (OAAdvancedTableBean)webBean.findChildRecursive("TimeEntryTbl");
    OAMessageChoiceBean elePoplist = (OAMessageChoiceBean)table.findChildRecursive("ElementSelect");
    elePoplist.setListVOBoundContainerColumn(0, table, "EmployeeGroupName");
    elePoplist.setListVOBoundContainerColumn(1, table, "PeriodEndDate");
    elePoplist.setListVOBoundContainerColumn(2, table, "AssignmentId");
    elePoplist.setPickListCacheEnabled(false);
    The problem is when a new row is added, initially the poplist will be empty, which is expected. After choosing a value from the Employee LOV, the AssignmentId (which is a FormValue) will be populated. At this point, I need the Poplist to refresh to get the correct list of elements. I'm not sure how to make the poplist refresh. In ProcessFormRequest, I have:
    if (pageContext.isLovEvent())
    String lovInputSourceId = pageContext.getLovInputSourceId();
    System.out.print("lovsource=" + lovInputSourceId);
    And it prints the correct lov source. The dev guide says you can invoke an AM method there... but what should the AM do? I'm not sure how to refresh a poplist for a specific row when it is defined in an advanced table with Bound container columns, using a picklist view definition.

    I looked through that thread, but nothing in there seemed to really directly address my problem. The solutions in there seemed to be to make view instances instead of using the bound container columns.
    But, to answer my own question, I think I found the solution, which so far seems to be working ok...
    if (pageContext.isLovEvent())
    String lovInputSourceId = pageContext.getLovInputSourceId();
    if ("PersonSelect".equals(lovInputSourceId))
    pageContext.setForwardURLToCurrentPage(null, // no parameters to pass
    true, // retain the AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_NO,
    OAWebBeanConstants.IGNORE_MESSAGES);
    Which basically just refreshes the page so all the MessageChoice fields are re-populated based on the latest information in the row. No need to automatically re-execute any VOs and let's OAF do it's own thing to maintain them.

  • Oaf :lov  query problem

    Hi friends
    In my search PG i hav 3 field in that one of the field i hav set it as lOV field
    In the LOV field i click the icon one pop up screen open (ie) search and select screen .... from that list of field i hav selected one field .... it return back to my searchPG the selected item is in lov field of my searchPG ...when i click "query "button the whole whole table is seen in the result table instread of that selected item
    i want oly the selected item to b displayed in the result table ... i dont want the the whole table to b displayed in the result table....
    what i hav to do please help me
    thanks
    Thiliban

    hi friend
    How to bind the VO query .... //for that QueryLovVO i hav not written any coding
    Capture the button in pfr // i hav capture the button press in the PRF
    and bind the vo query with the lov field value //how ?
    I hav changed Phoneno field as LOV field
    These r my coding in the PFR of the main search PG
    ===================================
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    String actionInMainPersonScreen = pageContext.getParameter(EVENT_PARAM);
    String personId= pageContext.getParameter("PersonId");
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    if (pageContext.getParameter("Query") != null)
    System.out.println("Submit button pressed");
    OAQueryUtils.checkSelectiveSearchCriteria(pageContext, webBean);
    String firstName = pageContext.getParameter("FirstName");
    String phoneNO = pageContext.getParameter("PhoneNO");
    Serializable[] parameters = { personId, firstName, phoneNO};
    System.out.println("AM Method is called");
    am.invokeMethod("initQuery", parameters);
    =====================================================
    In my AM
    public void initQuery(String personId,String firstName,String phoneNo)
    System.out.println("In Am initQuery");
    MyQueryVOImpl vo = (MyQueryVOImpl)getMyQueryVO1();
    System.out.println("MyQueryVO initQuery method called");
    vo.initQuery(personId, firstName, phoneNo);
    ====================================================
    Here i hav two VO .... these is my query VO
    public class MyQueryVOImpl extends OAViewObjectImpl
    * This is the default constructor (do not remove)
    public MyQueryVOImpl()
    public void initQuery(String personId,String firstName,String phoneNo)
    StringBuffer whereClause = new StringBuffer(100);
    Vector parameters = new Vector(3);
    int clauseCount=0;
    int bindCount=0;
    setWhereClauseParams(null);
    setWhereClause(null);
    if ((personId != null)&&(!("".equals(personId.trim()))))
    whereClause.append(" PERSON_ID like :");
    whereClause.append(++bindCount);
    parameters.addElement(personId );
    clauseCount++;
    if ((firstName != null)&&(!("".equals(firstName.trim()))))
    if (clauseCount > 0)
    whereClause.append(" AND ");
    whereClause.append(" FIRST_NAME LIKE :");
    whereClause.append(++bindCount);
    parameters.addElement(firstName );
    clauseCount++;
    if ((phoneNo != null)&&(!("".equals(phoneNo.trim()))))
    if (clauseCount > 0)
    whereClause.append(" AND ");
    whereClause.append(" PHONE_NO like :");
    whereClause.append(++bindCount);
    parameters.addElement(phoneNo );
    clauseCount++;
    setWhereClause(whereClause.toString());
    if (bindCount > 0)
    Object[] params = new Object[bindCount];
    parameters.copyInto(params);
    setWhereClauseParams(params);
    executeQuery();
    ===========================================
    i hav created queryLovVO in LOV.Server package and i hav written no coding in that LovVO
    public class QueryLovVOImpl extends OAViewObjectImpl
    * This is the default constructor (do not remove)
    public QueryLovVOImpl()
    ======================================
    please help and guide me
    thanks
    thiliban

  • Replacement of OAF LOV with Java\JSP screens?

    Hi All,
    Am facing performance issue in one of my LOV. Query has been tuned at its best but still behaving worse.
    Got an idea of embed\invoke the jsp\java screens which can query the data faster. If anyone had already tried this, please let me know your experience. Or If you foresee any impact due to this design,please throw your opinion on this. Thanks.
    Regards, Soorya

    I would suggest to tune at the OAF side if query is already tuned.
    There are many parameters on VO wizard that can be used to tune the performance of LOV VO.
    Advanced View Object Techniques:
    •Section 35.2, "Tuning Your View Objects for Best Performance"
    http://docs.oracle.com/cd/E15051_01/web.1111/b31974/bcadvvo.htm

  • How to filter Table based of LOV change

    Hi Team,
    I have one LOV as Location LOV as Input and below the LOV i have one table as Employee table. Employee table have one column as Location_ID
    Now I want to filter my table on change of LOV values.
    Please suggest me something
    Jdev :- 11.1.1.4
    Thanks,
    Ramit

    Hi,
    I think your case is a master detail relationship.
    Then you can create a view link between the two View objects and then shuttle the view link to the Aplication module
    Then drag and drop the first VO from the datacontrol in to the page as a select one choice, then drag and drop the table .
    then put an auto submit on the select one choice and put a partial trigger on the table
    you will get the filtered table when you chage the choice list data.
    Ranjith

  • OAF LOV Updating Issues

    Hi ,
    I am updating po number in my table then I am attaching the PO number as a LOV in My Jdeveloper Page and Compilled, its working fine(Updating the LOV) in J Developer.I am moving the same page in to the server and going to see the application,it is not refreshed.But I will go to after an half on hour it is refreshed.
    Any body can facing this kind of issue, help me how to solve this one? It will be grateful help for me.Awaiting for your earlier response.
    Thanks,
    Prakash

    No!!! see Prakash ...
    If you have made changes to the page on client and then you have FTP the page again onto server
    then you need to bounce apache and also need to import the page again using xml importer command in application server.
    if apache bounce does not reflect try bouncing the instance with the command provided by me...
    Thanks,
    Gaurav

  • LOV change background colour

    Hi,
    i have a dynamic LOV with three values. Now i want in dependency of the displayed value change the background color of the LOV values. Can i do this in the SELECT statement of the LOV?
    Regards,
    Martin

    Martin1 wrote:
    Hi,
    thanks for your reply.
    I did the following test at APEX 4.0.2 but it doesn't work.
    HTML Header:
    <style>
    #P120_MODUL_TYP.opt-val1,
    #P120_MODUL_TYP option[value="Forms"] {
    background-color: #cc0000;
    #P120_MODUL_TYP.opt-val2,
    #P120_MODUL_TYP option[value="Reports"] {
    background-color: #ffcc00;
    </style>Execute when Page Loads:
    $('#P120_MODUL_TYP').change(function() {
    $(this)
    .removeClass('opt-val1 opt-val2')
    .addClass('opt-' + $(this).find('option:selected').val());
    }).change();What i'm doing wrong?The class names must match the actual LOV values (i.e. values in the second column in the LOV query):
    HTML Header:
    <style>
    #P120_MODUL_TYP.opt-Forms,
    #P120_MODUL_TYP option[value="Forms"] {
      background-color: #cc0000;
    #P120_MODUL_TYP.opt-Reports,
    #P120_MODUL_TYP option[value="Reports"] {
      background-color: #ffcc00;
    </style>Execute when Page Loads:
    $('#P120_MODUL_TYP').change(function() {
      $(this)
        .removeClass('opt-Forms opt-Reports')
        .addClass('opt-' + $(this).find('option:selected').val());
    }).change();I used the "opt-" prefix to get valid class names if the values were numeric. You can leave it out if the LOV values are valid HTML identifiers that don't need to be escaped in the selectors.

  • OAF: LOV and Dependant poplist(based on LOV input)???

    Hi all,
    i have one LOv and depending on this i need to develop one dependent picklist.
    the poplist should display the values depends on LOV.
    Example: LOv is displaying "ename" and picklist should display "deptno" of employee based on the "eno"(corresponding to the ename selected in LOV).
    Note: LOV and poplist have different VO queries.
    Plz help me to get out of this...
    Any answers will be really useful.
    Thank you.,,

    Kumar ,
    Lov by itself is an fire action , you don't have to set fireaction manually , try to get the bean as below and try it out .
    OAMessageLovInputBean TicketEligibleLOV=(OAMessageLovInputBean)oawebbean.findIndexedChildRecursive("OfferDetailsFlex18");
    if(TicketEligibleLOV!= null)
    make sure bean is not null
    Please refer this
    How to set the fire Action For LOV
    Regards ,
    Keerthi

  • OTL timecard LOV changing search option

    Hi,
    Can anyone help in changing search option by value rather than display_value??
    Please let me know the steps..
    thanks
    mallik

    Hi,
    BrianK197719781979 wrote:
    OK Im making tiny steps forward now...
    SELECT *
    FROM hxc_lookups
    WHERE meaning in ('Total Hours','Timecard Period End Date','Timecard Period Start Date','PO Number','Project',
    'Timecard Status','Timecard Submission Date','Task','Timecard Comment')
    AND lookup_type in ('HXC_TIMECARD_SEARCH_ITEMS_WRK','HXC_APPR_TIMECARD_SEARCH_ITEMS')---Query the both the lookup_type and update 'Total Hours' to as u required 'Total Days'.
    ---May be here u req to do vo extesnion also to change the query to:
    SELECT * FROM hxc_lookups
    WHERE meaning in ('Total Days','Timecard Period End Date','Timecard Period Start Date','PO Number','Project',
    'Timecard Status','Timecard Submission Date','Task','Timecard Comment')
    AND lookup_type in ('HXC_TIMECARD_SEARCH_ITEMS_WRK','HXC_APPR_TIMECARD_SEARCH_ITEMS')
    Change:
    WHERE meaning in ('Total Hours' ) to WHERE meaning in ('Total Days')
    Regards
    Meher Irk

  • OAF: Lov- storing n displaying different attribute

    Hi Everyone,
    I have created one Item 'Employee' with Item Style:messageLovInput and under that one region with Region Style:listOfValues under this created 3 items.(eno, ename, phone)(this is from one VO).
    like this i have different items for employee creation page. And also one button Save.
    when user clicks on Save button then the data in the page should be saved in other table(employeedataTable).
    My requirement is: when user run the page and see the output page the ename should be displayed in the lov (Employee) but when user clicks on the save button then eno should be saved in the table employeedataTable.
    Plz help me to get out of this.
    Any suggestions will be really useful.
    Thanks.

    Hi,
    Take a form value item and get the eno corresponding to Employee by lov mapping.
    After clicking save button get form value and set that value in the table.
    Regards,
    Shrawan

  • OAF : LOV mappings do not execute for specified default value in the LOV

    Dear All,
    I know the topic of default value in an LOV has been discussed a million times.
    Please bear with me -
    I set the "Initial Value" property for an LOV to populate a default value in the LOV field when the page loads. This works fine
    My LOV has about 4 lov mappings that populate 4 "formValue" items on my page.
    However, for the default value, these mappings are not executed and the formValue items remain empty. (Though the default value shows up fine on the screen)
    Do I have to explicitly default these formValue items as well ? Is there anyway to get the mappings to execute ?
    Thanks,
    Gagan

    Anyone ?

  • LOV value change event is getting triggered automatically

    Hi,
    I'm using ADF Faces with EJB. I have a page with a LOV defined as:
    <af:selectInputText binding="#{backing_contactUpdate.investorLOV}"
              id="investorLOV" columns="30"
              searchDesc="Search and Select Investor"
              value="#{updateContact.reference_id_meaning}"
              action="dialog:chooseInvestor"
              windowHeight="600" windowWidth="650"
              returnListener="#{backing_contactUpdate.investorLovReturn_action}"
              valueChangeListener="#{backing_contactUpdate.investorLovChange_action}"
              autoSubmit="true"/>
    When this page is run the first time and no value exists in the managed bean property bound to LOV field (updateContact.reference_id_meaning) then it all works fine. But if the managed bean property has any value then clicking any button which submits data triggers the LOV change event (backing_contactUpdate.investorLovChange_action). Once a new value is selected in the LOV then the event doesn't get triggered. How can I make the state of LOV field as validated, so that the change event doesn't get fired?

    Additional Information:
    The backing bean and managed bean both are at request scope.
    Another problem I'm facing is that the value change event is not fired when the value in the LOV field is deleted (set to blank).
    The method in backing bean is:
    public void investorLovChange_action(ValueChangeEvent valueChangeEvent) {
    // Add event code here...
    String investorName = (String)valueChangeEvent.getNewValue();
    if (investorName == null) {
    getReferenceId().setSubmittedValue(null);
    getReferenceId().setValue(null);
    } else {
    ValueBinding investorBeanBind =
    application.createValueBinding("#{irmInvestorBean}");
    IrmInvestorBean investorBean =
    (IrmInvestorBean)investorBeanBind.getValue(facesContext);
    investorBean.fetchInvestors(investorName, null, null);
    IrmInvestorSearchResults[] investors = investorBean.getInvestors();
    if ((investors != null) && (investors.length == 1)) {
    getReferenceId().setSubmittedValue(null);
    getReferenceId().setValue(investors[0].getInvestor_id());
    getInvestorLOV().setSubmittedValue(null);
    getInvestorLOV().setValue(investors[0].getFull_name());
    } else {
    UIViewRoot investorLovRoot =
    application.getViewHandler().createView(facesContext,
    "/investorLOV.jsp");
    HashMap windowProp = new HashMap();
    windowProp.put("height", "600");
    windowProp.put("width", "650");
    adfFacesContext.launchDialog(investorLovRoot, null,
    valueChangeEvent.getComponent(),
    true, windowProp);
    }

  • "Row currency has changed.." problem after Refresh

    hello,
    I'm trying http://otn.oracle.com/obe/obe9051jdev/adftojsp/defaultendtoend.htm tutorial. Everyting works fine for me, but, when I run browseDepartments.jsp (from struts diagram), then I press NEXT buton one or few times, then REFRESH (from the IE browser) i get the error:
    JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-33035: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[16 3 ]
    JBO-33035: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[16 3 ]
    Also, I created my own app with jdeveloper, but after NEXT and REFRESH I get the same error..
    Help!!!

    I'm currently evaluating JDeveloper and the interaction
    between UIX and Struts.
    I've got the same JBO-33035 when using a LOV and handling
    changes with UIX Event-Handlers to update the query
    in an related ViewObject.
    For some other reasons I use Struts for the page flow.
    When I directly call the UIX-Page (without Struts) everything
    is fine - Event handling works, no JBO-33035.
    But when I call the page using the Struts controller,
    I got JBO-33035, fired in the prepareModel Method.
    The first change works, but from then on I'll get this
    error.
    On the other side it seems to be impossible to handle LOV
    changes (not using ViewLinks) from struts.
    I use a Bean to store the selected Values from the LOV.
    So my first attempt was to use a Struts Action Handler
    to get the value from the Bean (used as DataControl).
    But the postback of the selected values occurs after
    all Struts Page Lifecycle routines. So I found no way for
    doing this.
    On the other hand, with no OnEvent Handler declared in
    DataAction but using a UIX-Event, the postback occurs in
    the processComponentEvents phase!
    Does anybody has some hints regarding this?
    How can I get the updated Bean values in the struts lifecyle?
    Why does JBO-33035 only occur with Struts?
    Hope to hear from somebody.
    Cheers
    Stefan

  • 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

Maybe you are looking for