I'm working with APEX 23.1 and have difficulties when trying to refresh an IG with complicated source SQL. The example is as following:
I have two tables VALUES and NAMES in database. There might be some names that does not appear in the table VALUES. What I want is displaying those missing names as well in the IG (so that users don't have to create new row and choose name, but rather they only need to input to value if want to add that name into table VALUES). Its purpose is to reduce number of clicks requires for adding new information.
In IG, only records of one obj_id is displayed at a time and column name is set to primary key:
- If user updates the existing rows (rows with prior values) -> Update statement in processes DML
- If user updates the new rows (rows with no prior value) -> Insert statement in processes DML
- If user deletes values of the existing rows (rows with prior values) -> Delete statement in processes DML
My current situation is that I can display IG as expected and successfully update data in VALUES. However, by clicking SAVE in IG, the modified values disappear. They can only be displayed when I reload page. (from what I know, it might be due to the column used for primary key in IG. But I cannot use any other column as primary key since those temporarily added rows in yellow don't have ROWID in table VALUES)
Is there any way to fix this problem of refresh or any other approach that procudes desired outcomes?
Thanks in advance for any help.

Ok I found the reason for that. I need to submit a page item used for source sql of IG.