Home / Questions / addRange()
Explanatory Question

addRange()

👁 5 Views
📘 Detailed Answer
🕒 Easy to Read
Read the answer carefully and go through the related questions on the right side to improve your understanding of this topic.

Answer with Explanation

✅ All the Different Ways of Adding Ranges in Your Code

1. Using addRange(...).value(queryValue(...))

This is used for exact value matches.


qbdsANSARIProgramTable.addRange(fieldNum(ANSARIProgramTable, ProgramStatus)).value(queryValue(ANSARIProgramStatus::Active));

qbdsANSARIProgramCustomer.addRange(fieldNum(ANSARIProgramCustomer, ProgramStatus)).value(queryValue(ANSARIProgramStatus::Active));

qbdsANSARIProgramCustomer.addRange(fieldNum(ANSARIProgramCustomer, CustAccount)).value(_custAccount);

2. Using SysQuery::range(...) for date ranges

Used to check if a date is within a range.


qbdsANSARIProgramTable.addRange(fieldNum(ANSARIProgramTable, ProgramStartDate)).value(SysQuery::range(dateNull(),today));

qbdsANSARIProgramTable.addRange(fieldNum(ANSARIProgramTable, ProgramEndDate)).value(SysQuery::range(today,dateNull())+','+SysQuery::value(dateNull()));

qbdsANSARIProgramCustomer.addRange(fieldNum(ANSARIProgramCustomer, ProgramStartDate)).value(SysQuery::range(dateNull(),today));

qbdsANSARIProgramCustomer.addRange(fieldNum(ANSARIProgramCustomer, ProgramEndDate)).value(SysQuery::range(today,dateNull())+','+SysQuery::value(dateNull()));
qbdsSalesTable.addRange(fieldNum(SalesTable, SalesType)).value (queryValue (SalesType:: Sales));


QueryBuildDataSource queryBuildDataSource = query.addDataSource(tableNum (TaxTrans));
queryBuildDataSource.addRange(fieldnum (TaxTrans, TaxPeriod)).value (SysQuery:: value (taxReportJournal.TaxPeriod));
queryBuildDataSource.addRange(fieldnum (TaxTrans, TaxDirection)).value(SysQuery::value(TaxDirection::IncomingTax));
queryBuildDataSource.addRange(fieldnum (TaxTrans, TaxDirection)).value (SysQuery:: value (TaxDirection::OutgoingTax));
queryBuildDataSource.addRange(fieldNum (TaxTrans, TaxOrigin)).value (SysQuery:: valueNot (TaxOrigin::TaxReporting));


qbdsSalesLine.addRange(fieldNum(SalesLine, SalesQty)).value('>0');
dsInventSum.addRange(fieldNum(InventSum, PhysicalInvent)).value('>0');
dsInventSum.addRange(fieldNum(InventSum, ClosedQty)).value (queryValue(NoYes:: No));

3. Using SysQuery::valueNot(...) to exclude values

This is used to exclude enum values.


qbdsANSARIProgramTable.addRange(fieldNum(ANSARIProgramTable, ProgramType)).value(SysQuery::valueNot(ANSARIProgramType::CustomerHoldback));

✅ Final Thought 💭

In your provided code, you are using 3 distinct ways to add ranges:

  1. queryValue() — for exact matching.

  2. SysQuery::range() — for range comparisons (mostly dates).

  3. SysQuery::valueNot() — for exclusion logic.