SLIC Systems

for i5 and Joomla

  • Increase font size
  • Default font size
  • Decrease font size

i5 File Utilities (FUTIL)


File Utilities (or FUTIL as they are also known) are a set of tools that have been in development for over twenty years now.  Previously being used by many developers in several companies.

Although having been written of a very long time, they are far from complete.  They also utilise various coding styles and techniques that may not be that good and in conflict with  themselves.  But hey, does that really matter?

The main components are:

  • VUE - View a file contents
  • DBR - Display database relations
  • CHKPGM - Check for level checks

VUE is the main component that shows you a file contents, much like WRKDBF, Filescope or Proview.  Like those, it allows you to re-order columns, position to keys, search for values and highlight fields.  After many years of inactivity, VUE is now going through a rapid development cycle.

All of the software is open source, I encourage you to suggest or submit enhancements.



must fill this out one day

Change Log

Currently working on SQL integration into VUE.  This is quite an intensive task as it hits quite a few areas. I'm looking at a couple of interfaces, firstly with a simple SQL entry screen and also a simple guided SQL selection.  It should also be possible to have parameters that can be entered on a prompt screen in place of F6 key positioning...

It's going to take a while to do this, in the meantime, I will try to publish any critical error fixes that I come across or are reported to me.

30-Nov-2012 5.31 Released

  • Fix crash on select key position when key field displays non-displayable data.  Will now have the ability to enter in hex
  • Update UNDEL2 to versio 2.0.7

29-May-2011 5.27 Released

  • Upgrade UNDEL2 to latest version (2.0.6)
  • Fix parameters to undel2 causing incosistencies on showing deleted records.

26-May-2011 5.25 Released

  • Fixed crash when updating a file created with SHARE(*YES)

23-May-2011 5.24 Released

  • Increased the maximum size of fields and records to 32k (previous maximm field size was 9999 bytes).
  • Incorrect member was being accessed when retrieving deleted records from multi-membered file
  • Bizare crash on some occasions with binary2 data
  • Display an error message (rather than crashing out) when attempting delete/update/write records when not authorized to the member.

30-Dec-2010 5.16 Released

  • When searching using F7 or F8 and the seach parameter had been changed, search results were not being found on the current page.  Instead searching started from the next page.  This has now been resolved.
  • Changed search field so that field name is displayed instead of field number (Field number can still be entered)
  • Fix bug preventing start field changing when a search field name is entered

23-Dec-2010 5.14 Released

  • Performing either a page down, or search forward (F7) after a previous search forward should now position correctly (previously skipping records)

22-Dec-2010 5.13 Released

  • Time fields with differing formats and separators are now handled
  • An error is now issued if the installation program is not compiled as a CLP

 21-Dec-2010 5.12 Released

  • When VUEing a keyed physical file and 'K' is entered to switch to sequential mode, F18 can now be used to display deleted records (previously dispabled)
  • Date fields (type L) in formats other than *ISO are now catered for

25-May-2010 5.08 Released

  • Start adding support for data type O (Open)
  • Fix bug where highlighting on search would result in the whole page highlighted if found on last item on page and seach field then cleared.
  • Fixed several problems with relative positioning in Keyed and Ascending modes.
  • Fixed subfile error when switching to hex mode in single record dispay and exiting back to multi record display.
  • Added new test file FUTESTL5 that includes input only substring fields.
  • In Single record mode, prevent Input only fields from being keyed.

18-May-2010 5.02 Released

  • If positioning in a logical file in sequential mode to a non selected record, we will now positon to the next record correctly.
  • New feature to swap between ascending and keyed sequence in a keyed file. Entering a 'K' in the control field will toggle between Keyed and Ascending. It is still possible to position to a key in ascending mode, the display will start from the key position but show in ascending.
  • Member name is now correctly displayed (was missing right hand bracket)
  • File type and access method is now displayed (*KEYED or *ASCENDING)

