
DatabaseController databaseController = rcd.getDatabaseController();
Tables tables = databaseController.getDatabase().getTables();
ITable customerTable = tables.findTableByAlias("Customer");
Fields<IField> fields = customerTable.getDataFields();
IField regionField = fields.findField("{Customer.Region}", FieldDisplayNameType.formulaName, java.util.Locale.US);
IField countryField = fields.findField("{Customer.Country}", FieldDisplayNameType.formulaName, java.util.Locale.US);IFieldRangeFilterItem regionFieldFilterItem = new FieldRangeFilterItem();
regionFieldFilterItem.setRangeField(regionField);
regionFieldFilterItem.setOperation(SelectionOperation.equal);
Values regionValues = new Values();
IConstantValue regionValue = new ConstantValue();
regionValue.setValue("CA");
regionValues.add(regionValue);regionFieldFilterItem.setValues(regionValues);
IFieldRangeFilterItem countryFieldFilterItem = new FieldRangeFilterItem();
countryFieldFilterItem.setRangeField(countryField);
countryFieldFilterItem.setOperation(SelectionOperation.equal);
Values countryValues = new Values();
IConstantValue countryValue = new ConstantValue();
countryValue.setValue("USA");
countryValues.add(countryValue);
countryFieldFilterItem.setValues(countryValues);IOperatorFilterItem operatorFilterItem = new OperatorFilterItem();
operatorFilterItem.setOperator("AND");FilterItems filterItems = new FilterItems(); filterItems.add(regionFieldFilterItem); filterItems.add(operatorFilterItem); filterItems.add(countryFieldFilterItem);
Filter newRecordFilter = new Filter();
newRecordFilter.setName("Region and Country record selection filter");newRecordFilter.setFilterItems(filterItems);
DataDefController dataDefController = rcd.getDataDefController();
FilterController recordFilterController = dataDefController.getRecordFilterController();
recordFilterController.modify(newRecordFilter);
void createNewRecordFilter (ReportClientDocument rcd) throws ReportSDKException
{
DatabaseController databaseController = rcd.getDatabaseController();
Tables tables = databaseController.getDatabase().getTables();
ITable customerTable = tables.findTableByAlias("Customer");
Fields<IField> fields = customerTable.getDataFields();
IField regionField = fields.findField("{Customer.Region}", FieldDisplayNameType.formulaName, java.util.Locale.US);
IField countryField = fields.findField("{Customer.Country}", FieldDisplayNameType.formulaName, java.util.Locale.US);
IFieldRangeFilterItem regionFieldFilterItem = new FieldRangeFilterItem();
regionFieldFilterItem.setRangeField(regionField);
regionFieldFilterItem.setOperation(SelectionOperation.equal);
Values regionValues = new Values();
IConstantValue regionValue = new ConstantValue();
regionValue.setValue("CA");
regionValues.add(regionValue);
regionFieldFilterItem.setValues(regionValues);
IFieldRangeFilterItem countryFieldFilterItem = new FieldRangeFilterItem();
countryFieldFilterItem.setRangeField(countryField);
countryFieldFilterItem.setOperation(SelectionOperation.equal);
Values countryValues = new Values();
IConstantValue countryValue = new ConstantValue();
countryValue.setValue("USA");
countryValues.add(countryValue);
countryFieldFilterItem.setValues(countryValues);
IOperatorFilterItem operatorFilterItem = new OperatorFilterItem();
operatorFilterItem.setOperator("AND");
FilterItems filterItems = new FilterItems();
filterItems.add(regionFieldFilterItem);
filterItems.add(operatorFilterItem);
filterItems.add(countryFieldFilterItem);
Filter newRecordFilter = new Filter();
newRecordFilter.setName("Region and Country record selection filter");
newRecordFilter.setFilterItems(filterItems);
DataDefController dataDefController = rcd.getDataDefController();
FilterController recordFilterController = dataDefController.getRecordFilterController();
recordFilterController.modify(newRecordFilter);
}