What happens, in the blob, when p/opts are eliminated

Frosty the Coder

Legendary Poster

Continuing the XE to 9.0 upgrade.

In XE a UBE had 11 p/opts. In 9.0, it only has six.
Options 2, 4, 5, 6 and 9 were eliminated.

We have an APPL, that calls an NER to get the values of that UBE's p/opts.

In XE, that NER had a "dow counter < 12" loop.
W/in that loop, UBE name, version ID, and counter are passed to B9090001, "Get processing option data", returning the value.

In 9.0, the APPL failed, throwing an "PO Option ID in version is invalid".
I thought this was caused by the "dow counter < 12" loop, and changed it to "dow counter < 7".
I still get the error.

I know that data structures and bsvws sequence their columns.
This is why you shouldn't delete or insert columns.

I'm assuming that p/opts work in the same fashion. Is this correct?

If so, would I use a "dow counter < 12" loop but not call B9090001 for those p/opts that were eliminated?

If not, what am I missing, overlooking, and/or not understanding about how this should work?

Please AND Thanks


Legendary Poster

If a data structure member is deleted, the rest of the members are not renumbered. So in your case you need to specifically request members 1,3,7,8,10,11 or use the 12 loop and handle the error returned for a missing member accordingly.

By the way, you know that is a client only function, right?


Frosty the Coder

Legendary Poster
Other than the C/S flag, what prevents a BSFN from running on a server?
Is there something specific w/in the code of this bsfn that won't run on a server?

If not, could I copy B9090001 and mark my copied object as client/server?

I realize that I could copy one of the object specific "get processing option" bsfns,
and modify it to look at the UBE that I'm interested in,
but having an "any object, any version, any sequence #" seems like a good thing.


Legendary Poster
That flag is set because the function will not compile or work on the excluded platform. That particular function uses a client only lib, from what I remember. Other functions that perform O/S specific operations or call O/S specific APIs will be marked that way as well.

So may need to do the App specific function that returns the options.



Active Member
Hello Graig,

There're some NERs that can run on the html client. They're called Interpretive NERs. For more info, please check Doc ID 632000.1.