Below Code to get customer Primary Address in Ax 2012.
 CustTable        custTable_P;  
   DirPartyTable      dirPartyTable_P;  
   DirPartyLocation    dirPartyLocation_P;  
   DirPartyLocationRole  dirPartyLocationRole_P;  
   LogisticsLocation    logisticsLocation_P;  
   LogisticsLocationRole  logisticsLocationRole_P;  
   LogisticsPostalAddress logisticsPostalAddress_P;  
   LogisticsPostalAddress    primaryAddress_P;  
   while select custTable_P  
       where  custTable_P.AccountNum =='ED_01029'   
     join dirPartyTable_P  
         where  dirPartyTable_P.RecId == custTable_P.Party  
     join dirPartyLocation_P  
         where  dirPartyLocation_P.Party == custTable_P.Party  
     && dirPartyLocation_P.IsPrimary==NoYes::Yes  
       join dirPartyLocationRole_P  
           where  dirPartyLocationRole_P.PartyLocation == dirPartyLocation_P.RecId  
         join logisticsLocationRole_P  
             where  logisticsLocationRole_P.RecId == dirPartyLocationRole_P.LocationRole  
            // &&   logisticsLocationRole.Type == LogisticsLocationRoleType::Delivery/* YOUR ROLE - LogisticsLocationRoleType::Delivery*/  
       join logisticsLocation_P  
           where  logisticsLocation_P.RecId == dirPartyLocation_P.Location  
         join logisticsPostalAddress_P  
             where  logisticsPostalAddress_P.Location == logisticsLocation_P.RecId  
   {  
     info(strFmt("%1", logisticsPostalAddress_P.Address));  
   }  
Comments