Tabular Form Not Updating
I have an existing tabular form that has been working fine. I created a new column for and "edit" button to allow a user to edit an entry that is listed in a tabular form row. I did this so I could validate a delete action after I read that validate from a tabular form is not too reliable. I noticed after I created the edit button (which is a link to another page) that the "ApplyMRU" process isn't working. I press the "Add Row" button which gives me a new row to work with. I then press the "Submit" button. The page is submitted but when it is rendered the tabular form region is empty. I query the table but the row that I tried to insert is not there. When I created the "Edit" button (link) as a new column in the tabular for could I have broken something in the tabular form process(es)?
You are saying that you created a new colum as well. What kind of display does this Tabular Form Element has? What content are Reference Table Owner, Reference Table Name and Reference Column Name showing?
Denes Kubicek
Similar Messages
-
Hi All,
I have a table Tab1 with columns EditDate DATE, ID Number, Value Number.
It has composite primary key (EditDate, ID).
Sample values are stored as follows.
Edit Date ID Value
01-MAY-2007 01:00:00 1 0
01-MAY-2007 02:00:00 1 0
01-MAY-2007 03:00:00 1 0
01-MAY-2007 04:00:00 1 0
I created a Tabular Form with Update Only. Everything is default created by APEX wizard. When I update value field and click Submit I get the following error message. Also, Why my primary key is showing in the update statement? I thought it should be a part of where condition.
Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20001: ORA-20001: Current version of data in database has changed since user initiated update process. current checksum = "8395BC1EF2E94441B2921CD18505810C", item checksum = "F6C92BBA1B8ACD35D0BCCF59FC4B9785"., update "Tab1" set "EditDate" = :b1, "ID" = :b2, "Value" = :b3
Any help is greatly appreciated.
ThanksAlso, How can I make sure that correct hour ending is updated?
Any example is greatly appreciated.. -
Bug in Tabular form Not Exist Validation, fails when creating multiple rows
Hi,
I have a Not Exist validation created for a Tabular form:
select 1 from my_table where col1 = :col1 and col2 = :col2Execution State: For created and Modified Rows
which is working fine when a row already there in DB
and I am trying to enter a new row with same data.
but when there's no data and I enter two rows with same data, validation does not fire, first row should allowed to enter
but for second row it should give error that data already exists, which is not happening.
for example,
let's say I have a row in DB with: 1, 2, 3
when I try to add a new row with same data ie. 1, 2, 3 validation fires and showing error, which is fine.
but let's say there's no data in DB and I am entering two rows with:
1, 2, 3
1, 2, 3
validation is not working this time, it is allowing to enter both the rows.
do I need to create a manual validation for this or what?
Apex 4.1.1.00.23
Regards,
Tauceef
Edited by: Tauceef on Dec 6, 2012 10:09 AM
Edited by: Tauceef on Dec 6, 2012 11:22 AM
Edited by: Tauceef on Dec 6, 2012 11:27 AMHello Tauceef,
>> Now I got it, I was under impression that it will validate one by one row before insertion,
>> but it's going to check all the rows first, then do the insertion.
Just to clear things up, the APEX engine works exactly as you describe, but this is your problem.
The APEX engine do check\validate all the rows first, one row at a time, and only if all the rows pass validation, the DML processes kick in. The DML processes work on the entire Tabular Form record set (per page view, of course).
In order for your type of validation to work (the one that queries the database), as you want it, the validation and DML actions have to run together, row by row. This is not how things work, because it’s less efficient/optimal, and may lead to a situation where a certain row can fail validation, but other row(s) already been inserted/updated/deleted into/from the database. This could be a very tricky situation.
Vikram has suggested to rely on a database constraint, and control the APEX error message. This is possible, although I’m not sure that in this case, the Tabular Form will retain all the user changes, in case of validation error. You should check it.
Another option, which Marc hinted on, is to manipulate the G_Fxx arrays. In your case, you should loop through the new rows, compute their MD5, and make sure that all the rows have different MD5 values. This is on top of the current validation, which makes sure that the new rows do not already exist in the database.
Regards,
Arie.
♦ 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 -
Refresh page but SAVE USER INPUT in tabular form WITHOUT UPDATE
Hi,
When there is a tabular form in the page and user refreshes it (in anyway) tabular form's elements are always computed with values from the table in db. Can we somehow save user input in fields so that after refreshing page user will see what he/she has typed but not submitted to db?
Regards,
TomHello Andy,
Let me introduce you to the problem.
There is a tabular form based on a source table. User modifies the data and after he/she clicks Submit button the validation procedure is being run before MRU. If the result of validation is positive then MRU is run otherwise data should not be submitted to db and user should be informed about the result. Moreover, he/she should see the invalid data in fields. Not the correct one from db.
Is there any way to save a session state of these fields or of a whole tabular form? I cannot save the data in other table in db.
User cannot click 'Add row' several times in my app because after he clicks it once then the button disappears and appears again only when he/she clicks 'Submit' first (so after validation procedure).
Maybe there is some way to store fields' values in memory and then compute the form when page is loading again?
Imagine the situation that there are 100 rows in tabular form and user modifies it for one hour, clicks Submit, validation result is negative and his/her whole one hour work is lost, because the form has been refreshed according to what is stored in db. Such situation should never occur.
Regards,
Tom -
Web form not updating database with stored procedure
Hello
i have a problem with the web form updating the database i have a stored procedure which i need to connect to. If i execute the procedure in the SQL it will update the database but when i run the web form i get my catch error "could not update database".
I have read so much on the net and my code seem ok but i,m just so lost.
stored procedure
PROCEDURE [dbo].[UpdateCustomer]
@ID INT,
@Firstname VARCHAR(30),
@Surname VARCHAR(30),
@Age INT
AS
BEGIN
UPDATE Customer
SET Firstname = @Firstname,
Surname = @Surname,
Age = @Age
WHERE CustID = @ID
END
update code
try
SqlCommand command = new SqlCommand();
command.Connection = conn;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "UpdateCustomer";
command.Connection.Open();
SqlParameter param = new SqlParameter();
param.ParameterName = "@ID";
param.SqlDbType = SqlDbType.Int;
param.Direction = ParameterDirection.Input;
param.Value = txtCustID.Text;
command.Parameters.Add(param);
command.Parameters.AddWithValue("@CustID", txtCustID.Text.ToString());
command.Parameters.AddWithValue("@Firstname", txtFirstname.Text);
command.Parameters.AddWithValue("@Surname", txtSurname.Text);
command.Parameters.AddWithValue("@Gender", Gender.Text.ToString());
command.Parameters.AddWithValue("@Age" ,txtAge.Text.ToString());
command.Parameters.AddWithValue("@Address1", txtAddress1.Text.ToString());
command.Parameters.AddWithValue("@Address2", txtAddress2.Text.ToString());
command.Parameters.AddWithValue("@City", txtCity.Text.ToString());
command.Parameters.AddWithValue("@Phone", txtPhone.Text.ToString());
command.Parameters.AddWithValue("@Mobile", txtMobile.Text.ToString());
command.Parameters.AddWithValue("@Email", txtEmail.Text.ToString());
command.ExecuteNonQuery();
lblMessage.Text = "Your Record(s) Have been Updated";
command.Connection.Close();
catch
lblMessage.Text = "Your Record was not updated please try again";
Thank you for your helpTo expand on Mike's advice.
Change your catch to:
catch(Exception ex)
{ // Break point here
lblMessage.Text = "Your Record was not updated please try again";
Put a break point in where the comment says.
Run it.
Hover over ex or add a quickwatch ( right click it ) and see what the error and inner exception is.
I see several problems though.
You have way too many parameters and Age should be int.
They are objects - they have a type.
It'll be a string with your code there.
Something more like
command.Parameters.Add("@Age", SqlDbType.Int);
command.Parameters["@Age"].Value = Convert.ToInt32(txtAge.Text);
Although that might not cut and paste, it's air code intended to give you the idea.
Hope that helps.
Technet articles: Uneventful MVVM;
All my Technet Articles -
Date Picker on Manual Tabular form not working on 4.1 upgrade from 4.0
Hi
my application is upgrade from Apex 4.0 to 4.1 .
Oracle DB is 11g.
I have a manual tabular form with a date field:- apex_item.text(12,null,15,15,'class="datepicker3"') as end_date, After upgrade to 4.1 it's not working .
I changed the code to:- apex_item.date_popup2(12,null,15,15) as end_date, still not working .
I have to use apex_item.date_popup2 .
Thanks in advance !!!
-AmuHi Diana,
Is this you are trying to achieve:
piepdate = startdate + typeduration
The id attribute of the items in normal or APEX_ITEM based tabular form are of the type:
fxx_xxxx
For example: f10_0001, f10_0002, ..., f10_0010.
So, correct the vRow variable accordingly
>
// get row
var vRow = pThis.id.substr(pThis.id.indexOf('_')+1);
>
Hope it helps!
Regards,
Kiran -
PK Columns in Tabular Form not able to hide
Hello everyone,
I'm running Apex 2.0 on 10.2.0.1 Standard Edition. When I create a tabular form on a table with a primary and secondary key, the primary and secondary key columns appear in the actual tabular form, despite the "show" checkbox being unchecked in the "report attributes" page. Is this a bug? or am I missing something? thanks for your help.
- kenny r.The wizard creates additional display-only columns with the alias PK_DISPLAY. Try unchecking the Show checkbox on that column as well.
-
I have a tabular form and I'm setting one of the fields to a Popup Key LOV (named LOV). The named LOV is a static LOV. When the popup is displayed there are no values displayed. The same thing happens if I use a Popup LOV (named LOV).
I created a sample application http://apex.oracle.com/pls/apex/f?p=15762:1that shows what happens. When the job field popup is selected, no items are displayed. If I change the item to a Select List (named LOV) it works fine.
Is this a bug?Hi
I am also getting the same issue. Hope it could be a bug.
Can anyone plz confirm this?
Thanks
Lakshmi -
Forms not updating field lengths
All,
I've been changing field lengths in forms all day in OIM 9.1, and it never updates the actual column lengths when the form is activated. I've reverted to directly updating the column sizes in the database to get things working. Am I missing something here, or are field length changes in OIM completely useless?
SWe faced recently a similiar problem, but regarding export/import operations.
We changed the forms in our dev environment, and sizes updated correctly in the database. But when exporting and importing the forms into the QA environment, although field size in the form definition was updated, the field size in the database table didn't.
The workaround we found was to manually change field sizes in the form definition.
Hope this help! -
How to Multi Row Update function in Manual Tabular Form
Hi All,
In my application I am using manual tabular form, for Update and insert i have written pl/sql process,
but i want to make use of MULTI_ROW_UPDATE function for update and insert operations.
How can I implement default tabular form behaviour in manual tabular form.
I am using:
Oracle Database 11g
ApEx Version 4.0
please help me, it's urgent.
thanks
MRHi Joao,
First Can u pl let us know your view is based on how many
tables?
If it is a simple view ,you can open the form in update mode
passing a parameter to it thru a procedure or thru a url or what
ever you feel like(form to form,etc)..I will give you an example
on how to open the form in update mode like below..
1.develop a form based on a simple view
2.Call that form Thru a simple URL
3.In the above you are opening a form with module id
ex:1234567890 in update mode and change portal30 to suit
accordingly..
4.You are passing a parameter called "ABCDEF" TO "NAME" Field to
that form for querrying..
5.Now the form will be opened in update mode and all the fields
are pertaining to the parameter "ABCDEF" and you can update the
fields....
II..Now regarding the check boxes i need to know which version
of the portal are u using..As for as my knowledge goes (up to
3.0.6) there are lot of bugs with the check boxes and check box
checked value is always "yes"(if u want to insert in to the data
base).So try not to depend on checkboxes and instead Combo is
the right answer till oracle portal is free of bugs.
No triggers are required for your requirement....
Hope i have answered your problem ...If any please revert back
with full details
Thanks
Vishnu Singireddy -
Tabular form number validtion is not working
Hi,
I have an tabular form with updatable columns which has datatype as number. i have created the in built tabular form validation "Item/value specified is numeric" for this updatable columns.
when i entered any non numeric character like "asdasd" into this updatable columns. it shows me plsql error. PL/SQL: numeric or value error: character to number conversion error.
can you please help me on this?
Regards,
NileshHi,
If you enter "asdasd" and get PL/SQL: numeric or value error: character to number conversion error , it only implies the right thing is happening.
Maybe what you are alluding to is that the messages is not the way you want it. It should perhaps be "<column_name> must be numeric."
What do you have in the Error Message item of this process? If is it null you are likely to get the message of the type you are getting.
Did you by any chance try to change the default error message, which reads "#COLUMN_HEADER# must be numeric."?
Regards, -
Apex_Item.radiogroup in a Tabular Form (Update Only, no Insert)
Hi,
I'd like to use a radiogroup on a tabular Form. The Form will modify only existing records.
I've seen some more elaborate examples for Tab Forms that allow Insert.
But I am trying to use the APEX_Item.radiogroup function for an example like:
"Select Chairperson_Name, Approve_Status FROM Chairperson_Approval"
The Approve_Status column can be 'A' for Accept, or 'R' for Reject, and is the only updateable column in the Tabular Form.
So I should be able to create a Tabular Form (for Update Only) on the table Chairperson_Approval with the wizard.
Then I want to be able to go into the Source and change the SELECT statement to something like:
"Select Chairperson_Name, APEX_Item.radiogroup(1,approve_status,.....) FROM Chairperson_Approval"
and then let the automatic APEX processing (generated by the wizard) do the rest. Right? Can
anybody give me an exact example for APEX_Item.radiogroup. My documentation is not clear enough on this function.
Thank you very much, in advance.
CarolHi Andy,
Why do you get & set TEST attribute of the radiobutton?
What is a TEST attribute?
getAttribute("TEST") == 'Y')
setAttribute("TEST","Y");So I was thinking I should incorporate this toggle me function with my radiobutton and have the following inside the toggleMe function.
$x(''P24_SECONDARY_TASK'').value=' || ad.task_id || '"')
{code}
Am I right?
Cheers
-Joel -
Tabular Form update,delete
Hi,
I am using database 11G, on windows XP with apex 3.0. I have created a tabular form with update & delete buttons. The table is a detail table having foreign key columns. On creation of form I choose foreign key column as primary key. The problem is when i check one row for delete the rows having same id on foreign key column are also deleted. Second When I update the following error is reported & no column is updated,
Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20001: ORA-20001: Current version of data in database has changed since user initiated update process. current checksum = "197D508D2444826DA98FC1E3D259EA31", item checksum = "F98E67DE7FF4EC9710E5A1B052E38C78"., update "HT"."INTRA_ORAL_EXAM" set "OPD#" = :b1, "TOOTH#" = :b2, "RESTORATION" = :b3, "DENETAL_DECAY" = :b4, "XRAY" = :b5, "SYMTOM" = :b6
Error Unable to process update.
need help
SajjadHi,
OK - that makes it a bit more complicated as you can not add a primary key to a table that contains data. This means that we will have to copy the data into a temporary table first.
Assume that you have a table called C_TABLE that is defined as:
CREATE TABLE C_TABLE
FIELD1 NUMBER,
FIELD2 NUMBER
)These are the steps that you need to do (each of these bits of code run be run separately):
Firstly, copy the data into a new table:
CREATE TABLE C_TABLE_COPY
AS
SELECT FIELD1, FIELD2
FROM C_TABLECheck that the table has been created:
SELECT * FROM C_TABLE_COPYThen drop the existing table:
DROP TABLE C_TABLECreate C_TABLE with a new Primary Key column:
CREATE TABLE C_TABLE
C_ID NUMBER,
FIELD1 NUMBER,
FIELD2 NUMBER,
CONSTRAINT "C_TABLE_PK" PRIMARY KEY (C_ID)
)Create a new SEQUENCE object to provide the primary key with values:
CREATE SEQUENCE "C_ID_SEQ" MINVALUE 1 MAXVALUE 99999999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLECreate a new TRIGGER object to populate the primary keys with new SEQUENCE numbers when new records are added to C_TABLE:
CREATE OR REPLACE TRIGGER "C_TABLE_BI"
BEFORE
INSERT ON C_TABLE
FOR EACH ROW
DECLARE
v_id NUMBER;
BEGIN
BEGIN
IF :NEW.C_ID IS NULL THEN
SELECT C_ID_SEQ.nextval INTO v_id FROM dual;
:NEW.C_ID := v_id;
END IF;
END;
END;Enable the trigger:
ALTER TRIGGER "C_TABLE_BI" ENABLECopy the data back into the table:
INSERT INTO C_TABLE (FIELD1, FIELD2)
SELECT FIELD1, FIELD2
FROM C_TABLE_COPYCheck the new table has primary keys:
SELECT * FROM C_TABLEAndy -
Ora -20001 error coming while updating from a tabular form
Hi
I have a tabular form , which updates a table in the database.
Whenever I update the record first time I getting an error as
Error in MRU internal routine ORA-20001.Error in MRU:row=1,
ORA-1403 no_data_found, update abc.sale_forcast_temp set "PK_ID"=:b1,"W27"=:b2
Error unable to update process
But when I press Ok return to the form and then again try to update , records gets successfully updated
Regards
ShashiKamal,
This will be the pseudocode.
Procedure A()
select * from EMP bulk collect into records_array; --Of type RECORD_ARRAY
batch_count = (records_array.length) / batch_size;
--batch_size is say 5000 rows and batch_count is the number of batches
for i in 1..(batch_count+1)
B( records_array);
C();
commit;
Procedure B(records_array in RECORD_ARRAY )
INSERT /*+PARALLEL(EMP_DUMMY, 2) */
INTO TABLE EMP_DUMMY
SELECT * from TABLE(CAST(records_array as RECORD_ARRAY) ;
Procedure C()
Other operations which include reads on the EMP_DUMMY table;
This is the top view of how it looks like. Actually the Select statement for the insert statement is very complex and I do a join on the records that are being passed in by casting it into a table. This query is taking about 40 minutes for 10,000 rows in the records_array. I need to parellelise this query because each row of the records_array yields a different row for the EMP_DUMMY table.
I hope that I made it clear for you.
Can you also tell me if procedure C in which I shall be doing a read on the EMP_DUMMY table, has any affect of the parallel insert
Thanks for your help. -
Tabular Form - new row at top not working
I'm trying to add a new row to the top of a tabular form (not manual) vs the bottom using Denes example - http://apex.oracle.com/pls/otn/f?p=31517:215 but it's not working. I absolutely need the records to sort on the date and time, but when I add a hidden column and sort it in descending order, then sort the date and time both in descending order, it doesn't sort correctly. I tried using the primary key field of the table as the hidden column, sorting nulls first, but the new record opens at the bottom (If I have "sorting nulls first" selected and at the time a new row is added the primary key field is null, why doesn't the new row open at the top?). I added a new field (date field with timestamp) to the query, then deselected "show" in the column attributes...that didn't work. I then selected "show", and changed the tabular form element display as to "Hidden", but then I got an error when I clicked "Add New", and I also added a column to my query via apex_item.hidden but no luck there either. What's the best way to go about this, but still maintain the date and time sort?
Thank you,
TammyWe did that. It didn't resolve it...
Also, I compared the images directory from the complete apex 4.1.1. installation and compared it to patch 13331096 (latest 4.1.1 patch). They are identical.
Any other ideas I can try out?
Maybe you are looking for
-
Any ideas on how to save a download to a document folder? I have tried to "save as" and "move to" documents from the desktop, but the same message appears. Please help!
-
Hi guys when i created this constructor, it keep throwing back this error whcih i don't understand. public interface MyNumber { // data defination private int wholenumber = 0; private float fraction = 0; // constructor public MyNumber(int w
-
Sending a keypress of just Left Shift
I have an application that I need to send xx number of presses of either the Left Shift or the Left Mouse button to. No other keys or combinations, just an arbitrary number of presses of either of those, and then released before sending it again. For
-
What happened to my graphics?
Some of the graphics used in Java Studio Web Reports have disappeared from my laptop. I was using Java Studio to reverse-engineer projects and create UML diagrams. For a month, everything worked fine. Now when I create a Web Report, the Sun logo is m
-
I would like to watch our new puppy from work
I would like to watch our new puppy from work (webcam or App). Anybody have the best way to do this?