Use Special Files to Access the IFS
May 4, 2005 Hey, Ted
The code for this article is available for download.
I was looking for a way to simplify writing data to IFS files, and your article about special files inspired me! I wrote program PTIFSIO, which is to be used as a special file program. This program enables any RPG program to read from and write to the IFS without APIs. I have also attached a program which writes to an IFS file and one which reads from the IFS file. The examples are perhaps trivial, but they show how to use the special file support.
I am grateful to Scott Klement for the IFS prototypes and constants I used in PTIFSIO. I pulled much of that code from his “Working with the IFS in RPG IV” e-book at www.scottklement.com/rpg/ifs.html.
–Kevin Juenemann, Infinitec
Thanks to Kevin for sharing his code with the rest of us.
PTIFSIO provides a wrapper over four Unix-like APIs: open, close, read, and write. I’ve used those APIs in RPG programs, and it’s too easy to make a mistake with them.
I’ve placed source code for four objects in the downloadable code. You’ll find the three programs Kevin mentioned and the DDS for a physical file named TAXMAS. If you play with the examples, run the program that writes to the IFS first, since it builds the file that the other test program reads from. When you load the TAXMAS file with data, make sure that some of the records have zip code values of zero.
Speaking of special files, Nathan Andelin recently posted in the IT Jungle Forums that he has used a special file to make an RPG program work with a Web browser. (You can see that post in the forums by clicking here.) I hope to hear from more readers who have developed other uses for special files.