

             INFOFLEX  2000-2004 UPGRADE ENHANCEMENTS
             ___________________________________

  0.   Lumberyard systems  
       Currently using Infoflex-4GL version 5.8 circa 1992

       0. Use CISAM
          a. flexmake: set FXISAM=CISAM
                       comment out isFatal() in fxinit.c
          b. sqlflex does not currently work with CISAM so
                  cp fx/bin/fxsql fxsqlnew
                  cp fx/bin/fxsql2 fxsql

       1. prompt() ==> fxprompt() and MUST use A_REVERSE for attribute instead
          of normal.
       1a. accept() ==> fxaccept()
       2. strfind() ===> fxstrfind()
       3. executable flex ===> fxflex .
          Check all menu options and grep system() calls
       2a. phone attribute ===> formatfield(formatphone)
       3. Flip location of QRY and FIND function keys in sysmsg.flx
          hecause afindkey() and findkey() userexits are used alot.
       4. Remove unused 'C' and '.flx' files then
          Lint programs within themselves and against fx/src/lib
          Especially look at section of lint output with string
          'variable number'.  This section shows any argument descrepancies.
       4a. Replace TABLEHELP with HELPSELCT.
           a. Developed parsesub, fxparse.c, and mkparse in fx/src/misc
              to globally change.
           b. Also most helpkey()'s become helpselect()
              This causes actflex.c to not need helpkey() userexits !
           c. Had to modify hlpxxxx.flx screens to not include
              some userexits that only apply to the latest version.
            
       5. Rebuild all tables ? Use the fxsql2 features:
               1. info create;  (to dump all sql create statements)
               2. info unload; (to create complete unload script)
               3. info load; (to create complete load script)
               4. Use fxsql2 since this uses CISAM.

   1.  Added new report output format  for exporting in comma or tab delimited
       format for spreadsheets.  Also, new runtime option for viewing 
       report output via spreadsheet rather than infoflex report viewer.

   2.  Added new report output format (destination 'D' and maybe 'E' only) 
       for Adobe PDF.   This will allow sending graphically formated invoices
       and statements as email attachments.  In order to use this feature,
       you will need a PCL to PDF conversion program.  We have successfully
       used a FREEWARE product called Ghostpcl.    There will be a setup
       charge of about 1 hour for our assistence with this.

    3. When emailing reports you can now enter up to 8 lines of message text.

    4. Output email messages in MIME format for handling attachments. 

    5. The report viewer program PRINT key now allows selection
       of printer destination.   

    6. Graphical reports can now be viewed in Acrobat reader when destination
       'S' selected.  Only works if acrobat reader installed on your system.

    6a.  Logos may be printed on Graphical reports
       
    7. Program name 'flex' changed to 'fxflex' to avoid conflict with
       the UNIX file 'flex'. This is an internal change which may only
       effect programmers.

    8. Pressing Control-U clears a field.

    9. Graphical interface with mouse is now available via the
       Multiview or Anita terminal emulators (see attached instructions 
       to install). 
       Mouse is also implemented for LINUX console, DOS, and XTERM 
       without use of an emulator.
       

Year 2003


    1. Numerous cosmetic changes and Bug fixes. Currently there are no
       known bugs so please inform us via fax of any bugs with the
       new version.
    2. All report programs have F16 key to cancel reports sent from your
       login ID to the printer.
       Upon pressing F16 key all reports generated from your login ID and
       awaiting print will be listed.  You must enter the Job number of
       the report to cancel it.  
    3. HELP screens - enable ZOOM key where no data is found.
    4. HELP screens - position to last help table record (instead of          
       issuing 'No Data' message) upon entering an invalid code which 
       is greater than last code in the help table.
    5. For consistency accross Accountflex module the system now
       starts all table maintenance routines with choice 30.
    6. New Perl program 'hsel' reformats SQL select ouput from vertical 
       to horizontal.
    7. Table HELP screens function key labels now work with the MOUSE.   
    8. POSTING programs will no longer prevent others from using the
       same POST or CONVERT program while screen left on 'SUCCESS' message.

    9. Function routines checked for correct arguments:
           dmaprec() dmaprng(), dmapfld(), dclrrec() dclrrng(), dclrfld(),  
           smaprec() smaprng(), smapfld(), sclrrec() sclrrng(), sclrfld(),  
           tmaprec() tmaprng(), tmapfld(), tclrrec() tclrrng(), tclrfld(),  

   10. Report Destination field enhancements.
       Entering 'Sw' will direct output to Wings spreadsheet.
       Entering 'Ss' will direct output to Star Office spreadsheet.
       Entering 'Se' will direct output to Excel Office spreadsheet.
       Entering 'Sv' will direct output to Vi editor.
       Entering 'D' with file name staring with 'dos' will write output file
           to DOS floppy.
       Entering 'D' now allows format argument for outputting in comma (C) 
           or tab (T) delimited format.  Specify the format after the file name.
               For example:   'Dfilename T'

   11. Queryflex enhanced to export totals and headings, as well as detail.

   12. Menu security can now disallow use of Control-D and Control-N keys

   13. Accountflex reports now require ALL end range fields be greater than
       begin range fields.  

   14. Alternate keys available for ESCAPE and F1 key which may
       or may not be more convenient.  The alternate key for ESCAPE key is 
       the '[' key with the CTRL key held down.
       The alternate key for F1 key is the '\' key with the CRTL key held down.    
    14a. Alternate keys for ESCAPE and F1 key can also be assigned to
         any key on the keyboard using the new FXALTESCAPEKEY and FXALTSAVEKEY
         environment variables.  Call Infoflex for further information.

    15. Contol-G key from anywhere in the system will display the
        last report.

