Example - Query - Java API

The sample code in this example shows a query executed in the W42101C form. This query attempts to match the following specified conditions:

  • Line Number equal to 2.

  • Requested Date within the last 2 years.

  • Sold To between 7000 and 8000.

  • Company is one of the values in the list "00070,00077".

The response will contain the JSON for the form with the matching records in the grid.

 public void queryP42101() throws Exception
    {
 
        loginEnv.getUsedCapabilities().add("query");
        FormRequest formRequest = new FormRequest(loginEnv);
        formRequest.setFormName("P42101_W42101C");
        formRequest.setReturnControlIDs("350|360|41[129,130,116,125]");
        formRequest.setFormServiceAction(formRequest.ACTION_READ);
        formRequest.setFindOnEntry("TRUE");
        formRequest.setMaxPageSize("20");
        Query query = new Query(loginEnv);
 
 
        //auto find
        query.setAutoFind(true);
 
        //match all
        query.setMatchType(Query.MATCH_ALL);
 
        //clear any defaulted filters
        query.setAutoClear(false);
 
        //line number equals 2
        NumberCondition condN = query.addNumberCondition("41[129]", NumericOperator.EQUAL());
        condN.setValue(2);
 
        //Requested Date within two years from today
        DateCondition condD = query.addDateCondition("41[116]", DateOperator.GREATER());
        condD.setSpecialDateValue(DateSpecialValue.TODAY_MINUS_YEAR(), 2);
 
        //Sold To 125
        BetweenCondition condST = query.addBetweenCondition("41[125]");
        condST.setValues("7000", "8000");
 
 
        //company in list
        ListCondition list1 = query.addListCondition("360");
        list1.addValue("00070");
        list1.addValue("00077");
 
        //set it in the request
        formRequest.setQuery(query);
 
        ObjectWriter writer = loginEnv.getObjectMapper().writerWithDefaultPrettyPrinter();
        out.println(writer.writeValueAsString(formRequest));
 
 
        String response = JDERestServiceProvider.jdeRestServiceCall(loginEnv, formRequest, JDERestServiceProvider.POST_METHOD, JDERestServiceProvider.FORM_SERVICE_URI);
 
 
}