How to use Having in Ax 2012

 

static void Johnkrish_Have(Args _args)
{
Bill_TabMethod_1 billtab;
while select sum(Quatity) from billtab group by CustName where billtab.Quatity >=5
info(strFmt(“Group %1 %2”,billtab.CustName,billtab.Quatity));

}

static void Johnkrish_QueryHaving(Args _args)
{
Query query;
QueryBuildDataSource datasource;
QueryBuildRange range;
QueryHavingFilter havingFilter;
QueryRun queryRun;
int counter = 0, totalCounter = 0;
Bill_TabMethod_1 billtab;

query = new Query();
datasource = query.addDataSource(tableNum(Bill_TabMethod_1));
datasource.addSelectionField(fieldNum(Bill_TabMethod_1, Quatity),SelectionField::Sum);
datasource.orderMode(OrderMode::GroupBy);
datasource.addGroupByField(fieldNum(Bill_TabMethod_1, CustName));

havingFilter = query.addHavingFilter(datasource, fieldStr(Bill_TabMethod_1, Quatity),AggregateFunction::Sum);
havingFilter.value(‘>=5’);

queryRun = new QueryRun(query);
while (queryRun.next())
{
billtab = queryRun.getNo(1);
info(strFmt(“Group %1: %2”, billtab.CustName, billtab.Quatity));
}
}