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