Friday, May 27, 2016

X++ code for Creating Vendor ,Record Type::Person in ax 2012

X++ code for Creating Vendor ,Record Type::Person in ax 2012

static void VendorPersonsXppImport(Args _args)
{
    #define.Name("Alex Anikievzz")
    #define.FirstName("Alexzz")
    #define.LastName("Anikievzz")
    #define.PostalAddressName("Postal address")
    #define.City("Alpharetta")
    #define.County("FULTON")
    #define.Country("USA")
    #define.Street("1125 Sanctuary Pkwy #300")
    #define.State("GA")
    #define.ZipCode("30009")
    #define.ElectronicAddressName("Electronic address")
    #define.Locator("alexani@microsoft.com")
    #define.LocatorExt("")
    #define.VendAccount("Alex1zz")
    #define.VendGroup("10")
    #define.Currency("USD")
    #define.CostCenter("OU_4803")
    #define.Department("OU_2311")
    #define.ExpensePurpose("Training")

    DirPerson                   dirPerson;
    DirPersonName               dirPersonName;
    LogisticsLocation           logisticsLocation;
    LogisticsPostalAddress      logisticsPostalAddress;
    LogisticsElectronicAddress  logisticsElectronicAddress;
    VendTable                   vendTable;

    try
    {
        ttsbegin;

        //Person
        dirPerson.clear();
        dirPerson.initValue();
        dirPerson.Name = #Name;

        if (dirPerson.validateWrite())
        {
            dirPerson.insert();

            if (dirPerson)
            {
                //Person name
                dirPersonName.clear();
                dirPersonName.initValue();
                dirPersonName.FirstName = #FirstName;
                dirPersonName.LastName = #LastName;
                dirPersonName.Person = dirPerson.RecId;
                dirPersonName.ValidFrom = DateTimeUtil::utcNow();
                dirPersonName.ValidTo = DateTimeUtil::maxValue();

                if (dirPersonName.validateWrite())
                {
                    dirPersonName.insert();
                }
                else
                    throw error("Person name");

                //Location
                logisticsLocation = LogisticsLocation::create(#PostalAddressName, NoYes::Yes);

                //Party location
                DirParty::addLocation(dirPerson.RecId, logisticsLocation.RecId, true, true, false, [LogisticsLocationRole::findBytype(LogisticsLocationRoleType::Home).RecId]);

                //Postal address
                logisticsPostalAddress.clear();
                logisticsPostalAddress.initValue();
                logisticsPostalAddress.City = #City;
                logisticsPostalAddress.County = #County;
                logisticsPostalAddress.CountryRegionId = #Country;
                logisticsPostalAddress.Street = #Street;
                logisticsPostalAddress.State = #State;
                logisticsPostalAddress.ZipCode = #ZipCode;
                logisticsPostalAddress.Address = LogisticsPostalAddress::formatAddress(
                #Street, #ZipCode, #City, #Country, #State, #County);
                logisticsPostalAddress.Location = logisticsLocation.RecId;
                logisticsPostalAddress.ValidFrom = DateTimeUtil::utcNow();
                logisticsPostalAddress.ValidTo = DateTimeUtil::maxValue();

                if (logisticsPostalAddress.validateWrite())
                {
                    logisticsPostalAddress.insert();
                }
                else
                    throw error("Postal address");

                //Location
                logisticsLocation = LogisticsLocation::create(#ElectronicAddressName, NoYes::No);

                //Party location
                DirParty::addLocation(dirPerson.RecId, logisticsLocation.RecId, false, true, false);

                //Electronic address
                logisticsElectronicAddress.clear();
                logisticsElectronicAddress.initValue();
                logisticsElectronicAddress.Location = logisticsLocation.RecId;
                logisticsElectronicAddress.Type = LogisticsElectronicAddressMethodType::Email;
                logisticsElectronicAddress.Locator = #Locator;
                logisticsElectronicAddress.LocatorExtension = #LocatorExt;
                //logisticsElectronicAddress = DateTimeUtil::utcNow();
               // logisticsElectronicAddress.ValidTo = DateTimeUtil::maxValue();

                if (logisticsElectronicAddress.validateWrite())
                {
                    logisticsElectronicAddress.insert();
                }
                else
                    throw error("Electronic address");

                //Vendor
                vendTable.clear();
                vendTable.initValue();
                //vendTable.Currency = "";

                vendTable.AccountNum = #VendAccount;
                //vendTable.AccountNum = NumberSeq::newGetNum(VendParameters::numRefVendAccount()).num();
                vendTable.Party = dirPerson.RecId;

                vendTable.VendGroup = #VendGroup;
                vendTable.initFromVendGroup(VendGroup::find(#VendGroup));

                vendTable.Currency = #Currency;
            //    vendTable.DefaultDimension = AxdDimensionUtil::getDimensionAttributeValueSetId(
               // [3, "CostCenter", #CostCenter, "Department", #Department, "ExpensePurpose", #ExpensePurpose]);

                if (vendTable.validateWrite())
                {
                    vendTable.insert();
                }
                else
                    throw error("Vendor");
            }
        }
        else
            throw error("Person");

        ttscommit;
    }
    catch
    {
        error("Error!");
        return;
    }

    info(" Vendor Created Succesfully !!!");
}



No comments:

Post a Comment

Export a copy of the standard user acceptance testing (UAT) database

 Reference link: Export a copy of the standard user acceptance testing (UAT) database - Finance & Operations | Dynamics 365 | Microsoft ...