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