Apps query can not access original row

Background
We make use of VDTs to display data which expresses a specific state of the customer process. The user can see the state in Apps. The user can also manipulate the state via edits to a front end table.
The queries became quite complicated over the time.
Underlying business problem
Now we want to show the user an aggregate over a set of values of this process state.
Technical background
To retrieve an aggregate over the specific dimension and keep the rest of the query clean, i introduced grouping sets to the VDT.
Example usage

SELECT 
 SUM(k.values) as value_sum,
 GROUPING(k.second_group) as group_two,
 MIN(k."__ROW_ID__") AS "__ROW_ID__",
 k.thread as thread,
 COALESCE(k.second_group, 'thread_sum') AS second_group,
 MIN(k.values) as values,
MAX(k.timex) as timex,
 MAX(k.valuesy2) as valuesy2
 FROM 
(  SELECT 
 	i.*,
  	CASE WHEN (i.values>0) THEN  'h'   ELSE 'c'  END as second_group
  FROM inputTable i
 ) as k
GROUP BY 
GROUPING SETS (
(k.thread, k.second_group), (k.thread)
)

Problem
Since i introduced the grouping sets functionality i can observe the following Error:

Error: Failed to expand the changed rows: Could not expand rows as there are no rows with the following row IDs in the original FRT:

The error is thrown when i want to edit two rows at the some same. If i edit the rows sequentially the Apps do not throw any error. The following screen displays the error:


The left shows the console with the error and the network tab with the request. Here i can see the row ids which are involved. Strangely enough the to-be-manipulated table does hold the rows, as indicated on the right.

Appendix
I was not able to reproduce the error in an example app with a small data set of data and a less complicated VDT.

Question
Does anyone experienced this problem? Does anyone have a solution to this problem?

Update
The Error is independent of the function

grouping sets

I i use the equivalent of an union over two group by’s:

[...]
group by x, y,z
union
[...]
group by x,y

the error persists.

1 Like

Hi,

I unfortunately don’t have a solution for this, but want to explain what is happening here.
If you only have a subset of a data tables schema in your table, row expansion will transform the edited rows to the full schema. It does that by fetching and adding values of updated/deleted rows from ONE DATA Core. In your scenario the Apps Server recognizes that not all columns are present in the updated rows and fetches the original rows from ONE DATA Core. But the row with ID 0091729c-... can’t be fetched for some reason.
A possible reason could be that it can’t be found by string matching. Maybe check your VDT definition for the type that the __ROW_ID__ column has and if you can filter it for the respective ID.

Bests,

Matthias

2 Likes