Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 5535
  • Last Modified:

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
0
jaramill
Asked:
jaramill
1 Solution
 
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
0
 
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.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now