Order Management

Get Involved. Join the Conversation.

Topic

    Sunil Dabekar
    PVO name to access Customer Master DFF (site level)
    Topic posted June 4, 2019 by Sunil DabekarSilver Medal: 2,000+ Points, tagged Order Management 
    28 Views, 2 Comments
    Title:
    PVO name to access Customer Master DFF (site level)
    Summary:
    PVO name to access Customer Master DFF (site level)
    Content:

    Hi Champs,

     

    Can you please let me know which PVO do we use inorder to access data from customer master site level DFF (say sales rep ) and populate/default it on Sales order under sales rep field.

     

    Thanks,

    Sunil

     

     

    Version:
    R13

    Comment

     

    • Shyam Singh Patel

      Hi Sunil,

      Following PVO are available for Customers.
      Public View Objects in Oracle Applications Cloud (Doc ID 2386411.1)  ----- 19A

      oracle.apps.scm.doo.processOrder.publicModel.partyMerge.view.CustomerAccountSiteUsePVO

      oracle.apps.scm.doo.processOrder.publicModel.partyMerge.view.RelationshipPVO

      oracle.apps.scm.doo.processOrder.publicModel.partyMerge.view.OrderAddressPVO

      oracle.apps.scm.doo.processOrder.publicModel.partyMerge.view.PartySitePVO

      oracle.apps.scm.doo.publicView.analytics.TradingPartnerSitePVO

      oracle.apps.scm.shipping.common.publicView.ShipToLocationPVO

      oracle.apps.scm.scmCommon.common.publicView.ShipToLocationPVO

      oracle.apps.financials.receivables.publicView.analytics.CustomerProfilePVO

      oracle.apps.financials.payables.invoices.transactions.model.view.HzPartySitePVO

      oracle.apps.cdm.foundation.parties.publicView.locations.LocationPVO

      On Sales Order Screen: Ship-to is a party site and not account site. Only Bill to are account sites.
                                           Manage Customers UI Screen doesn't display a party site which is not an account site.

      Regards
      Shyam

    • Venkatesh Malapati
      The DFF attributes from the customer related entities should be accessed through DFF VOs that gets generated when the DFF's are deployed as Customer/TCA related PVOs don't expose the DFFs. For the various DFF VO names, you can download the flexfield archive as shown in the attached document from the flexfield setup actions corresponding to whichever flexfield they want to use and then introspect the zip and look within the publicflex directory of zip to find out the name of the DFF VO's & attributes to use.

      TCA support DFF's on the party profile & party site for the parties. Please use setup tasks, Manage Trading Community Organization Descriptive Flexfields & Manage Trading Community Organization Site Descriptive Flexfields for those DFFs. For the DFF's at the acct site level or site use the setup task Manage Customer Account Site Descriptive Flexfields or Manage Customer Account Site Use Descriptive Flexfield should be used. Please note the ship to on an order is a party site and bill to is an account site. So depending on whether it is being defaulted based of the ship-to or bill-to on the order, the appropriate DFFs should be used.

      Following is an example one where it fetches a value of the global segment named, hzPartysite1 and writes it to shipping instructions on the header.


      import oracle.apps.scm.doo.common.extensions.ValidationException;
      def poNumber = header.getAttribute("CustomerPONumber");
      String OrderTypeCode=header.getAttribute("TransactionTypeCode");
      //List<Message> messages = new ArrayList<Message>();

       

      def customerPONumber = header.getAttribute("CustomerPONumber");

      if(customerPONumber !=null && customerPONumber.equals("SiteDFF")) {

      // get the bill to site use id. from that we will get the bill to site id using TCA PVO
      Long shipToCustomerSiteId = header.getAttribute("ShipToPartySiteIdentifier");

      // now let's find the DFF for the site
      def partySitePVO = context.getViewObject("oracle.apps.cdm.foundation.parties.publicFlex.partySite.view.PartySiteInformationVO");

      def vc = partySitePVO.createViewCriteria();
      def vcrow = vc.createViewCriteriaRow();
      vcrow.setAttribute("PartySiteId", shipToCustomerSiteId);
      vc.add(vcrow);

      def rowset = partySitePVO.findByViewCriteriaWithBindVars(vc, -1, new String [0], new String [0]);
      def partySiteDFF = rowset.first();

      if( partySiteDFF != null ) {

      String SiteName = partySiteDFF.getAttribute("hzPartysite1");
      header.setAttribute("ShippingInstructions", "DFF found"+SiteName);
      }
      else {
      header.setAttribute("ShippingInstructions", "No DFF found");
      }
      }