Hello everybody,
today I want to speak about one very interesting feature of FBQL, which I don't know if exists in BQL. Function Brackets!
Take a look on following code sample:
var bracketsDemo = SelectFrom<SOOrder>.InnerJoin<SOLine>.On<SOLine.orderNbr.IsEqual<SOOrder.orderNbr>>.InnerJoin<SOShipLine>
.On<SOShipLine.origOrderNbr.IsEqual<SOOrder.orderNbr>>.Where<
Brackets<SOShipLine.confirmed.IsNotNull.
And<SOShipLine.baseOrigOrderQty.IsNotNull>.
And<SOShipLine.completeQtyMin.IsNotNull>.
And<SOShipLine.confirmed.IsEqual<True>.
Or<SOShipLine.confirmed.IsNull>>.
And<SOShipLine.baseOriginalShippedQty.IsGreater<SOShipLine.unassignedQty>.
Or<SOShipLine.baseOrigOrderQty.IsLess<SOShipLine.baseOriginalShippedQty>>>>.
Or<SOShipLine.baseOrigOrderQty.IsNotNull>>.AggregateTo<GroupBy<SOOrder.orderNbr>,
Min<SOOrder.curyDiscTot>>.OrderBy<SOOrder.curyFreightAmt.Asc, SOOrder.curyDocDisc.Desc>.View.Select(Base);
as you can see from the code, now in FBQL if you need to have Or operator, then as anohter option you may use Brackets.