D365 Finance & Operations and Dynamics AX Forum

Expand all | Collapse all

Attention information from PR to PO

  • 1.  Attention information from PR to PO

    TOP CONTRIBUTOR
    Posted Apr 21, 2020 01:00 PM
      |   view attached
    Hi All

    Attention information is entered in Purchase requisition. Its not appearing in Purchase order. Any suggestion is any set up is missing or have to activate any field in AOT

    Thanks and best regards


  • 2.  RE: Attention information from PR to PO

    TOP CONTRIBUTOR
    Posted Apr 21, 2020 02:02 PM
    Najeem,

    My attention fields pull in just fine on the PurchTable and PurchLine.

    You may want to check LCS or with a developer to see if your updateFromPurchReqLineMap class doesn't contain a reported bug or isn't customized.

    Here's the standard R3 app version 6.3.6000.149 class:

    /// <summary>
    ///  Update <c>PurchTable</c> from <c>PurchLine</c> or <c>PurchReqLine</c>.
    /// </summary>
    /// <param name="_listEnumerator">
    /// A list enumerator contains recrods from <c>PurchLine</c> or <c>PurchReqLine</c>.
    /// </param>
    public void updateFromPurchReqLineMap(ListEnumerator _listEnumerator)
    {
        InventSiteId                    siteId;
        InventLocationId                locationId;
        LogisticsPostalAddressRecId     addressRecId;
        Addressing                      deliveryAddress;
        AddressZipCodeId                deliveryZipCode;
        AddressCountyId                 deliveryCounty;
        AddressCountryRegionId          deliveryCountryRegionId;
        AddressStateId                  deliveryStateId;
        VendName                        deliveryName;
        AddressCity                     deliveryCity;
        AddressStreet                   deliveryStreet;
        LogisticsPostalAddress          postalAddress;
        PurchReqAttention               attention;
        DimensionDefault                dimension;
        RecId                           requesterRecId;
        InventDim                       inventDim;
        PurchReqLineMap                 purchReqLineMap;
    
        boolean                         first           = true;
        boolean                         setSiteId       = true;
        boolean                         setLocationId   = true;
        boolean                         setAddress      = true;
        boolean                         setDim          = true;
    
        // Only related to purchReqLine
        boolean                         setAtt          = true;
        boolean                         setReq          = true;
        ProdId                          projId;
    
        while (_listEnumerator.moveNext())
        {
            purchReqLineMap = _listEnumerator.current();
            postalAddress   = LogisticsPostalAddress::findRecId(purchReqLineMap.DeliveryPostalAddress);
            inventDim       = InventDim::find(purchReqLineMap.InventDimId);
    
            if (first)
            {
                first                   = false;
                siteId                  = inventDim.InventSiteId;
                locationId              = inventDim.InventLocationId;
                addressRecId            = purchReqLineMap.DeliveryPostalAddress;
                deliveryAddress         = postalAddress.Address;
                deliveryZipCode         = postalAddress.ZipCode;
                deliveryCounty          = postalAddress.County;
                deliveryCountryRegionId = postalAddress.CountryRegionId;
                deliveryStateId         = postalAddress.State;
                deliveryName            = purchReqLineMap.DeliveryName;
                deliveryCity            = postalAddress.City;
                deliveryStreet          = postalAddress.Street;
                dimension               = purchReqLineMap.DefaultDimension;
    
                if (purchReqLineMap.TableId == tableNum(PurchReqLine))
                {
                    attention           = purchReqLineMap.Attention;
                    requesterRecId      = purchReqLineMap.Requisitioner;
                    projId              = purchReqLineMap.ProjId;
                }
            }
            else
            {
                setSiteId       = setSiteId     && (siteId          == inventDim.InventSiteId);
                setLocationId   = setLocationId && (locationId      == inventDim.InventLocationId);
                setDim          = setDim        && (dimension       == purchReqLineMap.DefaultDimension);
                setAddress      = setAddress
                               && deliveryAddress         == postalAddress.Address
                               && deliveryZipCode         == postalAddress.ZipCode
                               && deliveryCounty          == postalAddress.County
                               && deliveryCountryRegionId == postalAddress.CountryRegionId
                               && deliveryStateId         == postalAddress.State
                               && deliveryName            == purchReqLineMap.DeliveryName
                               && deliveryCity            == postalAddress.City
                               && deliveryStreet          == postalAddress.Street
                               && addressRecId            == purchReqLineMap.DeliveryPostalAddress;
    
                if (purchReqLineMap.TableId == tableNum(PurchReqLine))
                {
                    setReq = setReq && (requesterRecId  == purchReqLineMap.Requisitioner);
                    setAtt = setAtt && (attention       == purchReqLineMap.Attention);
                }
            }
        }
    
        this.InventSiteId          = setSiteId     ? siteId : '';
        this.InventLocationId      = setLocationId ? locationId : '';
        this.DeliveryPostalAddress = setAddress    ? addressRecId : 0;
        this.DeliveryName          = setAddress    ? deliveryName : '';
        if (setDim)
        {
            this.DefaultDimension = dimension;
        }
    
        if (purchReqLineMap.TableId == tableNum(PurchReqLine))
        {
            this.ReqAttention   = setAtt ? attention : '';
            this.Requester      = setReq ? requesterRecId : 0;
            this.ProjId         = projId;
            this.CurrencyCode   = purchReqLineMap.CurrencyCode;
            this.AccountingDate = purchReqLineMap.TransDate;
        }
    }​


    ------------------------------
    Ian Gorman, PMP, MCSE
    Senior Consultant
    ------------------------------



  • 3.  RE: Attention information from PR to PO

    TOP CONTRIBUTOR
    Posted Apr 21, 2020 03:29 PM
    Thanks Ian

    Since we have multiple instances so checked and compared mapping in AOT and its same and no sign of any changes

    Anything is missing on Enterprise Portal or parameter set up

    Thanks and kind regards


If you've found this thread useful, dive deeper into User Group community content by role