Tuesday, June 26, 2012

Job to Import Vendor/Customer Postal Address in Dynamics Ax2012

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);
  
         }
  
       }
  
     }
  
   }  

No comments:

How to identify the user that was used to change an object from AOT in AX2012

Get the object name for which we need to track these (user and date&time) information's. Login to SQL Server Management Studio an...