Skip to main content

Get a list of tables related to specific configuration keys in Dynamics Axapta


 static void FindTablesFromConfigKey(Args _args)  
 {  
   // The name of the configuration key to be specified here  
   str           configKeyName  = "Prod";  
   Dictionary       dictionary   = new Dictionary();  
   ConfigurationKeyId   configKeyId   = dictionary.configurationKeyName2Id(configKeyName);  
   TableId         tableId;  
   DictConfigurationKey  dictConfigurationKey;  
   DictTable        dictTable;  
   container        keyIds;  
   int           i;  
   ;  
   if (configKeyId)  
   {  
     // Find all children of the specified configuration key  
     for (i = dictionary.configurationKeyNext(0); i; i = dictionary.configurationKeyNext(i))  
     {  
       dictConfigurationKey = new DictConfigurationKey(i);  
       while (dictConfigurationKey.parentConfigurationKeyId())  
         dictConfigurationKey = new DictConfigurationKey(dictConfigurationKey.parentConfigurationKeyId());  
       if (dictConfigurationKey.id() == configKeyId)  
         keyIds += i;  
     }  
     // Find all tables that have an appropriate configuration key  
     i = 0;  
     for (tableId = dictionary.tableNext(0);tableId;tableId = dictionary.tableNext(tableId))  
     {  
       dictTable = new DictTable(tableId);  
       if (!dictTable.isMap() && !dictTable.isTmp() && !dictTable.isView())  
       {  
         if (confind(keyIds, dictTable.configurationKeyId()))  
         {  
           i++;  
           info(dictTable.name());  
         }  
       }  
     }  
   }  
   info(strfmt("%1 tables have configuration key '%2'", i, configKeyName));  
 }  

Popular posts from this blog

strScan and Find a first occurrence of a string in a string using x++

strScan (Find a first occurrence of a string in a string) info("int strScan(str _text1,str _text2,int _position,int _number)"); info("Searches a text string for the occurrence of another string."); info("_text1 - The text string to search."); info("_text2 - The string to find."); info("_position - The position at which the search should start."); info("_number - The number of characters that should be searched."); info(int2str(strScan("ABCDEFGHIJ","DE",1,10)));

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

Get record from table on the basis of field id in Microsoft dynamics axapta x++

How to Get record from table on the basis of field id in dynamics axapta x++. just try following code in job to understand better way. emplTable emplTable; FieldId fieldId; ; fieldId = fieldNum(emplTable, Emplid); select emplTable; info(emplTable.(fieldId)); select emplTable where emplTable.(fieldId) == '1101'; info(emplTable.Name);