Hi there,
I would like to check the OE version at application startup in order to avoid error 1987 (Operation number not supported in this release).
The easiest way I was thinking about is to check the shared memory version. Unfortunately, it seems there is no function nor session attribute that returns this value.
Checking the PROVERSION function value is a bit tricky, since it combines integer, decimal and alphanumeric informations (For instance, we can't simply encode IF PROVERSION > "10.2B" since a kind old v9 engine would be considered as higher than an oe10 one)
Does someone have an easy way out for this?
Thanks
We use PROVERSION like this:
IF PROVERSION BEGINS "1" AND PROVERSION >= "10.1A" THEN... (or sometimes &IF ... &THEN...)
That should do the trick until we reach version 20.0A :-)
To make it more compact, you could create a function and/or an include file to handle the check, e.g.: IF {version.i 10.2B} THEN...
We use also CAN-SET and CAN-QUERY functions to check if some attribute/method is available or not.
Yes it is a bit awkward, but the following provides a character comparable PROVERSION:
STRING( INTEGER( ENTRY( 1, PROVERSION, ".":U ) ), "99":U ) + ".":U + ENTRY( 2, PROVERSION, ".":U )