Tips/Traps - SubForms and Processing Options

DBohner-(db)

Legendary Poster
GRRRRRR!

I was so falling in love with SubForms (actually, I still really like them!)

Recently I created a SubForm Application with click-able columns in the SubForm. When a user would click on a cell within the subform grid, a form interconnect would open a third form.

Things were going just peachie - till the client asked that the Version of the Interconnected forms be maintained through Processing Options of the Parent.

I adjusted the SubFrom's Click-able columns to use the Parent's Processing Options - and I thought I was done. Then, I tested on the local web - and WEB-EXCEPTION. For the life of me - WTHeck!

I had to treat the Processing Option as a Value to-be passed into the Subform like any other passed SubForm Interconnect:
* In the Parent, Create an SI Version variable
* In the SubFrom, Create a Version value in the Data Structure
* In the SubForm, Create an FC Version (to pass the Interconnect to - just moddeling)
* In the Logical Hierarchy, move the Parent PO Value to the Data Structure
* Now, the Passed In value is available to the Form Interconnect

Fun - NOT!

----------------------
Why does a SubForm allow for the PO Values to even be present in the ER, if the PO Values are not passed from the Parent to the SubForm???

Anyway - now, we all know there is a SubForm Processing Option CURSE (or at lease a bit of CURSING from those of us that don't realize the issue, initially).

(db)
 
Yeah, it's been this way for years.

I don't know why the PO values show in the sub-form ER. However, if you think about it, subforms can be created as stand-alone objects that can be used on multiple forms. For consistency you wouldn't want to refer to a proc-opt in subform code. All communication with the object should be done through the structure.

Here's another 'quirk' you may run into: do not notify a child that is not presently showing to update the display. I had an app with several subforms on different tabs. Some process would notify the children to update their grids. Unfortunately, if the child grid was on a 'back' tab I'd get intermittent exception errors. I rarely got this on the fat client, but the regular web clients would throw an error almost all the time. I hit this last year, so I'm not sure if it's been fixed.
 
I guess bOrgacle is aware of the issue:
Bug 7407399: Subform unable to use Processing Options

An enhancement request has been submitted:

Bug 7270741: PO values dont work on SubForm
Problem:
On passing the Processing Option values through Form
Interconnect from a Subform to another Form, it gives web
exception errors.
Workaround:
Pass Processing Option values from the Parent Form to the
subform through subform interconnect variables and then
pass the Subform interconnect values instead of the PO
values.

It doesn't look like it's something bOrgacle is working too hard to resolve....

gophigure

(db)
 
Hi Darren,

Once I realized the issue was being caused by passing in the PO Version (instead of leaving hard coded) - the understanding of the issue was immediate (and I knew what to do). I just don't understand why the PO values would be available to the SubForm in any means.

I do have an application with SubForms on multiple tabs - and I haven't experienced any Web Exceptions with the SubForm being updated (maybe it's fixed, maybe I'm just lucky??)

I've been building my SubForm applications based on a template that Scott Beebe suggested - and they have been SIMPLE and work Solid.

Current Client is 9.0 / 8.98.33 - and things are pretty solid.

(db)
 
Hi,

Whole conversation was quite helpful. It would be nice if you share or elaborate on what TEMPLATE did Scott Beebe suggested..?
 
[ QUOTE ]
Hi,

Whole conversation was quite helpful. It would be nice if you share or elaborate on what TEMPLATE did Scott Beebe suggested..?

[/ QUOTE ]

Scott Beebe has a whitepaper on his website, that is extremely educational/helpful. - for anyone knew to subforms. You can track him down, via the JDEList.

(db)
 
the ER, if the PO Values are not passed from the Parent to the SubForm???

Anyway - now, we all know there is a SubForm Processing Option CURSE (or at lease a bit of CURSING fro
cal Hierarchy, move the Parent PO Value to the
I guess bOrgacle is aware of the issue:
Bug 7407399: Subform unable to use Processing Options

An enhancement request has been submitted:

Bug 7270741: PO values dont work on SubForm
Problem:
On passing the Processing Option values through Form
Interconnect from a Subform to another Form, it gives web
exception errors.
Workaround:
Pass Processing Option values from the Parent Form to the
subform through subform interconnect variables and then
pass the Subform interconnect values instead of the PO
values.

It doesn't look like it's something bOrgacle is working too hard to resolve....

gophigure

(db)

9 years later... I am tearing my hair out over web client exceptions on a subform. Was convinced there was a corrupted subform data structure. Searching around I found this thread, and sure enough the ER is referring to a processing option.

Oracle: thanks for nothing.

DB: Owe you a beer.
 
Back
Top