Monday, June 24, 2019

creating a viewcriteria with in operator programatically

    public void applyInClassGRN(String values) {
        DCBindingContainer dcb = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
        AppModuleAMImpl am = (AppModuleAMImpl)dcb.getDataControl().getApplicationModule();
        DCIteratorBinding dcibHdr = dcb.findIteratorBinding("PiGrnDtlCostingRef1Iterator");
        ViewObjectImpl voHdr = (ViewObjectImpl)dcibHdr.getViewObject();
        ViewCriteria departmentsCriteria = voHdr.createViewCriteria();
        departmentsCriteria.setName("GrnCosting");
        String inClause = "IN (" + values + ")";

        ViewCriteriaRow criteriaRow = departmentsCriteria.createViewCriteriaRow();
        criteriaRow.setAttribute(PiGrnDtlCostingRefVORowImpl.GRNCNTRLNO, inClause);
        System.out.println("grn Control in apply clause " + PiGrnDtlCostingRe

fVORowImpl.GRNCNTRLNO + "     " +
                           "Parameter cntrl no " + inClause);
        departmentsCriteria.addElement(criteriaRow);
        voHdr.applyViewCriteria(departmentsCriteria, true);
        String query = voHdr.getQuery();
        System.out.println("Query is " + query);
        voHdr.executeQuery();

        // return voHdr.getRowCount();
        AdfFacesContext.getCurrentInstance().addPartialTarget(t3);
        System.out.println("Number of Products in Grn tab " + voHdr.getRowCount());

    }