Skip to main content

Add Lookup Method for Dimension fields for UI Builder class in Axapta SSRS

To Add Lookup Method for Dimension fields like division ,branch etc using UI Builder class in Axapta SSRS Report you can refer below code.

  #define.DimensionName("Branch")  
   Query          query;  
   QueryBuildDataSource  qbds,qbds1;  
   SysTableLookup     sysTableLookup;  
   DimensionAttribute   dimAttr;  
   ;  
   dimAttr = DimensionAttribute::findByName(#DimensionName);  
   sysTableLookup = SysTableLookup::newParameters(tablenum(OMOperatingUnit),branchCodeLookup);  
   sysTableLookup.addLookupfield(fieldnum(OMOperatingUnit, OmoperatingunitNumber));  
   sysTableLookup.addLookupfield(fieldNum(OMOperatingUnit,Name));  
   query = new Query();  
   qbds = query.addDataSource(tableNum(OMOperatingUnit));  
   qbds.addRange(fieldNum(OMOperatingUnit, OMOperatingUnitType)).value(queryvalue(OMOperatingUnitType::OMBusinessUnit));  
   sysTableLookup.parmQuery(query);  
   sysTableLookup.parmUseLookupValue(False);  
   sysTableLookup.performFormLookup();  

Division dimension lookup method is as below.

 private void divisionCodeLookup(FormStringControl divisionCodeLookup)  
 {  
   #define.DimensionName("Division")  
   Query          query;  
   QueryBuildDataSource  qbds,qbds1;  
   SysTableLookup     sysTableLookup;  
   DimensionAttribute   dimAttr;  
   ;  
   dimAttr = DimensionAttribute::findByName(#DimensionName);  
   sysTableLookup = SysTableLookup::newParameters(tablenum(DimensionFinancialTag),divisionCodeLookup);  
   sysTableLookup.addLookupfield(fieldnum(DimensionFinancialTag, Value));  
   sysTableLookup.addLookupfield(fieldNum(DimensionFinancialTag,Description));  
   query = new Query();  
   qbds = query.addDataSource(tableNum(DimensionFinancialTag));  
   qbds1 = qbds.addDataSource(tableNum(DimensionAttributeDirCategory));  
   qbds1.addLink(fieldNum(DimensionFinancialTag,FinancialTagCategory),fieldnum(DimensionAttributeDirCategory,RecId));  
   qbds1.addRange(fieldNum(DimensionAttributeDirCategory, DimensionAttribute)).value(queryvalue(dimAttr.recid));  
   sysTableLookup.parmQuery(query);  
   sysTableLookup.parmUseLookupValue(False);  
   sysTableLookup.performFormLookup();  
 }  

You can call lookup method on post build method in UI Builder class.

  dialogregion.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(GOD_CustomerOutstandingUIBuilder,regionCodeLookup), this);  
   dialogbranch.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(GOD_CustomerOutstandingUIBuilder,branchCodeLookup), this);  

You need to call contract object in following method.

 public void getFromDialog()  
 {  
   contract = this.dataContractObject();  
   super();  
 }  


Popular posts from this blog

How to set up parent project in project accounting in ax 2012

create simple project and then go to the project hierarchy fast tab and there you must define sub-project ID format "-#" and then your sub-project will be enabled. For resource assigning in Project first you need to configure the HR module, in that you need to maintain the calendar for those employees and then you need to define the cost of that particular employee (for expense) and for Revenue you need to define the sales price of that particular employee. In the project accounting module you need to mention the calendar in scheduling fast tab and then you need to define WBS, in WBS activity you can be able to assign resources.

ERD Account Payable and Account Receivable in ax 2012