BPM's Insert Field Query Filters

Quick questions on the results of an inserted field query like:

There are 4 filters in the dialog for designing an field query: Added, Deleted, Updated, and Unchanged


These are all OR’d together, correct?

So if the action on the field of the table selected matches any of the selected filters, the value will be returned. In the above pict, a value will only be returned when the value of the PartNum field of the record in table ttPartTran, is not changed.
If only Added records was selected, then only the addition of a record would cause a value to be returned.

So I did a test, by inserting 4 similar field queries. All are identical except for the filter. The binary num at the beginning of each line represents which filters were enabled(1000 = Added, 0100=Deleted, …1111 All four)

Here is a Pre-Process MD: that fired after doing a Receive Job to Inventory:


Why does selecting all of the filters (line 1111) result in the value being returned twice ?

1 Like

I await the response from the people who REALLY know, but doesn’t the temporary table hold changed data twice, one row for the original and one for the new? So if something has been changed and you select “unchanged” as well as the particular option which reflects how it was changed, two rows are returned and the field gets data shown for both. Since things can never be simultaneously added/deleted/updated, two is the most you’ll ever get, though.

In my example I get:

  • only Added - blank
  • only Deleted - blank
  • only Updated - a single value
  • only unchanged - blank

But with all 4, I get a double value. Why is get a value for unchanged ONLY when Updated is selected too?

Have you tried only the combination of Updated and Unchanged without the others? From memory, that doubles up too.

As I say, I’d like to hear from those with the necessary technical knowledge, but I’d guess that “Unchanged” is only valid as the original version of something changed, and this is working as designed. Epicor assumes you’re only interested in that as a comparison with the update.

Because there is a dirty and non dirty row in there. RowMod = “” and RowMod = “U” are the likely states. Epicor will auto loop those records to show all the datas per row.