18 Oct 2018

Update Customer/Vendor address through code in AX 2012

static void updatecustomeraddress(Args _args)
{
    CustTable               custTable;
    DirPartyTable           dirPartyTable;
    DirPartyLocation        dirPartyLocation;
    DirPartyLocationRole    dirPartyLocationRole;
    LogisticsLocation       logisticsLocation;
    LogisticsLocationRole   logisticsLocationRole;
    LogisticsPostalAddress  logisticsPostalAddress; 

     while select * from custTable where custTable.AccountNum == "BRIG"  // if you want vendor change here
            join dirPartyTable
                    where   dirPartyTable.RecId == custTable.Party
            join dirPartyLocation
                    where   dirPartyLocation.Party == custTable.Party
// if you want role specific un-commented below code
            /*join dirPartyLocationRole
                    //where   dirPartyLocationRole.PartyLocation == dirPartyLocation.RecId
            //join logisticsLocationRole
                    //where   logisticsLocationRole.RecId == dirPartyLocationRole.LocationRole
                        // &&      logisticsLocationRole.Type ==  LogisticsLocationRoleType::Delivery*/
            join logisticsLocation
                    where   logisticsLocation.RecId == dirPartyLocation.Location
                join logisticsPostalAddress
                     where   logisticsPostalAddress.Location == logisticsLocation.RecId
    {

            ttsbegin;
            logisticsPostalAddress.selectForUpdate(true);
            logisticsPostalAddress.ValidTimeStateUpdateMode (ValidTimeStateUpdate::Correction);
            logisticsPostalAddress.Address = "Test address";
            logisticsPostalAddress.update();         
            ttsCommit;
    }

}

No comments:

Create number sequence in D365 FO

Create the data type. Add code in the loadModule method of the appropriate NumberSeqModule subclass. Add a method to the module’s paramet...