private static BSSVDBWhereClauseBuilder buildF560205WhereClause( IContext context, BE_HumanTaskQuery internalVO) { // specify condition records must meet to be selected boolean processFlag = false; ArrayList whereFields = new ArrayList(); // BSSVDBWhereField[] whereFields = new BSSVDBWhereField[5]; // Include workflow type String workflowType = internalVO.getF560205_Z56WFTP(); String workflowLevel = internalVO.getF560205_SLCUSTFN(); if (workflowType != null && workflowLevel != null) { whereFields.add( new BSSVDBWhereField( null, new BSSVDBField("F560205.Z56WFTP"), IDBService.EQUALS, workflowType)); whereFields.add( new BSSVDBWhereField( IDBService.AND, new BSSVDBField("F560205.SLCUSTFN"), IDBService.EQUALS, workflowLevel)); processFlag = true; } else return null; // include workflow branch if present String workflowBranch = internalVO.getF560205_MCU(); if (workflowBranch != null) { whereFields.add( new BSSVDBWhereField( IDBService.AND, new BSSVDBField("F560205.MCU"), IDBService.EQUALS, workflowBranch)); processFlag = true; } // include alternate key 1 if present String altKey1 = internalVO.getF560205_ALKY(); if (altKey1 != null) { whereFields.add( new BSSVDBWhereField( IDBService.AND, new BSSVDBField("F560205.ALKY"), IDBService.EQUALS, altKey1)); processFlag = true; } // include alternate key 2 if present String altKey2 = internalVO.getF560205_ALKY1(); if (altKey2 != null) { whereFields.add( new BSSVDBWhereField( IDBService.AND, new BSSVDBField("F560205.ALKY1"), IDBService.EQUALS, altKey2)); processFlag = true; } // include alternate key 3 if present String altKey3 = internalVO.getF560205_Z56ALKY3(); if (altKey3 != null) { whereFields.add( new BSSVDBWhereField( IDBService.AND, new BSSVDBField("F560205.Z56ALKY3"), IDBService.EQUALS, altKey3)); processFlag = true; } // include alternate key 4 if present String altKey4 = internalVO.getF560205_Z56ALKY4(); if (altKey4 != null) { whereFields.add( new BSSVDBWhereField( IDBService.AND, new BSSVDBField("F560205.Z56ALKY4"), IDBService.EQUALS, altKey4)); processFlag = true; } // include alternate key 5 if present String altKey5 = internalVO.getF560205_Z56ALKY5(); if (altKey5 != null) { whereFields.add( new BSSVDBWhereField( IDBService.AND, new BSSVDBField("F560205.Z56ALKY5"), IDBService.EQUALS, altKey5)); processFlag = true; } // include alternate key 6 if present String altKey6 = internalVO.getF560205_Z56ALKY6(); if (altKey6 != null) { whereFields.add( new BSSVDBWhereField( IDBService.AND, new BSSVDBField("F560205.Z56ALKY6"), IDBService.EQUALS, altKey6)); processFlag = true; } // include alternate key 7 if present String altKey7 = internalVO.getF560205_Z56ALKY7(); if (altKey7 != null) { whereFields.add( new BSSVDBWhereField( IDBService.AND, new BSSVDBField("F560205.Z56ALKY7"), IDBService.EQUALS, altKey7)); processFlag = true; } // include alternate key 8 if present String altKey8 = internalVO.getF560205_Z56ALKY8(); if (altKey8 != null) { whereFields.add( new BSSVDBWhereField( IDBService.AND, new BSSVDBField("F560205.Z56ALKY8"), IDBService.EQUALS, altKey8)); processFlag = true; } // build the where clause int size = whereFields.size(); BSSVDBWhereField[] whereArray = new BSSVDBWhereField[size]; for (int x = 0; x < size; x++) { whereArray[x] = (BSSVDBWhereField) whereFields.get(x); } BSSVDBWhereClauseBuilder whereClause = null; if (processFlag == true) { whereClause = new BSSVDBWhereClauseBuilder(context, whereArray); } return whereClause; }