Job to Import Vendor/Customer Postal Address in Dynamics Ax2012
June 26, 2012 1 Comment
The job is for importing vendor postal address, with minor modifications it can be used for Customer also. The is also for my business scenario, so might be require some minnor modification for any other business scenario.
static void PostalAddressCreate(Args _args)
{
VendTable vendTable;
DirParty dirParty;
DirPartyPostalAddressView PostalAddress;
CommaTextIo file;
container record;
str countyId, zipcode;
;
file = new CommaTextIo("C:\\VendorPostalAddress.csv",'r');
file.inFieldDelimiter(',');
while (file.status() == IO_Status::Ok)
{
record = file.read();
vendTable = VendTable::find(conPeek(record,1));
if (vendTable.RecId)
{
try{
dirParty = DirParty::constructFromCommon(vendTable);
PostalAddress.Street = conPeek(record,2);
PostalAddress.BuildingCompliment = conPeek(record,3);
PostalAddress.City = conPeek(record,4);
PostalAddress.CountryCurrencyCode = conPeek(record,5);
PostalAddress.CountryRegionId = conPeek(record,6);
countyId = conPeek(record,7);
if (Global::strStartsWith(countyId,'~'))
{
countyId = strDel(countyId,1,1);
}
PostalAddress.County = countyId;
//PostalAddress.District = conPeek(record,8);
//PostalAddress.DistrictName = conPeek(record,9);
//PostalAddress.IsLocationOwner = conPeek(record,10);
//PostalAddress.isocode = conPeek(record,11);
PostalAddress.IsPrimary = conPeek(record,12);
PostalAddress.LocationName = conPeek(record,16);
PostalAddress.State = conPeek(record,24);
zipcode = conPeek(record,30);
if (Global::strStartsWith(zipcode,'~'))
{
zipcode = strDel(zipcode,1,1);
}
PostalAddress.ZipCode = zipcode;
PostalAddress.ValidFrom = datetobeginUtcDateTime(1\1\2012, DateTimeUtil::getUserPreferredTimeZone()) ;
PostalAddress.ValidTo = datetobeginUtcDateTime(1\1\2154, DateTimeUtil::getUserPreferredTimeZone()) ;
PostalAddress.Party = vendTable.Party;
if (!dirParty.createOrUpdatePostalAddress(PostalAddress).RecId)
{
info(VendTable.AccountNum);
}
}
catch(Exception::Error)
{
info(VendTable.AccountNum);
}
}
}
}