AX – D365FO – Using SysQuery functions / methods with QueryBuildRange

Instead of direct assignment of the values to the query build range value, we can use SysQuery class methods to avoid the errors of datatype conversion. So here in this post I gave some useful methods.

QueryBuildRange qbr;

—To set the value we usually follow as below mentioned code

qbr.value(“Our Value”);

qbr.value(queryValue(“Our Value”));

–We can set the value using SysQuery methods like mentioned below

qbr.value(SysQuery::value(“Our Value”));

qbr.value(SysQuery::valueLike(“Our Value”));

qbr.value(SysQuery::valueNot(“Our Value”));

—For logical NOT

qbr.value(SysQuery::valueNot(“Our Value”));

—To retrive all records

in usual way we can give like empty (” “) but using sysquery class

qbr.value(SysQuery::valueUnlimited());

—To retrive Null records

qbr.value(SysQuery::valueEmptyString());

—To retrive Not Null records

qbr.value(SysQuery::valueNotEmptyString());

—To give range

usually we add qbr.value(fromDate,toDate)  but using sysQuery

qbr.value(SysQuery::range(fromDate,toDate);

The method will add the dots (‘..’)  like this

—To find total number of records available in the resulting query

info(strFmt(“%1”,SysQuery::countTotal(queryRun)));

—To find total number of Datasource available in the resulting query

info(strFmt(“%1”,SysQuery::countLoops(queryRun)));

— For Datasource and Range creation

SysQuery::findOrCreateRange(parameter);

SysQuery::findOrCreateDataSource(parameter);

SysQuery::findOrCreateDataSourceByName(parameter);

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s