Thursday, 11 September 2014

Lookup method in Ax 2012 R3 using X++ code


Custom lookup method in ax 2012 R3 using X++ code

client server public static void lookup(FormControl  _formControl)
{
 SysTableLookup sysTableLookup;
 Query   query;
 QueryBuildDataSource qbd;
 RetailStoreTable  retailStoreTable;
 RetailChannelTable  retailChannelTable;
 TmpLegalentitywisestore TmpLegalentitywisestore;
 OMOperatingUnit   OMOperatingUnit;


  // This collection will store the records that must be inserted into the database
 RecordInsertList CurrCompanyToBeInserted = new RecordInsertList(tableNum(TmpLegalentitywisestore));
 delete_from TmpLegalentitywisestore;

while select retailChannelTable where retailChannelTable.inventLocationDataAreaId == curext()
join retailStoreTable where retailStoreTable.RecId == retailChannelTable.RecId
join OMOperatingUnit where OMOperatingUnit.RecId == retailChannelTable.OMOperatingUnitID
 {
 TmpLegalentitywisestore.StoreID = retailStoreTable.StoreNumber;
 TmpLegalentitywisestore.Name = OMOperatingUnit.Name;
 CurrCompanyToBeInserted.add(TmpLegalentitywisestore); // it to the RecordInsertList array
}

 CurrCompanyToBeInserted.insertDatabase(); // read to execute the insert operation
 sysTableLookup = SysTableLookup::newParameters(tablenum(TmpLegalentitywisestore), _formcontrol);
 query = new Query();
 qbd = query.addDataSource(tablenum(TmpLegalentitywisestore));
// add the fields to the lookup list
 sysTableLookup.addLookupfield(fieldnum(TmpLegalentitywisestore,storeid));
 sysTableLookup.addLookupfield(fieldnum(TmpLegalentitywisestore,Name));
 sysTableLookup.parmQuery(query);
 sysTableLookup.performFormLookup();

 }

call this method on form data source.>> field >>Lookup method
public void lookup(FormControl _formControl, str _filterStr)
{
     IgnTmpLegalentitywisestore::lookup(_formControl);
}




 
 
 

No comments:

Post a Comment