Possibly an oversight, but could be fixed easily.
I looked into the code for it, and Epicor had this line in the ProcessDirectory method:
foreach (FileInfo f in directoryInfo.EnumerateFiles(this.fileFilter, SearchOption.TopDirectoryOnly))
Change it to this, and we’re golden.
var options = new EnumerationOptions
{
MatchCasing = MatchCasing.CaseInsensitive,
RecurseSubdirectories = false
};
foreach (FileInfo f in directoryInfo.EnumerateFiles(this.fileFilter, options))
So if whoever is responsible wants to make the fix.. there it is..
In the meantime, I made a little BPM to improve the situation. ![]()
EDIT: Made a better, faster version!
The below works well, but the edit I posted works better.
Pre-Processing on Ice.BO.BpMethod.GetAvailableReferencesWithFilter
CallService<Ice.Contracts.BpMethodSvcContract>(bpm =>
{
var refs = bpm.GetAvailableReferences(referenceGroup);
result = refs.Where(x => x.Name.Contains(filter, StringComparison.OrdinalIgnoreCase)).ToList();
});
MarkCallCompleted();
Pros:
- This will bypass the paging stuff, and return all references… @josecgomez should like that

- It will also do the filtering case insensitive.
Cons
- It is a little slower.