Good Day all
We upgraded to APEX 4.1 last night, and since then a manually created tabular form cannot be updated anymore.
The query used to create the tabular form is:
decode(task_type,'Logging', apex_item.text(2,DAY_01,7), apex_item.hidden(2,DAY_01,7)) DAY_01,
decode(task_type,'Logging', apex_item.text(3,DAY_02,7), apex_item.hidden(3,DAY_02,7)) DAY_02,
decode(task_type,'Logging', apex_item.text(4,DAY_03,7), apex_item.hidden(4,DAY_03,7)) DAY_03,
decode(task_type,'Logging', apex_item.text(5,DAY_04,7), apex_item.hidden(5,DAY_04,7)) DAY_04,
decode(task_type,'Logging', apex_item.text(6,DAY_05,7), apex_item.hidden(6,DAY_05,7)) DAY_05,
decode(task_type,'Logging', apex_item.text(7,DAY_06,7), apex_item.hidden(7,DAY_06,7)) DAY_06,
decode(task_type,'Logging', apex_item.text(8,DAY_07,7), apex_item.hidden(8,DAY_07,7)) DAY_07,
||decode(task_type,'Logging', NULL,'</b>') task_name,
where FK_TIMESHEET = :P7_PK_TIMESHEET
and fk_task in (select pk_project_tasks
where fk_agreement_project = nvl(:P7_PK_PROJECT,fk_agreement_project))
order by pk_timesheet_line
The table is displayed, and when the apply changes button is pressed, a PL/SQL anonymous block executes, with the following code:
The error received is:
No Data Found
Error processing Multi Row Update
This worked fine in APEX 4.0, and was still in use yesterday, before the upgrade.
I expect this might have something to do with a change in column order, as a result of the new feature with primary keys in tabular forms. I however cannot find any guidance on how the syntax should look now.
Any help will be appreciated.
any chance to create a simplified test case on apex.oracle.com?
My Blog: http://www.inside-oracle-apex.com
APEX Plug-Ins: http://apex.oracle.com/plugins
I re-created the problem on apex.oracle.com.
The application is called BUG MRU
To reproduce the problem, enter a numeric value in any of the fields. Click on the SAVE TIMESHEET button. The error will be produced.
Thank you kindly for your assistance.
You will have to get an official confirmation from Patrick, but as far as I can tell, the problem is with you using a manually created Tabular Form with the APEX_ITEM.MULTI_ROW_UPDATE procedure.
This procedure was taken out from documentation since APEX 3.2, and I believe that only now we can see the reason.
As far as I understand it, with APEX 4.1, the MRU process is using the “new” hidden column FCUD. Although the column was there in the 4.0 version, only in 4.1 it was fully utilized. Unfortunately, this column doesn’t have a matching APEX_ITEM API, so it can’t be used in a manually created Tabular Form as in your case.
Maybe I’m wrong and Patrick will come with a solution for your situation, but I believe that you will have to devise your own MRU code.
BTW, it was I who played in your workspace and created a copy of page 1. I just wanted to eliminate some other known possible reasons (for example, you have used the original schema owner name and not the one in apex.oracle.com). I left your original page 1 intact for Patrick.
♦ Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
♦ Author of Oracle Application Express 3.2 – The Essentials and More
I also have exactly the same issue, all was working fine then one day : Error processing Multi Row Update process. ORA-01403: no data found
Any update/workaround on this case? Thank you in advance !