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