Solved

Form Block Status Changed After Querying

Posted on 2003-11-25
2
5,242 Views
Last Modified: 2013-12-12
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
Comment
Question by:jaramill
2 Comments
 
LVL 5

Accepted Solution

by:
gmyers earned 500 total points
ID: 9821909
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
 
LVL 3

Author Comment

by:jaramill
ID: 9821970
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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Subquery in Oracle: Sub queries are one of advance queries in oracle. Types of advance queries: •      Sub Queries •      Hierarchical Queries •      Set Operators Sub queries are know as the query called from another query or another subquery. It can …
How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
This video shows how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.
This video shows how to Export data from an Oracle database using the Datapump Export Utility.  The corresponding Datapump Import utility is also discussed and demonstrated.

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question