1. Balaji Pinjala
  2. PowerBuilder
  3. Wednesday, 6 June 2018 14:47 PM UTC

Hi All, 

We are trying to migrate a Power builder Application  from Power Builder 12.1 version to Power Builder 2017 R2.

Application is having PFC in it. 

We have migrated the existing code to 2017 R2 and rebuild the code successfully with No errors and with few warnings. 

After rebuilding, We updated the existing PFC libraries with 2017 PFC libraries and again ran the full build which throws errors. 

 

I am new to PFC concepts, Please Advise. Thank You.

 

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 6 June 2018 14:58 PM UTC
  2. PowerBuilder
  3. # 1

Hi Balaji;

     Depending on how old your PFC PBL libraries were originally .. you may also be missing some new extension layer objects as well that you may need to grab from the new PFE layer PBL`s as well (do not replace your current PFE libraries if you know that you have customized them) . The odd extension layer object may have been updated as well over various PFC releases. Thus, you may need to refresh the odd PFE object as well from the newer PFC libraries.

    We would probably need to see the details of the error(s) that you are getting in order to advise you any further.

HTH

Regards ... Chris

Comment
  1. Balaji Pinjala
  2. Wednesday, 6 June 2018 16:26 PM UTC
Hi Chris, 



Please find the errors and warnings below for your reference. Thank You.



---------- Compiler: Errors   (3:33:25 PM)

auto_trade_console.pbl(w_consolelogon).w_consolelogon.pfc_default.85: Error       C0019: Incompatible property is_db_environment for type n_cst_logonattrib

auto_trade_console.pbl(w_consolelogon).w_consolelogon.pfc_default.86: Error       C0019: Incompatible property is_db_environment_name for type n_cst_logonattrib

auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.47: Error       C0019: Incompatible property is_db_environment for type n_cst_logonattrib

auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.47: Error       C0003: Condition for if statement must be a boolean.

auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.52: Error       C0020: Function with no return value used in expression

auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.69: Error       C0020: Function with no return value used in expression

auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.77: Error       C0020: Function with no return value used in expression

auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.84: Error       C0020: Function with no return value used in expression

auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.97: Error       C0019: Incompatible property is_db_environment_name for type n_cst_logonattrib

auto_trade_console.pbl(w_ipa_user_maintenance).w_ipa_user_maintenance.of_setaccess.16: Error       C0051: Unknown function name: of_setrmbmenu

---------- Finished Errors   (3:33:25 PM)



 



---------- Compiler: Warnings   (3:33:25 PM)

auto_trade_console.pbl(w_ipa_at_participants).w_ipa_at_participants.of_setrefreshon.1: Warning     C0209: Function or event 'of_setrefreshon' must be declared before it can be compiled.

auto_trade_console.pbl(w_ipa_at_participants).w_ipa_at_participants.create.1: Warning     C0209: Function or event 'of_setrefreshon' must be declared before it can be compiled.

auto_trade_console.pbl(w_ipa_at_participants).w_ipa_at_participants.destroy.1: Warning     C0209: Function or event 'of_setrefreshon' must be declared before it can be compiled.

auto_trade_console.pbl(w_ipa_at_participants).w_ipa_at_participants.pfc_postopen.1: Warning     C0209: Function or event 'of_setrefreshon' must be declared before it can be compiled.

auto_trade_console.pbl(w_ipa_at_participants).w_ipa_at_participants.pfc_preopen.1: Warning     C0209: Function or event 'of_setrefreshon' must be declared before it can be compiled.

pfcmain.pbl(pfc_n_ostm).pfc_n_ostm.2: Warning     C0088: Duplicate property name: anchor

pfcmain.pbl(pfc_n_ostg).pfc_n_ostg.2: Warning     C0088: Duplicate property name: anchor

---------- Finished Warnings   (3:33:25 PM)



 



When I try to rebuild the code with just replacing only the PFC libraries, I am getting the below errors. Please Advise 



 



 ---------- Compiler: Errors   (9:34:20 PM)

pfcmain.pbl(pfc_w_master).15: Error       C0001: Illegal data type: n_cst_winsrv_style

pfcmain.pbl(pfc_w_response).13: Error       C0001: Illegal data type: n_cst_platformattrib

pfcmain.pbl(pfc_u_dw).35: Error       C0001: Illegal data type: n_cst_dwsrv_grid

pfcapsrv.pbl(pfc_n_cst_platform).pfc_n_cst_platform.of_getdpix.40: Error       C0001: Illegal data type: n_cst_platformattrib

pfcapsrv.pbl(pfc_n_cst_platform).pfc_n_cst_platform.of_getdpix.45: Error       C0015: Undefined variable: lnvo_constants

pfeapsrv.pbl(n_cst_platformaix).2: Error       C0001: Illegal data type: pfc_n_cst_platformaix

pfeapsrv.pbl(n_cst_platformhpux).2: Error       C0001: Illegal data type: pfc_n_cst_platformhpux

pfeapsrv.pbl(n_cst_platformsol2).2: Error       C0001: Illegal data type: pfc_n_cst_platformsol2

pfeapsrv.pbl(n_cst_platformwin32).2: Error       C0001: Illegal data type: pfc_n_cst_platformwin32

pfeapsrv.pbl(n_cst_filesrvwin32).2: Error       C0001: Illegal data type: pfc_n_cst_filesrvwin32

pfeapsrv.pbl(n_cst_filesrvaix).2: Error       C0001: Illegal data type: pfc_n_cst_filesrvaix

pfeapsrv.pbl(n_cst_filesrvhpux).2: Error       C0001: Illegal data type: pfc_n_cst_filesrvhpux

pfeapsrv.pbl(n_cst_filesrvsol2).2: Error       C0001: Illegal data type: pfc_n_cst_filesrvsol2

pfcapsrv.pbl(pfc_n_cst_color).10: Error       C0001: Illegal data type: n_cst_platformattrib

pfeapsrv.pbl(w_print).2: Error       C0001: Illegal data type: pfc_w_print

pfcdwsrv.pbl(pfc_n_cst_dwsrv_sort).20: Error       C0001: Illegal data type: n_cst_dwsrv_sortdraw

pfcutil.pbl(pfc_n_cst_debug).12: Error       C0001: Illegal data type: n_cst_json

pfcapsrv.pbl(pfc_n_cst_pbunitconversion).5: Error       C0001: Illegal data type: n_cst_measureconversion

pfcapsrv.pbl(pfc_n_cst_json).3: Error       C0001: Illegal data type: n_cst_json_tagattrib

pfcdwsrv.pbl(pfc_n_cst_dwsrv_grid).pfc_n_cst_dwsrv_grid.of_showdialog.50: Error       C0015: Undefined variable: w_grid

pfcdwsrv.pbl(pfc_n_cst_dwsrv_grid).pfc_n_cst_dwsrv_grid.of_showdialog.55: Error       C0094: Routine must return a value.

pfcdwsrv.pbl(pfc_n_cst_dwsrv_sortdraw).12: Error       C0001: Illegal data type: n_cst_pbunitconversion

pfcdwsrv.pbl(pfc_w_grid).pfc_w_grid.open.51: Error       C0194: Missing pcode block for indirect function. Possible cause: library missing from library list.

pfcwnsrv.pbl(pfc_n_cst_winsrv_style).9: Error       C0001: Illegal data type: n_cst_platformattrib

 ---------- Finished Errors   (9:34:20 PM)

  1. Helpful
There are no comments made yet.
David Peace (Powersoft) Accepted Answer Pending Moderation
  1. Wednesday, 6 June 2018 15:10 PM UTC
  2. PowerBuilder
  3. # 2

Chris is quite right. Unless you know the history and what changes have been made to the PFE layer it will be quite risky changing that layer.

You have not said what errors you are getting, perhaps it might be safer to look at those a rectify them.

Regards

David

Comment
There are no comments made yet.
Balaji Pinjala Accepted Answer Pending Moderation
  1. Wednesday, 6 June 2018 16:06 PM UTC
  2. PowerBuilder
  3. # 3

Hi Chris and David, 

Please find the errors and warnings below for your reference. Thank You.

---------- Compiler: Errors   (3:33:25 PM)
auto_trade_console.pbl(w_consolelogon).w_consolelogon.pfc_default.85: Error       C0019: Incompatible property is_db_environment for type n_cst_logonattrib
auto_trade_console.pbl(w_consolelogon).w_consolelogon.pfc_default.86: Error       C0019: Incompatible property is_db_environment_name for type n_cst_logonattrib
auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.47: Error       C0019: Incompatible property is_db_environment for type n_cst_logonattrib
auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.47: Error       C0003: Condition for if statement must be a boolean.
auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.52: Error       C0020: Function with no return value used in expression
auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.69: Error       C0020: Function with no return value used in expression
auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.77: Error       C0020: Function with no return value used in expression
auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.84: Error       C0020: Function with no return value used in expression
auto_trade_console.pbl(n_cst_consoleappmanager).n_cst_consoleappmanager.of_logon.97: Error       C0019: Incompatible property is_db_environment_name for type n_cst_logonattrib
auto_trade_console.pbl(w_ipa_user_maintenance).w_ipa_user_maintenance.of_setaccess.16: Error       C0051: Unknown function name: of_setrmbmenu
---------- Finished Errors   (3:33:25 PM)

 

---------- Compiler: Warnings   (3:33:25 PM)
auto_trade_console.pbl(w_ipa_at_participants).w_ipa_at_participants.of_setrefreshon.1: Warning     C0209: Function or event 'of_setrefreshon' must be declared before it can be compiled.
auto_trade_console.pbl(w_ipa_at_participants).w_ipa_at_participants.create.1: Warning     C0209: Function or event 'of_setrefreshon' must be declared before it can be compiled.
auto_trade_console.pbl(w_ipa_at_participants).w_ipa_at_participants.destroy.1: Warning     C0209: Function or event 'of_setrefreshon' must be declared before it can be compiled.
auto_trade_console.pbl(w_ipa_at_participants).w_ipa_at_participants.pfc_postopen.1: Warning     C0209: Function or event 'of_setrefreshon' must be declared before it can be compiled.
auto_trade_console.pbl(w_ipa_at_participants).w_ipa_at_participants.pfc_preopen.1: Warning     C0209: Function or event 'of_setrefreshon' must be declared before it can be compiled.
pfcmain.pbl(pfc_n_ostm).pfc_n_ostm.2: Warning     C0088: Duplicate property name: anchor
pfcmain.pbl(pfc_n_ostg).pfc_n_ostg.2: Warning     C0088: Duplicate property name: anchor
---------- Finished Warnings   (3:33:25 PM)

 

When I try to rebuild the code with just replacing only the PFC libraries, I am getting the below errors. Please Advise 

 

 ---------- Compiler: Errors   (9:34:20 PM)
pfcmain.pbl(pfc_w_master).15: Error       C0001: Illegal data type: n_cst_winsrv_style
pfcmain.pbl(pfc_w_response).13: Error       C0001: Illegal data type: n_cst_platformattrib
pfcmain.pbl(pfc_u_dw).35: Error       C0001: Illegal data type: n_cst_dwsrv_grid
pfcapsrv.pbl(pfc_n_cst_platform).pfc_n_cst_platform.of_getdpix.40: Error       C0001: Illegal data type: n_cst_platformattrib
pfcapsrv.pbl(pfc_n_cst_platform).pfc_n_cst_platform.of_getdpix.45: Error       C0015: Undefined variable: lnvo_constants
pfeapsrv.pbl(n_cst_platformaix).2: Error       C0001: Illegal data type: pfc_n_cst_platformaix
pfeapsrv.pbl(n_cst_platformhpux).2: Error       C0001: Illegal data type: pfc_n_cst_platformhpux
pfeapsrv.pbl(n_cst_platformsol2).2: Error       C0001: Illegal data type: pfc_n_cst_platformsol2
pfeapsrv.pbl(n_cst_platformwin32).2: Error       C0001: Illegal data type: pfc_n_cst_platformwin32
pfeapsrv.pbl(n_cst_filesrvwin32).2: Error       C0001: Illegal data type: pfc_n_cst_filesrvwin32
pfeapsrv.pbl(n_cst_filesrvaix).2: Error       C0001: Illegal data type: pfc_n_cst_filesrvaix
pfeapsrv.pbl(n_cst_filesrvhpux).2: Error       C0001: Illegal data type: pfc_n_cst_filesrvhpux
pfeapsrv.pbl(n_cst_filesrvsol2).2: Error       C0001: Illegal data type: pfc_n_cst_filesrvsol2
pfcapsrv.pbl(pfc_n_cst_color).10: Error       C0001: Illegal data type: n_cst_platformattrib
pfeapsrv.pbl(w_print).2: Error       C0001: Illegal data type: pfc_w_print
pfcdwsrv.pbl(pfc_n_cst_dwsrv_sort).20: Error       C0001: Illegal data type: n_cst_dwsrv_sortdraw
pfcutil.pbl(pfc_n_cst_debug).12: Error       C0001: Illegal data type: n_cst_json
pfcapsrv.pbl(pfc_n_cst_pbunitconversion).5: Error       C0001: Illegal data type: n_cst_measureconversion
pfcapsrv.pbl(pfc_n_cst_json).3: Error       C0001: Illegal data type: n_cst_json_tagattrib
pfcdwsrv.pbl(pfc_n_cst_dwsrv_grid).pfc_n_cst_dwsrv_grid.of_showdialog.50: Error       C0015: Undefined variable: w_grid
pfcdwsrv.pbl(pfc_n_cst_dwsrv_grid).pfc_n_cst_dwsrv_grid.of_showdialog.55: Error       C0094: Routine must return a value.
pfcdwsrv.pbl(pfc_n_cst_dwsrv_sortdraw).12: Error       C0001: Illegal data type: n_cst_pbunitconversion
pfcdwsrv.pbl(pfc_w_grid).pfc_w_grid.open.51: Error       C0194: Missing pcode block for indirect function. Possible cause: library missing from library list.
pfcwnsrv.pbl(pfc_n_cst_winsrv_style).9: Error       C0001: Illegal data type: n_cst_platformattrib
 ---------- Finished Errors   (9:34:20 PM)

 

 

Comment
  1. Balaji Pinjala
  2. Thursday, 7 June 2018 12:08 PM UTC
Hi Chris, 



I downloaded the new 2017 PFC libraries from below



https://github.com/OpenSourcePFCLibraries/2017/releases



and  got the PBLs,  I download the first zip file from the Releases tab.

  1. Helpful
  1. Kevin Ridley
  2. Thursday, 7 June 2018 12:25 PM UTC
So you know where to start now right?  It looks like you have some old code in PFE objects that you need to put in your new PFE objects.  If it was me, I'd start with the first set of compile errors and figure out where you need to copy code from the old PFE.  Start with the n_cst_logonattrib object.  That should fix almost all of the errors that I saw in the first.  Next check to see what w_ipa_user_maintenance is inherited from (maybe w_sheet or similar), then get that code from the old PFE and replace that.  It will probably have the of_setrmbmenu function.  That should get you started.  If you need more help lmk.

  1. Helpful
  1. David Peace (Powersoft)
  2. Thursday, 7 June 2018 13:57 PM UTC
Hi



You need to go through each of the errors, look at why the error is occurring and what the code is being used for. Take the below as an example.



---------- Compiler: Errors   (3:33:25 PM)

auto_trade_console.pbl(w_consolelogon).w_consolelogon.pfc_default.85: Error       C0019: Incompatible property is_db_environment for type n_cst_logonattrib



It would appear that in your previous PFE layer you had an instance variable of is_db_environment, you need to understand what this was being used for and decide if it is still relevant (quite often it is not). If not you can just get rid of the code that references it, if it is important then you need to add relevant code that fits with the new PFC structures to deliver the same functionality.



If you approach each problem in turn and review the issues then you will get to the end with a fully working system. There is no substitute for doing the job properly and certainly no quick fixes.



There are very few errors and some are for the same reason, if should not be that difficult to resolve them.



Regards



David

  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.