DataSource findRecord performance issue

SalesTable_ds.findRecord(cursor);

Is running on client side and to find the record it have to go though all records one by one starting from the first and ends when it finds correct record. Which is something like table scan in SQL but much more worse. It gives a lot of chattiness and a lot of data transferred between Client and AOS.

There is what you can use insted:

element.args().lookupField(fieldNum(SalesTable, SalesId));
element.args().lookupValue(queryValue(cursor.SalesId));
SalesTable_ds.executeQuery();

// Or
SalesTable_ds.research(true);
For dictionaries tables like CustGroup you will never have performance issue with findRecord datasource method. As all required records already on the client.


 

Search

About

DaxOnline.org is free platform that allows you to quickly store and reuse snippets, notes, articles related to Dynamics AX.

Authors are allowed to set their own AdSense units.
Join us.

Blog Tags