Form_Status changing to QUERY and FRM-40401 No changes to save.

Dear All,

I'm using Oracle Forms Builder 6i to connect to Oracle9i PE. In my

application I called an oracle form with a non database block using

CALL_FORM('CHG_PWD', HIDE, NO_REPLACE, NO_QUERY_ONLY; to change user's

password contained in an Oracle9i table.

In the form's When-New-Form-Instance

MESSAGE('SYSTEM.Message_Level=' || :SYSTEM.Message_Level || '

System.Form_Status=' || :System.Form_Status || 'System.Block_Status='

|| :System.Block_Status || 'System.Record_Status=' ||

:System.Record_Status);

giving results as follows:
SYSTEM.Message_Level=0
System.Form_Status=NEW
System.Block_Status=NEW
System.Record_Status=NEW

After input every user field in When-Button-Pressed (OK Button) after

update statement (UPDATE USER SET PASSWD = :BLK_CHG_PWD.PSSWD WHERE

USERID = :BLK_CHG_PWD.USERNAME). If I use COMMIT or COMMIT_FORM it is

giving error "FRM-40401 No changes to save"

but FORMS_DDL('COMMIT'); is working fine and

MESSAGE('SYSTEM.Message_Level=' || :SYSTEM.Message_Level || '

System.Form_Status=' || :System.Form_Status || 'System.Block_Status='

|| :System.Block_Status || 'System.Record_Status=' ||

:System.Record_Status);

giving results as follows:
SYSTEM.Message_Level=0
System.Form_Status=QUERY
System.Block_Status=QUERY
System.Record_Status=INSERT

Can please anybody help me that without using any query SQL why

Form_Status and Block_Status is 'QUERY' and why Record_Status=INSERT

it should be 'CHANGED'.

Thanks/ Rgds

RKS
raju707Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Helena Markováprogrammer-analystCommented:
This is not an error, it is information, level 5:
FRM-40401:  No changes to save.

Cause:      No records were added or modified since the last apply or save.

Action:      No action is necessary.

Since you use "UPDATE USER SET PASSWD = :BLK_CHG_PWD.PSSWD WHERE ... " instead of Forms built-in functionality you receive the Record_Status=INSERT. I think that block "BLK_CHG_PWD" is not based on a table.
See "FORMS_DDL built-in" topic in the on-line help.
0
anand_2000vCommented:
to avoid the message use
"query_only".  or set
:SYSTEM.MESSAGE_LEVEL =10 in the new-form-instance trigger.
As Henka pointed out,  it  is just an information.
0
anand_2000vCommented:
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
alexfrlCommented:
1) I have a doubt according to the message on database 'COMMIT' command. It never happens to me and I use this command it.
2) COMMIT_FORM consider the current FORM_STATUS which is query and you get absolutely correct message.
3) You probably do not neutralize the ON-LOCK trigger and FORMS gets a reflection of your updating and changes the row status only because there are no real changes on your form.

Try to neutralize your ON-LOCK trigger by the "return;" command and then use COMMIT;
or
add set_record_property(:system.cursor_record,:system.trigger_block,STATUS,QUERY_STATUS); right after your update statement and then ... use COMMIT;
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.