FRM-40405: No change to apply. Error Alert.
The first time a detail is updated this message does not display.
The second time a detail is updated, this message displays when the form_commit (or COMMIT) trigger fires.
The alert fires even when a new master record with new details has been queried.
A form level or block level ON-ERROR trigger does NOT intercept this alert. It does intercept other errors like navigation past the first record error or the out of range error.
Where is this error generated? Is it caused because we are using a ref-cursor stored procedure?
That message is issued as a result of a Post; command, not a commit.
Look for a stray post command in your form.
And it can ONLY be handled by an on-error trigger. Please post the code in your on-error trigger.
Also, do not create an On-Error trigger at the block level. (That may be why your trigger is not intercepting it.) From the Forms On-line help:
In most cases, On-Error triggers should be attached to the form, rather than to a block or item. Trapping certain errors at the block or item level can be difficult if these errors occur while Form Builder is performing internal navigation, such as during a Commit process.
Similar Messages
-
FRM-40405 (No Changes to apply)
When i open a form through menu and save record i am getting the message 'FRM-40405 No changes to apply'.
I am not geeting the error while running the form independently i.e not calling through menu. commit_form built is used in key-commit trigger.
I am using OAS 4.0.8 and Forms 6i with Patch 1.I think in this case, you issued a commit without actually changing any data, so the commit was not necessary. Many Times I had to do this and did not want to see this error.
What you can do to overcome this is to create a forms 'on error' trigger. Then trap the error like follows -
DECLARE
errnum NUMBER := ERROR_CODE;
errtxt VARCHAR2(80) := ERROR_TEXT;
errtyp VARCHAR2(3) := ERROR_TYPE;
BEGIN
IF errnum = 40301 THEN
Message('Your search criteria identified no matches... Try Again.');
ELSIF errnum = 40350 THEN /* no records found */
null;
ELSIF errnum = 41026 THEN /* FIELD OUTPUITING*/
Message('This field is calculated');
ELSif errnum=40401 then /* double commit somewhere */
null;
ELSif errnum=40505 then /* double commit somewhere */
null;
ELSif errnum=41050 then /* Record has been saved already */
null;
ELSIF errnum=41008 then /* Undefined Keys */
null;
ELSIF errnum=40100 then /* beyond first record */
null;
ELSIF errnum=40200 then /* field protected against update */
null;
ELSIF errnum=40352 then /* beyond last record */
endif; -
FRM-40405, No Changes To Apply Message
Environment : Forms 9i, Web, 9iAS
Whenever a transaction is made, The "No changes to Apply" message is get displayed and then the transaction is applied and saved message appears.
How can i get ride to the First message?
ON-ERROR trigger containss the following code
if error_type = 'FRM' and error_code = 40405 then
null;
else
message(error_code ||':'||error_text,no_acknowledge);
end if;
Eben then, No change to Apply message Appears.This is happening for all the Forms in our Application Just a guess...
Sounds like you are running your forms from a "master form" using OPEN_FORM(form_name, ACTIVATE, NO_SESSION); This will do the commit on both the called form and the calling form (and that's where the FRM-40405 comes from). You can use OPEN_FORM(form_name, ACTIVATE, SESSION); but this will create a new session for each form being called.
Try the CALL_FORM built-in instead.
Hope this helps (if my guess is wrong, forget it:)
Gerald Krieger -
How to supress FRM:40405 no changes to save
Guy,
How do I supress the forms runtime message
FRM:40405 no changes to save, I get this message when ever I press the save button irrespective of whether the records are inserted or changed .I agree that you shouldn't cover up potential problems. I didn't mean to suggest that. I think there can be valid reasons for suppressing messages sometimes.
For example, I've used :SYSTEM.MESSAGE_LEVEL := '5'; before to suppress FRM-40401 or FRM-40405 - can't remember which one, it's been a while. In my case I was using exec_sql in forms to retrieve data from a DB2 table and insert it into an Oracle table. In this case forms didn't recognize that work was actually being done and would give the FRM-40401 or 40405 error at the end of the process, even though the records had been successfully inserted. -
Supressing FRM:40405 no changes to save
Guy,
How do I supress the forms runtime message
FRM:40405 no changes to save, I get this message when ever I press the save button irrespective of whether the records are inserted or changed .Abdetu wrote:
Thanks Tony for reply,
I tried this in the ON-Error
IF ERROR_TYPE = 'FRM' AND ERROR_CODE = 40405 THEN NULL;
ELSE
alert_message := message_type||'-'|| To_Char(error_code) || ': ' || error_text;
BEGIN
select msg_desc
into alert_message
from cde_message
where msg_code = temp1;
EXCEPTION
WHEN OTHERS THEN NULL;
END;
END IF;
Regards,
Abdetu..Using WHEN OTHERS THEN NULL is a huge bug in your code.
If you even gonna use when others, you always use it with RAISE FORM_TRIGGER_FAILURE, other than that you're not displaying the error messages for the rest of the errors and you're not raising FORM_TRIGGER_FAILURE.
Your code should look like this:
IF ERROR_TYPE = 'FRM' AND ERROR_CODE = 40405 THEN NULL;
ELSE
MESSAGE(ERROR_TYPE||'-'||ERROR_CODE||': '||ERROR_TEXT);
RAISE FORM_TRIGGER_FAILURE;
END IF;Tony -
Dear friends,
I'm using a button to do a commit_form, i have 3 blocks (2 database blocks, 1 non database block).
when ever i push the button for the first time it commits the form without any messages, but after that it always shows (FRM-40400 No changes to apply).
i used :system.message_level like following:
N:= :SYSTEM.MESSAGE_LEVEL;
:SYSTEM.MESSAGE_LEVEL := 0;
COMMIT_FORM;
CLEAR_FORM(NO_VALIDATE);
:SYSTEM.MESSAGE_LEVEL := N;
but the message still appears after 1st push for the button.
can any one help me on this issue.
Please note that this issue happens only if i open the form using open_form method, but if i use new_form it works without any messages.
Best Regards
I found the solution, if you use call_form, you will be able to set the message level as you want. without being overridden by the calling form.
Edited by: Mohammad1981 on Feb 12, 2010 1:23 PM
Edited by: Mohammad1981 on Feb 12, 2010 1:28 PMi'v found the answer after posing the question. you can find it above.
-
FRM-40401 No changes to save error
Hi,
I have updated one table from form by writing update statement on the when-button-pressed triger.This update statement is doing its job fine and the table is updated.but iam finding 'FRM-40401: No Changes to save 'message in my console . Please tell me why it is coming when changes are made into tables and wat should i do to avoid this . i have written on-error trigger on form level to suppress this message.What effect itcan have on my working.
Kindly take it on urgent basis.
regards,
rajeshUsually in Forms, you do not write SQL update statements to update your table. Instead, you create a base-table block, fetch the rows into the block, make your changes, and then commit. Forms automatic processing takes over and creates the update statements for you.
What you have done is bypassed the default automatic processing, and Forms is complaining. I would try to re-do the form and use a base-table block. -
hi guys
am using oracle 9i and when i try to save inserts on a form i get the "no changes to apply"message.i click on it a few times before it allows me to save.i kind of think it is trying to save previous forms that are still open and finding there are no saves to be made.hoow do i stop this from appearing.am doing a demo on tuesday so i thank u for ur quick replies.thanks.and again i dont want my name to appear on the list like am a prisoner or something.how do i change my name to a human one???
kenYou'll probably want to ask this in the forms forum:
Forms
You can change your name and handle fields by clicking the "Your Control Panel" link when you are logged in. -
"no changes to apply" error message
hi guys
am using oracle 9i and when i try to save inserts on a form i get the "no changes to apply"message.i click on it a few times before it allows me to save.i kind of think it is trying to save previous forms that are still open and finding there are no saves to be made.hoow do i stop this from appearing.am doing a demo on tuesday so i thank u for ur quick replies.
kenYou do not tell us how you are doing the inserts. It appears that you are not using 'normal' forms functionality and inserting via a database block. The "no changes to apply" message actually means "no changes to apply in any database blocks". It does not take into account any explicit dml code you are running from triggers. The fact that you are getting the message more than once suggests the code you have written involves more than one commit.
The previous reply will solve your problem, but if you are not using database blocks you might not be making best use of forms functionality. -
Getting error 40405 , NO CHANGES TO APPLY
SOMEHOW THE ERROR IS DISPLAYED IN MY TIGGER WHEN I DO
EXECUTE_QUERY COMMAND. SEE MY TRIGGER BELLOW.
CLEAR_BLOCK(DO_COMMIT);
GO_BLOCK('CW_ENTRIES');
EXECUTE_QUERY;
GO_BLOCK('CW_CHANGES');
EXECUTE_QUERY;
GO_BLOCK('TIME_DETAIL');
This message appeared after I have made some changes but I do
not know when. I have version that works, but it is only fmx
file.
Thanks, for any info.I think in this case, you issued a commit without actually changing any data, so the commit was not necessary. Many Times I had to do this and did not want to see this error.
What you can do to overcome this is to create a forms 'on error' trigger. Then trap the error like follows -
DECLARE
errnum NUMBER := ERROR_CODE;
errtxt VARCHAR2(80) := ERROR_TEXT;
errtyp VARCHAR2(3) := ERROR_TYPE;
BEGIN
IF errnum = 40301 THEN
Message('Your search criteria identified no matches... Try Again.');
ELSIF errnum = 40350 THEN /* no records found */
null;
ELSIF errnum = 41026 THEN /* FIELD OUTPUITING*/
Message('This field is calculated');
ELSif errnum=40401 then /* double commit somewhere */
null;
ELSif errnum=40505 then /* double commit somewhere */
null;
ELSif errnum=41050 then /* Record has been saved already */
null;
ELSIF errnum=41008 then /* Undefined Keys */
null;
ELSIF errnum=40100 then /* beyond first record */
null;
ELSIF errnum=40200 then /* field protected against update */
null;
ELSIF errnum=40352 then /* beyond last record */
endif; -
How to suppress message level on FRM-40405 ?
Dear members,
I want to hide "FRM-40405 No changes to apply". used the following
:system.message_level := 25;
commit;
:system.message_level := 5;but still the same message, where am I wrong?
regards:thanks for your reply,
here is the complete scenario,
I have a form "FORM1" from which, I am opening another form "FORM2". using the following code.
OPEN_FORM('FORM2.FMX', ACTIVATE, NO_SESSION, LIST_ID);when I open the FORM2 and update a field and press exit button it alter " do you want to save changes" on pressing 'Yes" it 2nd time show alter "FRM-40405 no changes to apply".
I want to suppress this alert.
when using open_form with SESSION it don't give any alert.
here I am confused that the alert is coming from where? from FROM1 or FORM2?
I tried all the possible techniques to suppress this alert but couldn't be able to suppress.
Regards: -
2 Problems Form Wont Run Without DataBlock / âFRM-40405â
Using Oracle8i, Form6i & Report 6i.
Requirement
1. How to run form with out DataBock
2. Avoid rising of Error âFRM-40405 No Change to Applyâ
Problem Details
Developed an index / welcome form with link of all other reports & forms.
But this form wonât open unless I include (a DataBlock or dataitems in a non-DatabaseBlock).
If I include a DataBlock it give following error:-
âFRM-40405 No Change to Applyâ when ever I open linked forms/reports and when ever I enter new record in link forms.
This error wonât stop/corrupt any process but rise on every above instance.
Wishes
JawadYou should be able to run a form without a base table block. You do need an item (can be a non base table item) to which the cursor can navigate. This can be a text item, button, etc. If you don't want the item to show on the form, make it a very small size (height and width both equal to 1).
-
After moving from forms 4.5 to 6i, I get the message "FRM-40405 No changes to apply" on PL/SQL commits. How can I get rid of the message. I have tried setting system.message level to 20 but still get the warning message.
The level of message "FRM-40405 No changes to apply" is 5, so you have to set system.message level to 5:
:System.Message_Level := '5';
Helena
null -
Error FRM-40657:Record Change or deleted by another user
Hi dears
Please HELP ME
I have a form with multiple blocks and relationship between them
I can insert in all of the blocks
but I can not update the exiting rows in ANY block in application.
I can update the rows from outside of the application
it returns me this error:
FRM-40657:Record Change or deleted by another user
the properties about insert allowed,update allowed and so on are all YES in all blocks
Would you please advise me about that?
Need your help
thanks
ShahramThis error occurs because the record as held in the Form is not the same as that held on the database. When Forms locks a record it checks the value of every database item on the Form with that currently stored in the database, and if the two are not the same it issues this error.
This can happen for a number of reasons e.g.
1. You may want to look at date fields and ensure the time component is being taken into account i.e. the LAST_MODIFIED column is stored as '01-JAN-2001 15:34:56' on the database but is stored as '01-JAN-2001 00:00:00' (a truncated date) on the Form.
2. Check to see if there are any database triggers which alter the values of columns.
You may need to go through every database item on the Form and compare it with the value on the database. Having found a discrepancy in values you need to determine why this occurs. -
Hi,
I am running a form on web environment, Forms server 6i with 9iAS on Unix. In one of the key triggers I am inserting some rows into a table and finally committing by using commit_form, Its working fine in client server environment, but when I run it on web, I am getting a message "No Changes to apply." as an alert, and then "Frm40400:Transaction complete 2 records applied and saved". I do'nt know why that "No Changes to apply" alert is coming in between, it doesnt have any error type or code and also neither on-error nor on-message trigger is firing when this message is poping up. I want to supress this message. Kindly help me..
WIth thanks in advance
nullCreate a form level trigger, ON-MESSAGE
Trap the message code, that way you can
suppress the message.
Sample ON_MESSAGE trigger:
declare
v_message_code number := message_code;
v_message_text varchar2(200) := substr(message_text,1,200);
v_message_type varchar2(3) := substr(message_type,1,3);
v_alert_button number;
begin
if v_message_code = 40400 then
Message('Record saved.');
elsif
v_message_code = 40000 then
null;
end if;
null
Maybe you are looking for
-
Save/open dialog box for FileWriter
Hi, I have a JSP action link with onclick='onClickExport', defined in an underlying class file. The 'onClickExport' method in the class creates a file: fileName = "C:\\Temp\\SaveSearchResults.csv"; File outputFile = new File(fileName); File
-
When I saved a PDF document in Acrobat Standard 6.0.6 and later opened it using Adobe Reader 8.1.2 it has stray characters (or rather little rectangles taking up the space of one text character) in different places on the page. Opening the same docum
-
Cut section of footage with audio out of timeline - HOW??
Hi I've tried to select a middle section of my timeline and cut it out and have the two sections join - how do I do this? I've tried cutting the back end and pasting over the middle section, but it will NOT overwrite the audio. Video will overwrite b
-
Trying to subtract days from a date
Im trying to subtract days from a date. When i use this query: select sysdate-:p21_DAYS_OLD from dual; it displays the correct date but not in the correct format. It is displaying 12-AUG-09 instead of 08/12/2009. I tried this query but i get the ORA-
-
System Copy based on Solution Manager 4.0
Dear All How to install System Copy based on Solution Manager 4.0 Thanks