Form Block Status Changed After Querying

I'm running a master form and I query records.  Then I click on a button which then passes the primary ID by calling a detailed form.  If based on the primary ID (which is the foreign key to the detailed form), there are no records, then I populate certain columns with default data from the master form.

If there are records, then I just go to the block and query all the records via EXECUTE_QUERY.

Now here's the twist.  If I were to immediately exit the form, Oracle Forms prompts me "Do you want to save the changes you have made?"  Well I haven't made any changes.  Using a tool called SQL Monitor here are the statments <B>AFTER</B> Forms executes the query:

SELECT ROWID, qtr_asof, qtr,
       earned_start_date, earned_end_date,
       summary_descr, cust_value,
       amgen_value, comments, cre_user,
       cre_date, upd_user, upd_date,
       offline_req_sid, SID
  FROM pmt_offline_req_lines
 ORDER BY earned_start_date DESC;

SELECT qtr_asof, qtr,
       earned_start_date, earned_end_date,
       summary_descr, cust_value,
       amgen_value, comments, cre_user,
       cre_date, upd_user, upd_date,
       offline_req_sid, SID
  FROM pmt_offline_req_lines
 WHERE ROWID = 'AAAg1IAAFAAB6BQAAA'
   FOR UPDATE OF qtr_asof NOWAIT;

Why would Forms immediately set this block to "CHANGED" status by locking the row for update?

Thanks, I'm really stumped by this one.


Forms [32 Bit] Version 6.0.8.18.3 (Production)
Oracle8i Enterprise Edition Release 8.1.6.2.0 - Production
     With the Partitioning option
     JServer Release 8.1.6.2.0 - Production
Oracle Toolkit Version 6.0.8.18.0 (Production)
PL/SQL Version 8.0.6.3.0 (Production)
Oracle Procedure Builder V6.0.8.17.0 Build #863 - Production
PL/SQL Editor (c) WinMain Software (www.winmain.com), v1.0 (Production)


Giovanni Jaramillo
Oracle Developer Contractor
AMGEN Inc. - Sales & Marketing Information Systems
Thousand Oaks, CA  91320-1799
http://www.amgen.com
LVL 3
jaramillAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
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.

gmyersCommented:
There might be something getting automatically changed.
Given that it is only taking out a lock on one record, rather than all, I'd guess it is a when-new-record/item-instance or a navigation trigger changing something for the first record (eg :block.upd_user = get_application_property(username);).
If you run the form with debug_messages=yes (tools, preferences, run-time tab if you run from Forms Builder) it will give you an alert for each trigger that fires. It may give you an idea what could be doing the change

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
jaramillAuthor Commented:
You're right G. Myers, I had a WHEN-NEW-RECORD-INSTANCE and I didn't know that upon querying records, that trigger gets fired as well.  Of course in that trigger I was prepopulating field items like you suggested

:block.cre_user := USER;
etc....
etc...

This was driving me nuts!!

Thanks
Gio

P.S. - I'm in a good mood now...so I'll bump up the points to 500 since it was urgent.
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.