What you get is
for each eCustomer where Country EQ "USA" AND City BEGINS "Bost" OR Country EQ "DE" AND City BEGINS "Colog" AND CreditLimit LT 1000
which is the same as
for each eCustomer where (Country EQ "USA" AND City BEGINS "Bost") OR (Country EQ "DE" AND City BEGINS "Colog") AND CreditLimit LT 1000
due to boolean order of operands.
if you want
for each eCustomer where (Country EQ "USA" AND City BEGINS "Bost" OR Country EQ "DE" AND City BEGINS "Colog") AND CreditLimit LT 1000
then you need to code:
using Consultingwerk.SmartComponentsDemo.OERA.Sports2000.*.
var CustomerQuery oQuery.
oQuery = new CustomerQuery() .
oQuery:And (new CustomerQuery():Or (new CustomerQuery ():Country:Eq("USA"):And:City:Begins("Bost"),
new CustomerQuery ():Country:Eq("DE"):And:City:Begins("Colog")),
new CustomerQuery ():CreditLimit:Lt(1000)).
message oQuery:ToQueryString(false).