Create lookup Code on dimension field in Ax 2012

This code is to create lookup on dimension field like Business unit,department,division etc.You can add this code in your class ,form etc.There could be little bit  change in coding on  form for lookup.

  // FormStringControl control = dialog.formRun().controlCallingMethod();  
   SysTableLookup     sysTableLookup = SysTableLookup::newParameters(tablenum(DimensionAttributeValue), control);  
   Query          query1 = new Query();  
   QueryBuildDataSource  queryBuildDataSource;  
   QueryBuildRange     queryBuildRange;  
   DimensionAttribute   dimAttr;  
    ;  
   dimAttr = DimensionAttribute::findByName("Department");  
   query1.addDataSource(tablenum(DimensionAttributeValue)).addRange(fieldNum(DimensionAttributeValue,DimensionAttribute)).value(queryValue(dimAttr.RecId));  
   sysTableLookup.addLookupMethod(tableMethodStr(DimensionAttributeValue, getname));  
   sysTableLookup.addLookupMethod(tableMethodStr(DimensionAttributeValue, getValue));  
 //this code is to add the ranges for filtering  
   sysTableLookup.parmQuery(query1);  
   sysTableLookup.performFormLookup();