2 Replies Latest reply: Feb 7, 2013 12:30 PM by GreenMachine RSS

    Set a LOV value as changed in OAF Page

    GreenMachine
      I am in Oracle EBS and I have a problem with capturing the value of a LOV value as it is changed.

      I have used SPEL OAF Personalization on my page which changes the Alternate Vendor Name field as required if the Vendor Type LOV is "Staff Memeber"

      This work only if you hit SAVE

      Ex.

      I change the value from Staff Member to Supplier. The Alternate Vendor Name stays as a required field until I hit save. Then the required profile is updated.

      Ideally I would like that required field property updated immediately as the LOV is changed. How can I do this? VO Extension? Where do I add code?

      I am in the iSupplier Portal
      I click the About Page...

      I see the Controller is QuickUpdateCO

      I have the field Alternate Vendor Name that is required if the vendor type lookup code is "Staff Member"

      I already added a new attribute to the SupplierVO which returns yes or no, I added this to the SPEL Reference into the Personalize Page Property Required.

      ${oa.SupplierVO.IsReqAltnameFlag}

      This only works once I click save.

      I want this to trigger as soon as the value changes in in the LOV Vendor Type on the OrganizationPG.

      Edited by: GreenMachine on 5-Feb-2013 1:40 PM
        • 1. Re: Set a LOV value as changed in OAF Page
          787534
          This can only be achived through controller extension.

          These are the steps
          1) Extend your controller
          2) In process form request capture the lov update event
          3) set your SPEL vo attribute appropriately in this lov update event.
          4) Deploy your extended controller class file to server
          5) Change the path of the controller class to the extended one through personalozation


          Hope this helps!

          Sunny
          • 2. Re: Set a LOV value as changed in OAF Page
            GreenMachine
            Please keep in mind I am very new to this. Do you have an example on how to do this? I have pasted the code if that helps.

            I know I need to extend QuickUpdateCO.class

            We know the QuickUpdateCO controller, I have an understanding how to create the workspace/project/deployment.

            The SPEL vo attribute is already in place (Required Property: SPEL: ${oa.SupplierVO.IsReqAltnameFlag}), and works only when you hit save.

            I am not sure how to do the sugested "In process form request capture the lov update event"

            The Attribute Name that gets updated via LOV is called : VendorTypeLookupCode its part of the VendorsVO (In EBS called SuppliersVO)

            If the Attribute value gets changed to "Staff Member" the Alternate Vendor Name i srequired.

            QuickUpdateCO.class Code is:

            //
            // Oracle JDeveloper Stub Generated Source
            //
            package oracle.apps.pos.supplier.webui;

            public class QuickUpdateCO
                 extends oracle.apps.fnd.framework.webui.OAControllerImpl
            {
                 //
                 // Constructors
                 //
                 public QuickUpdateCO() { }

                 //
                 // Fields
                 //
                 public static final java.lang.String RCS_ID;

                 public static final boolean RCS_ID_RECORDED;

                 public static final java.lang.String STR_TRUE;

                 public static final java.lang.String STR_FALSE;

                 //
                 // Methods
                 //
                 public void processRequest(oracle.apps.fnd.framework.webui.OAPageContext p1, oracle.apps.fnd.framework.webui.beans.OAWebBean p2) { }

                 public void setLabelForCheckBox(oracle.apps.fnd.framework.webui.OAPageContext p1, oracle.apps.fnd.framework.webui.beans.OAWebBean p2) { }

                 public void processFormRequest(oracle.apps.fnd.framework.webui.OAPageContext p1, oracle.apps.fnd.framework.webui.beans.OAWebBean p2) { }

                 public void hideCreateButtonforEmployeeSupplierType(oracle.apps.fnd.framework.webui.OAPageContext p1, oracle.apps.fnd.framework.webui.beans.OAWebBean p2) { }
            }

            Edited by: GreenMachine on 7-Feb-2013 10:29 AM