1. Jim Means
  2. PowerBuilder
  3. Tuesday, 31 July 2018

Hey All,

I wouldn't normally use a Critical priority, but I have to get this one PB app migrated from v11.2 to 2017 R2 to keep up with pending Oracle DB upgrades. 


Our first app went through Migration Assistant without a snag and built just fine, but it's a very simple one.  This more complex one still only had two errors, one of which I was able to fix because it was custom code.

I could use a hand with the other error I'm receiving.  Migration Assistant found:
object name: pfc_u_rte
library: pfcmain.pbl
object type: 6
context: printheader event for pfc_u_rte
line: event printheader;
comments: PFC RichText class

Looks like it was searching for a PrintHeader object/keyword, listed as an Obsolete RichText control event

I've never messed around with any of what I've always considered 'as shipped' PBLs.  I don't see a way to get rid of just that event.  We're not doing any RTF printing using PB. This has just been "in there" for as long as I've had the app, as far as I know, and I'm still no expert.  The printheader event as it is says it sets page numbering. 

Think it'll hurt anything if I just kill off that pfc_u_rte object?  I already exported it to an sru file, just in case.

Thanks loads,

Jim

 

Accepted Answer
Ken Guo Accepted Answer Pending Moderation
0
Votes
Undo

Hi Jim,

1. My recommendation would be: open pfc_u_rte in PB 11.2, and then delete all scripts in the printheader() event. After that, migrate the app to PB 2017.
2. We would not suggest you to just kill off that pfc_u_rte object. If you delete this pfc_u_rte object, you will need to delete all the related objects that referenced this pfc_u_rte object as well, or there would be build errors in a full build mode.
3. Though printheader() is an obsolete event, it is not completely banned in PB 2017. Therefore, you can directly migrate it to PB 2017 without modifying any code.

Regards,
Ken

Comment
There are no comments made yet.
  1. Wednesday, 1 August 2018
  2. PowerBuilder
  3. # Permalink
Kevin Ridley Accepted Answer Pending Moderation
0
Votes
Undo
Comment
Hey Kevin,

Before I visit this URL, because our company has VERY high Cyber Security standards...

I'm wondering why this isn't stored on Appeon's CodeXchange, or better yet, provided by them?

Thanks,

Jim
  1. Jim Means
  2. Monday, 21 January 2019
I believe it's because the PFC was open sourced years ago. Appeon doesn't own it, so they don't provide it.
  1. Kevin Ridley
  2. Monday, 21 January 2019
Hi Kevin ... You are correct.
  1. Chris Pollach
  2. Monday, 21 January 2019
There are no comments made yet.
  1. Monday, 21 January 2019
  2. PowerBuilder
  3. # 1
Kevin Ridley Accepted Answer Pending Moderation
0
Votes
Undo

Jim,

 If I'm understanding you correctly, you are migrating the version 11 PFC/E that you already had and getting these errors.  It also sounds like you are saying that you've never modified any of the PFC/E code, right?  If so, why wouldn't you just try using the new upgraded PFC/E that Bruce put out instead of your version 11 migrated one?  Might save you a ton of aggravation, and then you'd be on the "latest and greatest".  If you have made any pfe mods, you can always add those back in.

 

Kevin

Comment
All, After all this time, I'm finally getting back to this issue. Got pulled onto other more critical projects.

Kevin,

I'm not at all familiar with PB internals, so...

Who's Bruce and where do I find upgraded PFCs?

  1. Jim Means
  2. Saturday, 19 January 2019
There are no comments made yet.
  1. Wednesday, 1 August 2018
  2. PowerBuilder
  3. # 2
Jim Means Accepted Answer Pending Moderation
0
Votes
Undo

Thanks Roland,

I originally deleted just pfc_u_rte and that seemed to work, but I haven't run the app after the build yet.

Question: Just to be safe... Do you suppose I could get away with renaming that printheader event?  Other than that inherit in PFCAPSRV.PBL pfc_n_cst_rtefind, I don't see a reference to that event, but this is leftover Sybase code, so I have no idea what it does.  Functionality referenced in that rtefnd object includes findnext, replace, etc.but I'm not sure what it applies to.

 

Sorry for the dumb questions 

Jim

Comment
I'm not sure why the Migration Assistant flagged it but from what I can see, there is internal code missing from the object. Normally user defined events are listed in the 'global type' section. The printheader event is not. Perhaps you can copy the code off somewhere, delete the event in Edit Source mode, and then add the event back in normal edit mode.
  1. Roland Smith
  2. Wednesday, 1 August 2018
There are no comments made yet.
  1. Wednesday, 1 August 2018
  2. PowerBuilder
  3. # 3
Roland Smith Accepted Answer Pending Moderation
0
Votes
Undo

I looked at the object and the painter doesn't allow for deleting the event, I think something is missing in the syntax.

Open the object in Edit Source and delete the event code manually.

Comment
There are no comments made yet.
  1. Tuesday, 31 July 2018
  2. PowerBuilder
  3. # 4
Roland Smith Accepted Answer Pending Moderation
0
Votes
Undo

u_rte inherits from pfc_u_rte so both will need to go. If you aren't going to ever use them, it shouldn't hurt to delete them.

Comment
There are no comments made yet.
  1. Tuesday, 31 July 2018
  2. PowerBuilder
  3. # 5
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.
We use cookies which are necessary for the proper functioning of our websites. We also use cookies to analyze our traffic, improve your experience and provide social media features. If you continue to use this site, you consent to our use of cookies. Learn More