Kinetic ERP – Custom Layer on Purchase Suggestions: Added Cost Center Column but Filtering Causes

Hello community,

I am currently developing a custom layer on the Purchase Suggestions menu in Kinetic. The requirement is to display the Cost Center associated with the Requisition line, in order to make validation and analysis easier for the users.

:white_check_mark: What is already working

  • A new column was created in the suggestions grid (for example, CostCenter_c, or a similar name).
  • The Cost Center value is correctly populated by iterating through the grid (or datasource) and setting the value in the new column of the view.
  • Visually, the user can now see the Cost Center for each suggestion.

:bullseye: What I am trying to achieve

I would like users to be able to filter the suggestions by this new column (Cost Center), so they can quickly identify purchase suggestions associated with a specific Cost Center.

:cross_mark: Issue

When I attempt to apply a filter on the new column (for example, “CostCenter = XXXXXX”), the screen crashes and throws an error related to the GetRowsPlant method.

Steps to reproduce

  1. Open the PO Suggestions screen.
  2. Verify that the new Cost Center column appears with values.
  3. In the grid, attempt to filter by a specific value in that column (e.g., “contains” or “equals”).
  4. When applying the filter, the exception occurs.

Expected result
The grid should correctly filter by the added column (Cost Center) without affecting the data load/query process.

Actual result
An error occurs when applying the filter, and the exception references the GetRowsPlant method.

2 Likes

Can you describe the method used to add the CostCenter column to the grid? Also show the entire where clause in the failed request. These may help determine your issue.

Hi jbooker, thanks for replying.

The CostCenter column is added at the UI customization level, not as part of the dataset original.

The value is populated after the grid loads, by iterating through the rows:
I take the current suggestion row,extract the Requisition number/line,execute a BAQ to retrieve the Cost Center,and then set that value into the new column in the view.

Visually this works fine.

The issue occurs when filtering. When a user applies a filter on the CostCenter column, Epicor attempts to push that condition into the server-side WHERE clause for GetRowsPlant.

So the WHERE clause itself looks valid, but it doesn’t get result and the method fails and throws the exception.

Yeah so filter isn’t going to work with this method. The refresh builds a filter string using your added column name but that column doesn’t exist in the method being called so you get an error. You could try adding the column using the BPM method like so: PO Suggestions: Adding fields into landing page

but i believe the same problem remains. AFAIK, there’s no solution to this problem or if I’ve seen one on here I forget. So IIRC, there’s no good way to add columns to existing landingpage grids and keep the grid functional.

It’d be nice if it fell back to client-side filtering in this case. YOu might be able to strip that column from the filter on a pre-process bpm, but that’s not my strong suit(?)