Kbase P130006: "half" pass-thru link gives error message
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  11/14/2008 |
|
Status: Unverified
SYMPTOM(s):
Get an error 'User-defined function 'getQueryPosition' invoked dynamically but could not be found.' (5639 ) at runtime
Get an error 'User-defined function <function name> invoked dynamically but could not be found.' (5639 ) at runtime
Will not get the error when launch the application from AppBuilder.
There are 4 smart links in Links Maintenance Window:
Source
Link name
Target
THIS-OBJECT
Data
StaticSDO
StaticSDO
Data
StaticSDV
arent" height=17>StaticSDO
Data
DynamicBrowser
StaticSDO
User1
DynamicBrowser.
Error is not seen in 10.1A.
Error only comes out after upgrade from 10.1A to 10.1B.
Application Source code hasn't been changed after upgraded.
FACT(s) (Environment):
Windows NT 32 Intel/Windows 2000
OpenEdge 10.1B02 32-bit Service Pack
CHANGE:
Upgrade from 10.1A to 10.1B.
CAUSE:
Bug # OE00166895
CAUSE:
a ?half? pass-thru link from THIS-OBJECT now gives error message where as it would forgive this before.
Source ? Link name ? Target
THIS-OBJECT ? data ? StaticSDO.
This is a link to the parent container and it is thus a so called pass-thru link. A pass-thru link is supposed to be resolved at runtime, based on the context of the caller. This means that the caller needs to have a child object that can replace THIS-OBJECT in the link. The error message indicates that the link has not been resolved and still is pointing to the container or it could be pointing to an object that is not prepared to be a data-source.
In early Dynamics releases you would define a PrimarySDO link from the caller to the SDO that is to replace THIS-OBJECT in the called object. This still works, but you do not need this link in newer releases as you just ensure that the LAUNCH action in the toolbar has the SDO (or its browser or viewer) as link target.
The general issue is not new and it is typically encountered when a data-target calls getQueryPosition, but the actual SDO getQueryPosition has changed to also check its parent in 10.1B (in order to disable ADD in toolbar if parent is not avail) and this probably explains why this was not seen in 10.1A.
FIX:
Upgrade to OpenEdge 10.1C01 or later.
Or:
The customer should remove the link if he does not use or need it.
Remove the pass-thru link and change the 'User1' to link between the Static SDV and the Dynamic Browser.
Source
Link name
Target
static SDO
data
DynamicBrowser
static SDV
0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">User1
DynamicBrowser.