Compiling Oracle Forms against functions using the 11g Function Result Cache…

 

I came across a rather annoying little bug yesterday…

One of the guys was trying to compile an Oracle Form on the app server and got this message.

*** ASSERT at file pdw1.c, line 4061
PSDGON missing. Can't get object number
Source Location = XNSPC0P99_2013_06_12_17_44_38__AB[71, 7]

Uncle Google pointed me in the direction of this MOS Note [ID 1276725.1].

It turns out it is a problem with the 11.1.0.7 client, which happens to be the version that ships with Forms and Reports Services. The Forms compilation fails when the form references a database function that uses the Function Result Cache in 11g.

I didn’t fancy applying the patch last night, so I just commented out the RESULT CACHE clause in the packaged function, compiled the form, then put the RESULT CACHE clause back in. Job’s a good’un!

This morning I’ve followed the MOS note and applied the patch in out Dev environment and it seems to have fixed the issue.

Just so I don’t forget about this, I’ve also added a mention of it in my ever-growing Oracle Forms and Reports Services 11gR2 Configuration Notes article.

Cheers

Tim…

Update: See Gert’s comment below for his post on the subject 2.5 years ago. 🙂

Author: Tim...

DBA, Developer, Author, Trainer.

7 thoughts on “Compiling Oracle Forms against functions using the 11g Function Result Cache…”

  1. I’m new to Oracle Forms 10g.
    When I create a data block based on a table using Data Block Wizard, the block’s Query Data Source Columns property is automatically populated with column definition entries corresponding to the columns of the base table.
    I tried making changes to these entries, for example by changing the data types to wrong data types or even deleting them, and I found that those changes had no effect on the block at all. The form was still working as I wanted.
    Please explain what is exactly the role of the block’s Query Data Source Columns property.

    Thank you very much.

    p.s: The F1 key help says “The Query Data Source Columns property is valid only when the Query Data Source Type property is set to Table, Sub-query, or Procedure”. So, please explain in each context of Query Data Source Type.

  2. Tiep: I’m not a Forms guy. I just do infrastructure. If you have forms questions, you need to ask them on the OTN forums.

    Cheers

    Tim…

Comments are closed.