Year 2004

   1. Report incorrectly called Wingz.  This is now fixed.

   2. Pressing Control-U clears a field.

   3. Added new Accountflex master menu choice for creating/running a test copy
      of your accounting system. Use this test a feature
      you are not sure about.     

   4.  Added new report output format (destination 'D' and maybe 'E' only) 
       for Adobe PDF.   This will allow sending graphically formated invoices
       and statements as email attachments.  In order to use this feature,
       you will need a PCL to PDF conversion program.  We have successfully
       used a FREEWARE product called Ghostpcl.    There will be a setup
       charge of about 1 hour for our assistence with this.

    5. When emailling reports you can now enter up to 8 lines of message text.

    6. The report viewer program PRINT key now allows selection
       of printer destination.   

    7. Graphical reports are now viewed in Acrobat reader when destination
       'S' selected.  Only works if acrobat reader installed on your system.
       
    8. Program name 'flex' changed to 'fxflex' to avoid conflict with
       the UNIX file 'flex'. This is an internal change which may only
       effect programmers.

    9. Output email messages in MIME format for handling attachments. 
     
    



Year 1999-2000 changes below

If you are updating a system installed before 10/13/99 and are using
the prconfig file you will need to enter a top margin value for each
printer where a bottom margin is specified.
The top margin value is a new parameter and must be specified before the 
bottom margin value
otherwise the bottom margin will be mistaken for the top margin.

.LI 10
This step describes special considerations for converting DOS/WINDOWS/NT systems.
Due to a new DISAM version it may be necessary to unload and load your
database.
If you get 102 or 103 errors you will need to reload your database.

To assist you in this process, \fBfxsql\fP provides a utility to 
generate the load and unload scripts for the entire database.

The SQL command for generating the unload script is as follows:

    info unload;

The SQL command for generating the load script is as follows:

    info load;

Note that when you unload the database you will need to do so with
the OLD version of \fBfxsql\fP. Use the new version 
of the \fBfxsql\fP to create and load the database.



II. APPLICATION PROGRAM CONVERSION 

.LI 1.
Convert all of your custom programs to use the new method for
running popup HELP screens \fBhelpselect()\fP.
Also, remove all references to \fBtablehelp()\fP.
Appendix A describes this new method.


.LI 2.
Special Notes about DOS/WINDOWS/NT conversion.
Because of increased memory usage by Infoflex-4GL  
there are additional steps that may
be necessary to reduce memory usage of your custom programs.
The following list describes options for reducing memory usage 
by your custom programs.

    .LI 1. 
    For posting programs or any program where you are writing to databases you
    will want to test if you are close to using up memory and exit gracefully.
    We place the check before each major loop in the program (see
    any of our posting programs for example).
    The check memory test is done as follows:
    
        if (chkdosmem() < 0)
           return(-1);
    
    If you set the environment variable \fBFXMEMSHOW=y\fP you will see memory
    usage as the program runs.
    
    .LI 2.
    Another way to conserve on memory is to open the files as needed.
    In our posting programs we are opening and closing files before
    and after each write.
    Writes are extremely memory expensive because the new DISAM
    can use up to 20K per index.  
    The only way to keep DISAM from using that much memory is to
    close and reopen the file.
    We are also opening and closing after each lookup.
    Surprisingly, this solution does not significantly slow the programs.
    
    .LI 3.
    Breaking executables into smaller programs is another option to reduce
    memory usage.
    
    .LI 4.
    For posting programs that require large amount of memory you can link in
    actmain.c which will drastically reduce the size of the executable.
    It does this by only linking in what is necessay to do simple non-array screens.
    Note that if you use this option your popup help tables will not work.
        
    
\fBAPPENDIX A  - HELPSELECT\fP

This appendix describes the new method for creating popup HELP screens.

This method, unlike its predecessor, is built into Infoflex-4GL.
Helpselect() is easier to use and offers many additional features.
Some of these additional features include the ability (1) to sort
the help screen based on where the cursor is located (2) to
position the help screen based on character entry.

The syntax for helpselect is as follows.

      helpselect(\fIscreenname\fP)

where \fIscreenname\fP is the name of the HELP screen.

You will need to edit you existing help screen flex files as follows.

1) remove all userexits  

2) add \fBazoomscreen("flex screenname")\fP if you want to
   allow the user to call a screen for updating the table.
   See any of the new hlp*.flx files for examples.

3) Add searchby's to fields you would like the ability to sort and search by.
