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