static void CustomerPersonsXppImport(Args _args)
{
#define.Name("Alex Anikiev")
#define.FirstName("Alex")
#define.LastName("Anikiev")
#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.CustAccount("Alex")
#define.CustGroup("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;
CustTable custTable;
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.ValidFrom = DateTimeUtil::utcNow();
logisticsElectronicAddress.ValidTo = DateTimeUtil::maxValue();
if (logisticsElectronicAddress.validateWrite())
{
logisticsElectronicAddress.insert();
}
else
throw error("Electronic address");
//Customer
custTable.clear();
custTable.initValue();
//CustTable.Currency = "";//initValue
custTable.AccountNum = #CustAccount;
//custTable.AccountNum = NumberSeq::newGetNum(CustParameters::numRefCustAccount()).num();
custTable.Party = dirPerson.RecId;
custTable.CustGroup = #CustGroup;
custTable.initFromCustGroup(CustGroup::find(#CustGroup));
custTable.Currency = #Currency;
custTable.DefaultDimension = AxdDimensionUtil::getDimensionAttributeValueSetId(
[3, "CostCenter", #CostCenter, "Department", #Department, "ExpensePurpose", #ExpensePurpose]);
if (custTable.validateWrite())
{
custTable.insert();
}
else
throw error("Customer");
}
}
else
throw error("Person");
ttscommit;
}
catch
{
error("Error!");
return;
}
info("Done!");
}
{
#define.Name("Alex Anikiev")
#define.FirstName("Alex")
#define.LastName("Anikiev")
#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.CustAccount("Alex")
#define.CustGroup("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;
CustTable custTable;
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.ValidFrom = DateTimeUtil::utcNow();
logisticsElectronicAddress.ValidTo = DateTimeUtil::maxValue();
if (logisticsElectronicAddress.validateWrite())
{
logisticsElectronicAddress.insert();
}
else
throw error("Electronic address");
//Customer
custTable.clear();
custTable.initValue();
//CustTable.Currency = "";//initValue
custTable.AccountNum = #CustAccount;
//custTable.AccountNum = NumberSeq::newGetNum(CustParameters::numRefCustAccount()).num();
custTable.Party = dirPerson.RecId;
custTable.CustGroup = #CustGroup;
custTable.initFromCustGroup(CustGroup::find(#CustGroup));
custTable.Currency = #Currency;
custTable.DefaultDimension = AxdDimensionUtil::getDimensionAttributeValueSetId(
[3, "CostCenter", #CostCenter, "Department", #Department, "ExpensePurpose", #ExpensePurpose]);
if (custTable.validateWrite())
{
custTable.insert();
}
else
throw error("Customer");
}
}
else
throw error("Person");
ttscommit;
}
catch
{
error("Error!");
return;
}
info("Done!");
}
No comments:
Post a Comment