Upgrading to 2023.1.8 and JobMtl.RowMod is no longer?

Hey all, beginning testing in our test environment which was upgraded from 10.4.700 to Kinetic 2023.1.8. Working on my BPMs and found one outdated. It appears that JobMtl.RowMod is no longer available??? I do need to check the state of the ttJobMtl row so I need to find a workaround at least.

Thank you,
Chris

1 Like

This is from the ABL to C# guide. Hopefully they have left Added, Updated, Changed and Deleted available.

Using RowMod
All temp tables contain a column called RowMod at the bottom of the record. This property defines if a record
has been Added, Updated, Changed, or Deleted.

In Epicor 9, RowMod = ā€œAā€, ā€œUā€, ā€œDā€ or ā€œā€ indicated the action performed against the Row.

The Epicor 10 equivalent may look as follows:
foreach (var ttAPInvHed_iterator in (from ttAPInvHed_Row in ttAPInvHed
where (string.Equals(ttAPInvHed_Row.RowMod, IceRow.ROWSTATE_ADDED, StringComparison.OrdinalIgnoreCase) || string.Equals(ttAPInvHed_Row.RowMod, IceRow.ROWSTATE_UPDATED, StringComparison.OrdinalIgnoreCase))
select ttAPInvHed_Row))

However, a better shorthand ways are available for use by utilizing the Unchanged() Added() Deleted() or Updated()
methods, for example:

foreach (var ttAPInvHed_iterator in (from ttAPInvHed_Row in ttAPInvHed
where ( ttAPInvHed_Row.Added() || ttAPInvHed_Row.Updated() )
select ttAPInvHed_Row))

The above code can even be written as:
foreach (var ttAPInvHed_iterator in (from ttAPInvHed_Row in ttAPInvHed
where ( ! ttAPInvHed_Row.Unchanged() )
select ttAPInvHed_Row))

tt tables are no longer used in method directive BPMs. You need to use the dataset instead. Replace ttJobMtl with ds.JobMtl

tt tables are still used for data directives.

1 Like