Manfaat yg bisa didapat:
- Dapat memanfaatkan Object Query yg sudah ada sehingga tidak perlu membuat object Query yg baru yang isinya fungsi agregat.
- Tidak perlu membuat perintah SQL yang baru yang maksud dan fungsinya sama dengan Object Query yang dimaksud.
- Akan sangat bermanfaat bila Object Query-nya merupakan join dari beberapa table.
Contoh AOT Job...
static void myJob(Args _args)
{
Query q;
QueryRun qr;QueryBuildDataSource qbd;
QueryBuildFieldList qfl;
EmplTable ep;
int i;
;
qr = new QueryRun(queryStr(EmployeeList));
//'EmployeeList' merupakan contoh Object Query dari AOT
q = qr.query();
qbd = q.dataSourceTable(tablenum(EmplTable));
qfl = qbd.fields();
/*
Command berikut untuk menambahkan fungsi agregat pada query.
Fungsi Agregat : Count, Max, Min, Avg, Sum.
Fungsi Count sebaiknya di asign pada RecId sebab RecId merupakan Int64, sisanya(fungsi) disesuaikan dengan fieldnya masing2.
*/
qfl.addField(fieldnum(empltable,RecId),SelectionField::Count);
qr.next();
ep = qr.get(tablenum(empltable));
info(strfmt("%1",ep.RecId)); //Akan menampilkan Jumlah Row...
qfl.clearFieldList();
qr.reset();
i = 0;
while(qr.next())//Akan menampilkan semua Employee ID sesuai dengan query
{
i++;
ep = qr.get(tablenum(empltable));
info(strfmt("%1 - %2",i,ep.EmplId));
}
}