insert PO Charges in d365fo x++

insert PO Charges in d365fo x++

Code:


    
    public void insertPOCharges(VendPurchOrderJour _vendPurchOrderJour)
    {
        PurchLineAllVersions    PurchLineAllVersions;
        MarkupTransHistory      MarkupTransHistory;
        MarkupTrans             MarkupTrans;
        MarkupTable             MarkupTable;
        PURCHLINE               PURCHLINE;
        PurchTableVersion       PurchTableVersion;

        select PurchTableVersion where PurchTableVersion.RecId == _vendPurchOrderJour.PurchTableVersion;
        utcdatetime dateTime = PurchTableVersion.VersionDateTime;

        if (PurchTableVersion.IsArchived)
        {
            while
            select ValidTimeState(dateTime) sum(Value), MarkupCode
            from MarkupTransHistory

            join PURCHLINE
            where MarkupTransHistory.TRANSRECID == PURCHLINE.RECID
            && MarkupTransHistory.TransTableId == PURCHLINE.TableId

            join   PurchLineAllVersions
            where  PurchLineAllVersions.INVENTTRANSID == PURCHLINE.INVENTTRANSID
            && PurchLineAllVersions.PurchTableVersionRecId == _vendPurchOrderJour.PurchTableVersion

            join Txt
            from MarkupTable

            group by MarkupTransHistory.MarkupCode, MarkupTable.Txt
            where MarkupTransHistory.ModuleType == MarkupTable.ModuleType
            && MarkupTransHistory.MarkupCode == MarkupTable.MarkupCode
            && MarkupTable.VendType == MarkupType::CustVend
            {
                PurchaseOrderChargesTmp.ChargeCode = MarkupTable.Txt;
                PurchaseOrderChargesTmp.Amount     = MarkupTransHistory.VALUE;
                PurchaseOrderChargesTmp.insert();
            }
        }
        else
        {
            while
            select PurchLineAllVersions
            where PurchLineAllVersions.PurchTableVersionRecId == _vendPurchOrderJour.PurchTableVersion

            join sum(Value), MarkupCode
            from MarkupTrans
            where MarkupTrans.TRANSRECID == PurchLineAllVersions.RECID
            && MarkupTrans.TransTableId == tablenum(PurchLine)

            join Txt
            from MarkupTable

            group by MarkupTrans.MarkupCode, MarkupTable.Txt
            where MarkupTrans.ModuleType == MarkupTable.ModuleType
            && MarkupTrans.MarkupCode == MarkupTable.MarkupCode
            && MarkupTable.VendType == MarkupType::CustVend
            {
                PurchaseOrderChargesTmp.ChargeCode = MarkupTable.Txt;
                PurchaseOrderChargesTmp.Amount     = MarkupTrans.VALUE;
                PurchaseOrderChargesTmp.insert();
            }
        }


    }

Comments

Popular posts from this blog

D365FO – AX – X++ –Refresh, Reread, Research, and ExecuteQuery

Create Inventory Journal through Code in D365FO X++

SalesLine Reservation in D365fo x++