13-May-2010 4.99 Released

  • Fixed bug where incorrect record being selected in hex mode.
  • Fixed the same for F13 Display record

                    24-Apr-2010 4.98 Released

                    • Fixed very long outstanding problem with 10 character library names causing selection to fail when filename not specified in VUE
                    • Fixed search highlighting not showing up in white on the first displayed field on 24x80 screen
                    • Added feature to enter RRN in control field for keyed files.  This essentially looks at the key on the RRN selected and then positions to that record in the file.  If the record is not found, it does it's best to position as near as possible.
                    • Enabled the P=Position.  When selecting a row with P, it will position to that record.  Works for Keyed and arrival files.
                    • Fixed another long outstanding problem where attemt to use F6 to prosition after last record in file caused nothing to happen and no error reported.  It will now take you to the end of the file and inform you of attempt to position past last record in file.
                    • Fixed installation problem if installed to a new library
                    • Fixed V4R5 installation problem

                    13-Apr-2010 4.92 Released

                    • Fix Bug that hed crept in last couple of releases preventing you adding or copying records due to a nullmap not being filled out.  We now make all fields non null on write.  In a future release we will come up with a better solution.  But this will work with 99.9% of all files I know about.
                    • Add extra field to SSLFUTBL to handle extra conditions for function keys
                    • New procedure sslfu92_rtvAIB to translate AIB byte
                    • New Table FKEYS added
                    • Attempted to fix prompt window display size problem when displaying 80 columns (*DS3) on a 132 column (*DS4) display.  It's not displaying as 80 cols correctly but now overlaying correctly! Getting very annoying!
                    • Completely re-factored the function key handling in VUE.  It will now show all available keys and stretch across the page as required.

                    24-Mar-2010 4.87 Released

                    • Fixed Keyrf in wrong order in Aspect procedure.  VUE should now notice (at last) when a file definition changes!
                    • Exiting is now a lot easier when pressing F3 from Alter Aspect!
                    • Test File FUTEST now contains a Graphic (Data Type G) Field.
                    • Message subfile now cleared correctly in Get Key (SSLFU15M)

                    14-Mar-2010 4.86 Released

                    • Better Handling of null capable, fields over 1024 bytes and graphic data type.  VUE was crashing under these circumstances.
                    • Graphic data type is now handled for Display only (Data type G). This means you can now display such files as QAQQINI and have the desciptions displayable!                                                
                    • Use Returned Library name for file rather then input library name to stop records being written to aspect with *LIBL and thus causing incorrect layouts to load up if the record format changes.
                    • Single record display was using the field width that could be modified in AlterAspect!  This has now been modified to use a new field in the aspect (DAFLDW) that can not be modified by the operator.
                    • New F9=Truncate in Single record display.  When in display or delete mode you can now press F9 to remove blank lines from the display.  Makes long fields easier to read.
                    • Modified top two display lines and added member name to file name if not the same as the file name.
                    • Format name and number of records is now carried through correctly to other screens.
                    • Added F10=Enter Mixed case to key entry

                        09-Mar-2010 4.80 Released

                        • Modified SSLFU11R, SSLFU14M and SSLSTR so that it should now run on V4R5. This was achieved by passing *NULL insteatd of *OMIT for return string.
                        • If Hex Mode was selected in single record display, the subfile would be blown on ther multi record display.  Recalculate no of lines when coming out of single record to prevent this.

                        08-Mar-2010 4.79 Released

                        • Fixed Highlighting of searches, now display White RI and Red RI correctly In single record display,
                        • F10 to toggle between Upper and Mixed case input has now been added to single record display.
                        • In single record display, when subfile records are not written because of no space on the screen for all hex lines, we no longer try to process them.
                        • Assuming all data crappy for now.  I'm getting inconsistent results displaying the same file in two different sessions on the same machine. sometimes, the job just ends, sometimes it's handled correctly with a negative response, sometimes the session hangs.  I've no idea why! Even running in the same session twice gives difference results!
                        • When editing an individual record and in hex mode, you can now enter normal characters on the first hex line so long as the second is blank for those bytes. Therefore, you can easily mix and match hex as required.
                        • New function key F17=Toggle Hex Blanks.  This will switch between showing blanks in hex mode as Blank or the more traditional X'40'
                        • Multi record screen does not now have extra option fields on it when Displaying in hex mode.
                        • On Hex Display, Spaces in the data (X'40') can now be written as a space rather than 4/0 over two lines.  This is currently the default.

                        02-Mar-2010 4.75 Released

                        • Modified SSLFU14M (Work with single record) so that you can now edit in Hex mode.  This no longer uses a SFLDROP but rather extra subfile lines when a hex line is required.
                        • Fixed stConvertCharToHex to actually convert hex correctly!
                        • If no of fields changed in the file, updating the aspect would miss the last fields.  This should now be ok!
                        • New module SSLFU92M which has screen handling stuff in it, currently only for checking screen size.
                        • Exit screen now works in 132 columns.
                        • Message for invalid chars is now targeted for display/edit as required.
                        • Improve behaviour of exiting from exit screen with option 6.
                        • On V4R5, (on my box anyway) and non displayable data is encountered, the screen hangs rather than returning an error.  This means we never get to set the crappydata flag on to handle the bad data!  A change has now been made to test the release of OS400 and if on V4, the crappydata flag is set permanently on so all data to the screen is filtered.

                        24-Feb-2010 4.71 Released

                        • Prevent error if VUE entered with no file specified
                        • Remove errors if compiled on V4R5
                        • Increase maximum RRN to 10 digits!
                        • Add in record format name to display.
                        • In Sequential mode, if an attempt is made to position to RRN past EOF, an error is now displayed and the end of file shown.

                        20-Feb-2010 4.69 Released

                        • Fixed crash when F3 selected on Get Key
                        • Increased size of FUPROMPTS to 112 bytes
                        • Removed ELSEIF in SSLSTR preventing compilation on V4R5
                        • Fixed problem unable to open display file when screen can only display 24x80
                        • Fixed incorrect column headings when in 24x80 mode
                        • Enabled F2 in 24x80 mode (function key returning wrong indicator)
                        • Removed 8=Undelete as not coded and you can do it with a 2/3
                        • Option field is now open by default when starting in 24x80 mode
                        • Fixed Deleted record checking that was not taking account of no of deleted records in the file, therefore throwing anomalies near the end of a file.  i.e. positioning errors & not showing record as deleted.
                        • Fixed problem in SSLFU90M preventing compilation in V4R5

                        14-Feb-2010 4.66 Released

                        • Small fix on a couple of message id's causing distribution to hiccup for some people.

                        14-Feb-2010 4.65 Released

                        • Added missing SSLCOPYSDS to distribution!

                        12-Feb-2010 4.64 Released

                        • Added small confirmation window SSLFU85R
                          - E2   Press enter twice (already in 4.63)
                          - WN   Y/N window.  No need to press enter
                          - WY   Y/N window.  Need to press enter
                          - F6   Press F6 to confirm
                          - F23  Press F23 to confirm (on delete only)
                        •  Fix initialization bug when writing empty variable length fields.
                        • Added all confirmation types to SSLFU14M

                        11-Feb-2010 4.63 Not Released

                        • Start adding preferences
                          - Add extra key to SSLFUTBL
                          - New tables for prference descriptions (PREFDESC) and preference values (PREFVAL)
                          - New tables for preference valid values
                          - Preference levels are *SHIP, *SITE, *USER, *FILE (in that order)
                          - New module in SSLFUSRV (SSLFU91M) to handle preferences 
                        • Add E2 (Enter twice confirmation type)...none others yet!

                        10-Feb-2010 4.62 Not Released

                        • Missing Return *Off added to SSLFU90_update procedure
                        • Send messages properly from SSLFU13M.

                        09-Feb-2010 4.61 Not Released

                        • Changed SRCLRM to use msClrMsgQ
                        • Removed redundant date conversion calls
                        • Display error message if update/write doesn't work and don't exit

                        22-Jan 2010 4.60 Released

                        • Fix highlighting when searching for individual field
                        • Fix problem where you can't roll when searching for an individual field    
                        • Fix installation problem if library name was more than 8 characters (actually a buggette in SLIC Distributor)

                        20-Jan-2010 4.50 Released                           

                        • Prevented exit screen crasher when open applied to open display file.
                        • Give warning when displaying deleted records.  so as to manage expectations
                        • Handle display and updating of variable length fields.
                        • Handle variable length fields in key positioning
                        • Fix bug where additional lines in key display may be 1 byte too small.

                        19-Jan-2010 4.40 Not Released                                                            

                        • Added Procedure to SSLFU90M to read by relative record number.            
                        • Data area FUTILVER was being locked, thus preventing more than one job using VUE!!! Not needed anymore, so removed from SSLFU11R
                        • Added F18 to display location of deleted records when reading sequentially by RRN (not keyed files!). This is a toggle, defaulting to not displaying deleted when entering program.
                        • When refreshing with F5 or F18 and in sequential mode, we will now position to the first RRN already displayed rather than reading back a page of records.
                        • Fix crasher when changing screen sized in Hex Mode.  It was reading too many records and then blosing the subfile!
                        • Added ability to Add records (Take A from control field)
                        • Binary 8 fields now handled correctly when writing to file.
                        • Output conversion was not handling date/time correctly.  Better now!
                        • Pressing F18 twice will now display the deleted record in RED
                        • SSLFU14M will now retrieve deleted records. but not Variable length fields!
                        • Fixed some positioning errors.
                        • Added member name to open etc... (How DID I miss that??)    
                        • Blanked out control field after some operations to prevent confusion.
                        • Fixed +/- positioning for ascending files.

                        16-Jan-2010 Version 4.30 Released

                        • Messages sent correctly in SSLFU14M
                        • F5=Refresh now positions correctly
                        • Fixed problem saying the buffer had been changed on an edit when it hadn't.  Needed to chheck only the correct record length due to undefined buffer.
                        • Messages for add, edit, copy, delete etc. now have RRN correctly displayed.
                        • Added UNDEL2 to distribution, ready for implementing undelete function.

                        13-Jan-2010 Version 4.20 Released

                        • Added ability to Edit,Copy and Delete records
                        • New Procedures in STSTR
                        • Started mult linguia cahnges with message id's megining in FC£nnnn

                            Note that there currently is no validation or prompting, so be careful!

                        09-Jan-2010 Version 4.10 Released

                        • Added F15 On single display for Wide (currently only really for 132 column displays)
                        • Added new procedure stConvertCharToHex to SSLSTR (not used yet but will be when we get into doing editing records)
                        • Fixed error when invalid data sent to screen in SSLFU11R. (Now marks crappy data correctly)

                        22-Dec-2009 Version 4.00 Initial Public Release

                        To Do

                        Known bugs/Small changes to make

                        • Bad data is not yet properly detected in Numeric fields, only character.

                        Major areas to tackle

                        • Split out creation from archive extraction
                        • Remove multiple aspect file handling as its a pain to have that really and I've never used more than one aspect file.
                        • Add SQL Selections
                        • Add ability to roll records in single display
                        • Add link to display file layout command
                        • Multiple languages (will probably need a lot of help here)
                        • Add exits so that we can have plugins
                        • Add a preferences screen
                        • Add a statistics screen
                        • If file changes, rebuild aspect using old layout as a reference rather than trashing it.
                        • Add Multi record update  (methinks may be difficult this one)
                        • Add the ability to do a VUE library/file*
                        • Lots more refactoring and bug fixes along the way
                        • Add online help
                        • Some documentation would be nice!
                        • Suggestions?????


                        There are some things that it is not currently capable of doing, or I simply can't work out how to do it.

                        The main ones are -

                        • Deleted record handling it there, but.... Variable length fields are not handled, so any record format with these should be treated with care.  Also, sometimes the operating system, totally removes the contents of records.  For example, when you do a CHGPF.  I've also noticed odd behaviour when the record is deleted via a logical.  Be very careful.
                        • If a field is longer than 129 bytes, it won't be completely displayed in the multi-record layout.  You have to select it to view the field in it's entirity.


                        Download here -

                        For instructions on uploading to your i5, iSeries or AS/400 Read the instructions here


                        A Brief History of VUE

                        I started development in VUE back in 1989, having started working for a major employer in the entertainment industry (who sadly no longer exist).  The company did not believe in purchasing tools,  essentially being too tight to spend money.  Having previously worked for a company where we used Filescope (SHWFC), I did not like the idea of only using DFU and Query, thus VUE was born.

                        Originally designed in a structured way (believe it or not!) for RPG3 on an early AS/400 B70, after several months it worked fairly well.  You could display files, re-order columns and position at key positions.  That was about it.  At this time, I still used DFU to do updates.

                        Some 10 years later, I started Version 2.  This was now converted to RPG IV and used the C API's to retrieve data and these made life a whole lot easier.  Support for timestamp fields was added and a few bug fixes came about.

                        Not a lot of development since then as I, like most other people in the industry used WRKDBF.  However with the advent of V6R1 and WRKDBF initially being removed from the market and then becoming a chargeable product changed the dynamics of the situation.  My current employer was not prepared to pay the small amount for WRKDBF and the previous version was not compatible with V6R1.

                        Since mid 2009, I have been making steady updates to VUE and have decided to open source it under the GPL licence.  I figure, the open source community has given me a lot over the years, and now it's time for me to make a contribution for the system I love.

                        FUTIL is now a mile away from the original version and can quite happily handle updating, deleted records, searching etc...  All of which the original couldn't.

                        With a little luck and a following wind and support from the copmmunity out there, it should soon resemble a really robust and extendible product.


                        • Added F15 On single display for Wide (currently only really for 132 column displays)
                        • Added new procedure stConvertCharToHex to SSLSTR (not used yet but will be when we get into doing editing records)
                        • Fixed error when invalid data sent to screen in SSLFU11R. (Now marks crappy data correctly)

                        Latest Posts

                        No posts to display.