Example - Complex Query

DataRequest f4101 = new DataRequest(loginEnv);
f4101.setDataServiceType(DataRequest.TYPE_BROWSE);
f4101.setTargetName("F4101");
f4101.setTargetType(DataRequest.TARGET_TABLE);
f4101.setFindOnEntry(FormRequest.TRUE);
        f4101.setReturnControlIDs("F4101.ITM|F4101.DSC1|F4101.DSC2|F4101.SRTX|F4101.LITM");
 
f4101.setOutputType(loginEnv, DataRequest.GRID_DATA_OUTPUT_TYPE);
 
f4101.addOrderBy(loginEnv, "F4101", "ITM", OrderByDirection.ORDER_DIRECT_ASCENDING());
 
Query red = new Query(loginEnv);
red.setMatchType(Query.MATCH_ANY);
red.addStringCondition("F4101.DSC1", StringOperator.CONTAINS(), "red");
red.addStringCondition("F4101.DSC2", StringOperator.CONTAINS(), "red");
red.addStringCondition("F4101.SRTX", StringOperator.CONTAINS(), "red");
red.addStringCondition("F4101.LITM", StringOperator.CONTAINS(), "red");
 
Query bike = new Query(loginEnv);
bike.setMatchType(Query.MATCH_ANY);
bike.addStringCondition("F4101.DSC1", StringOperator.CONTAINS(), "bike");
bike.addStringCondition("F4101.DSC2", StringOperator.CONTAINS(), "bike");
bike.addStringCondition("F4101.SRTX", StringOperator.CONTAINS(), "bike");
bike.addStringCondition("F4101.LITM", StringOperator.CONTAINS(), "bike");
 
ComplexQuery complexQuery = new ComplexQuery();
complexQuery.setAutoFind(true);
complexQuery.addQueryAnd(red);
//put an AND operator between the two conditions
complexQuery.addQueryAnd(bike);
 
f4101.setQuery(complexQuery);
 
 
String response = JDERestServiceProvider.jdeRestServiceCall(loginEnv, f4101, JDERestServiceProvider.POST_METHOD, JDERestServiceProvider.DATA_SERVICE_URI);