1. Thomas George
  2. PowerServer 2020 or older (Obsolete)
  3. Wednesday, 29 January 2020 20:21 PM UTC

Hi,

 

I'm using a trial version of PowerBuilder Universal with PB 2019, and I'm trying to work through my list of unsupported features. There is one category of unsupported features I don't understand:  "Identifier not found". In my report, I'm getting a list of about 12 custom classes of mine that it says it can't find ("Can not found identifier 'n_cst_datetime'", for instance). I've checked the library list that comes up in the dialog just before I kick off the Unsupported Features report, and the PBL with that object clearly IS in the library list, so I don't understand why the report throws this error.

If it were just an issue with the report and not PowerServer itself, I wouldn't be as concerned, but when I try to run my deployed application in a web browser, as soon as the code hits a line with one of those objects referenced, it "skips" back to an earlier spot in the code, seemingly in a loop. For instance, right now I can't get past the login window on my application:  I enter my password, but in the password validation logic, it's hitting one of these objects and then it seems to jump back to allowing me to edit my password and click OK again. I've stepped through it with the debugger and observed this behavior, too. So my thinking is, I probably need to resolve that "identifier not found" problem for the deployed web app to function correctly. However, I can't figure out why it thinks that identifier is not found.

Has anyone had a similar issue to this in their own migration? What am I missing?

 

Thanks,

Tom

 

Accepted Answer
Thomas George Accepted Answer Pending Moderation
  1. Thursday, 30 January 2020 18:58 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # Permalink

It turns out this is a problem with the Unsupported Features Analysis Tool. It happens when you use an object that has no code of its own, but is a descendant of another object. The best workaround is to just put a comment in the descendant object, such as in the instance variables definition, and then the UFA tool will not flag the object as an "identifier not found" problem.

 

Comment
  1. Armeen Mazda @Appeon
  2. Thursday, 30 January 2020 21:22 PM UTC
Thanks for sharing the solution!
  1. Helpful
  1. Miguel Leeuwe
  2. Friday, 31 January 2020 04:25 AM UTC
Maybe this should be reported as a bug?

regards
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 30 January 2020 20:47 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 1

Hi Thomas;

   Just an FYI: The EAF framework has long been deprecated and thus, is no longer supported.

Regards ... Chris

Comment
There are no comments made yet.
Thomas George Accepted Answer Pending Moderation
  1. Wednesday, 29 January 2020 21:24 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 2

Hi Chris and Michael,

 

The example I referenced, n_cst_datetime, is apparently from PFC, but we only have a couple objects coming from PFC. All the other ones are from an EAF framework that came with either PB 8 or 9. I can't get rid of them directly, though, because our app uses them, but I have been modifying them. (The EAF ones supported EAServer, but a while back I modified them so that our app could use them in a client/server model without EAServer. All unsupported references are commented out in those.)

But, yeah, if I do a full build in PB, everything builds fine. Everything deploys fine without errors to PowerServer, too. 

I did check about half of the objects that got flagged so far and none of them are auto-instantiate either.

 

Tom

 

Comment
  1. Thomas George
  2. Thursday, 30 January 2020 18:57 PM UTC
OK, the best workaround I have is to just save a comment in the descendant object, in the instance variables section, then the object disappears from the "identifier not found" list.
  1. Helpful
  1. Chris Pollach @Appeon
  2. Thursday, 30 January 2020 20:51 PM UTC
Hi Thomas;

FWIW: PS has no issues with "PUBLIC, PROTECTED, PRIVATE" variables. My STD Framework has been PowerServer "ready" since 2008 with no issues on the use of these modifiers (which it uses all over the place) ;-)

Regards ... Chris.

  1. Helpful
  1. Miguel Leeuwe
  2. Friday, 31 January 2020 04:24 AM UTC
FYI: don't be surprised if the tool might report things as unsupported when in reality the ARE. That's just a delayed update of the tool when Appeon incorporates newer powerbuilder objects.
  1. Helpful
There are no comments made yet.
Michael Kramer Accepted Answer Pending Moderation
  1. Wednesday, 29 January 2020 21:10 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 3

Hi Tom,

 

"Identifier not found" to me sounds like some code, perhaps some .PBL files are missing from your library list. - or - as Chris points out that you have a partial implementation of PFC or similar framework in your app.

What happens if you take the exact same app; same library list; same everything - and - perform a full build?

n_cst_datetime is almost certainly a class name. Potentially an NVO with an auto-generated global variable of same name. Such auto-generated global variable "disappears" when that class is marked "AutoInstantiate = true".

Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 29 January 2020 20:49 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 4

Hi Tom;

  That "n_cst_xxxxx" naming scheme sounds like you might be using the PFC. If so, please note that PowerServer only supports the PFC from version 9.0 and higher. If your PFC is an older version and just being migrated forward from PB release to release, you may need to pickup a newer PFC layer from the PFC's website.

Regards ... Chris

Comment
  1. Miguel Leeuwe
  2. Friday, 31 January 2020 04:18 AM UTC
I disagree on this. Powerserver doesn't support PFC's at all. The AFC classes that come with Appeon as an example on how to work with pfc's are ancient and Appeon and you have clearly stated that Appeon does not "support" PFC's.

The newer the pfc classes, the more unsupported powerbuilder datatypes / objects you'll meet. (at least, this was the situation a year ago, not sure about the newly released powerserver).
  1. Helpful
  1. Miguel Leeuwe
  2. Friday, 31 January 2020 04:19 AM UTC
As a matter of fact, the "older" your pfc classes are, the less unsupported features you'll find.

my 2cts.
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.