Skip to main content

Code to get customer Primary Address in Ax 2012

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

Popular posts from this blog

Table lists which can have large number of records in Ax 2012

If you are facing database or application performance issue then you can check these tables that may have large number of records. ECORESPRODUCTVARIANTDIMENSIONVALUE INVENTBATCH ECORESPRODUCTMASTERDIMENSIONVALUE ECORESPRODUCTMASTERDIMENSIONVALUE ECORESPRODUCT ECORESPRODUCTTRANSLATION ECORESPRODUCT ECORESPRODUCTVARIANTDIMENSIONVALUE INVENTDIMCOMBINATION ECORESRELEASESESSIONPRODUCT ECORESRELEASEPRODUCTLEGALENTITY INVENTSUMLOGTTS INVENTCOSTLISTPARM GENERALJOURNALACCOUNTENTRY GENERALJOURNALACCOUNTENTRYZAKAT_SA SMMTRANSLOG LEDGERENTRYJOURNALIZING DIMENSIONFOCUSBALANCE MARKUPTRANS INVENTTRANSPOSTING INVENTREPORTDIMHISTORY SALESPARMLINE SOURCEDOCUMENTLINE INVENTTRANS TRANSACTIONLOG INVENTTRANSORIGIN INVENTSETTLEMENT SALESPARMSUBTABLE SALESPARMTABLE SOURCEDOCUMENTHEADER SALESPARMUPDATE SQLSYNCINFO GENERALJOURNALENTRY SUBLEDGERVOUCHERGENERALJOURNALENTRY CUSTSETTLEMENT SMMACTIVITYPARENTLINKTABLE INVENTSUMDATETRANS LEDGERTRANSSTATEMENTTMP DIMENSIONFOCUSLE

Code to get Invoice settlement data for customer in ax 2012

This is simple Code to get Invoice settlement amount data for customer payment in ax 2012. This data is after posting of data. select sum(SettleAmountCur) from custSettlement where custSettlement.TransRecId == custtrans.RecId If you want get settlement amount before posting than you can refer spectrans table.The table SpecTrans contains all the transactions marked for settlement for payment journal. while select spectrans join custtransopen join custtrans where spectrans.SpecCompany == ledgerjournaltrans.DataAreaId && spectrans.SpecTableId == ledgerjournaltrans.TableId && spectrans.SpecRecId == ledgerjournaltrans.RecId && spectrans.RefCompany == custtranssopen.DataAreaId && spectrans.RefTableId == custtranssopen.TableId && spectrans.RefRecId == custtranssopen.RecId && custtransopen.RefRecId == custtrans.RecId && custtransopen.AccountNum == custtrans.AccountNum { info(str