EGL Development User Group

EGL Development User Group

EGL Development User Group

The EGL Development User Group is dedicated to sharing news, knowledge, and insights regarding the EGL language and Business Developer product. Consisting of IBMers, HCL, and users, this community collaborates to advance the EGL ecosystem.

 View Only
  • 1.  Open On Selection

    Posted Wed June 08, 2016 09:09 AM

    When i use the 'F3' button or right mouse button menu 'Open On Selection' this works and takes me to this function

    FA3499-MAIN: FA3499-MAIN();

     

    This one does not, most of our functions do not have labels.  So any suggestions how to get this working again would be appreciated.

    FA3499-MAIN(); 

    David.Durand


  • 2.  Re: Open On Selection

    Posted Wed June 08, 2016 12:03 PM

    Hi David,

     

    What is the RBD version installed ?

    The function FA3499-MAIN() is in the same program file and package.  You can attach this egl source code ?

     

    The label is not required.

     

    I have installed RBD v.9.1 / 9.5 and it works fine.

     

     

     

    Hsieh


  • 3.  Re: Open On Selection

    Posted Wed June 08, 2016 12:41 PM

    V. 9.1.1

    Ahh... i think I've figured it out, not sure i fully understand why.

     

    Original Code:

    Program FA3631S type VGWebTransaction //VAGen Info - web transaction program
      {
      includeReferencedFunctions = yes, allowUnqualifiedItemReferences = yes, 
      throwNrfEofExceptions = yes, handleHardIOErrors = no, V60ExceptionCompatibility = yes, 
      I4GLItemsNullable = no, textLiteralDefaultIsString = no, localSQLScope = yes, enableJ2EE = yes,  
      inputRecord = CW-STAFF, inputUIRecord = FA3631UI1
      }

      // Data Declarations
      ....


      function main()
        // VAGen Info - initialization needed for migration
        VAGen_EZESYS = VGLib.getVAGSysType();
        FA3631-MAIN: FA3631-MAIN();
      end // end main
    end //FA3631S

    Function FA3631-MAIN()
      VGVar.handleHardIOErrors = 1; /* Handle hard errors*/
      FA3631-ACCESS();
      FA3631-GET-ID();
      FA3631-IO-PROCESS();
      FA3631-XFER-UI1();
    end //FA3631-MAIN

     

    The open select was working with the main.  I think it needed the label since the function is actually outside of the program, but inside the member.  This is how programs were converted as we migrated from VaGen.    With our new development all the functions in the member are inside the program.  When I move the functions to be inside the program all is right with the world (ok just the F3 but that's what I was hoping for).

    David.Durand


  • 4.  Re: Open On Selection

    Posted Wed June 08, 2016 01:23 PM

     

    You can do "Rebuild Project"  (Project -> Clean) and make sure the "Build Automatically" option is marked.

    Hsieh


  • 5.  Re: Open On Selection

    Posted Wed June 08, 2016 01:59 PM

    Cleaning and building hasn't helped.  Moving the functions inside the Program did the trick.  The part I don't understand is how the scope works with the function out side the program but still in the same package.  I'm sure it gets resolved at some  point just not necessarily in the editor.  

     

    The other up shot is I'm seeing errors where there are dead/bad functions that i wasn't seeing before.  Simple enough change as i continue to maintain legacy stuff.  Just was confusing as it was working in EGL I had never noticed the way the conversion actually put the functions outside the program.

    David.Durand


  • 6.  Re: Open On Selection

    Posted Wed June 08, 2016 02:46 PM

     

    About the function out side the program ...

    It is allowed when the program's property is set with "includeReferencedFunctions = yes".

    The function outside the program in same or another EGL file when the part could be reused or reference by another programs.

    Hsieh


  • 7.  Re: Open On Selection

    Posted Thu June 09, 2016 07:30 AM

    The "includeReferencedFuntions = yes" is there.  I'm sure there is something with a setting somewhere that is causing it to not work.  Other developers are not having the same issue I am with the same version and programs.  At least there is a work around for the time being.

     

     

    David.Durand