IND$FILE: Transferring Files Between MVS and the Host OS


I had a look around to see if there were any 'how to' pages available for using IND$FILE and found that most of what is out there is a bit of background about the transfer protocol and the implementations of it, but not so much how to use it.  I have received a few questions about how to install and/or use IND$FILE in the past, and just answered those questions briefly and directly.  However as I began writing a tutorial on another application in which I wanted to include IND$FILE transfer as a step, I realized that I needed to write at least a brief tutorial on using IND$FILE.  So that is what this is, a very brief tutorial on using IND$FILE to transfer files (datasets) to MVS running under Hercules from the host Operating System and from MVS running under Hercules to the host Operating System.

You can find background on IND$FILE at Wikipedia, so all I will say here is:

If the terminal emulator program you use supports IND$FILE, then the part of the software that runs in the terminal emulator program is already there.  You don't have to do anything to install or activate it.  Tom Brennan's Vista TN3270 and x3270 are two tn3270 emulator programs with which I have experience and they handle IND$FILE transfers perfectly.

The other side of the software runs under TSO and must be installed in your MVS system, if it is not already present there.  You can get the IND$FILE software several places, but two that I will give you links for are:

Both of these archives contain software written by Mike Rayborn and each contain a version of IND$FILE which can legally be run on Hercules or on any other MVS system. This version does not belong to IBM or to a vendor.  This software was originally uploaded to the Hercules forum(s) on Yahoo, which are no longer around.  The version at CBT appears to be 1.0.5 and the version on my site is version 1.0.6.  From the README (dated 4 January 2003) in the archive available from my site:

This zip includes the IND$FILE free (use at your own risk) software.

Submit the ind$file.jcl and load the ind$file.het on the tape drive.

The jcl will install a the following load modules to SYS2.CMDLIB:
   IND$FILE CUT mode file transfer program
   CDPG1047 IBM code page 1047 to ISO-Latin-1 (aka 8859-1)
   CDPG037  IBM code page 037 to ISO-Latin-1 (aka 8859-1)
   CODEPAGE This is a copy of the CDPG1047 module.

Then it will execute the DBSTOP and DBSTART procedures to refresh 
the linklist bldl's.

This software was constructed using the Dignus Systems/C software,

Currently IND$FILE only supports CUT mode file transfers which
limits the buffer size to that of the screen (24x80=~1900).

Please see the codepage.txt file if you need additional codepage
support or simply wish to alter the default code page supplied
for use with ind$file.

Tested emulators    Upload     Download   Notes
TN3270 Plus          Yes        Yes       
QWS3270              No         Yes       Downloads only
QWS3270 Plus         Yes        Yes
Attachmate Extra 6.4 Yes        Yes
IBM PCOMM 5.0        No         No        No CUT support
x3270                Yes        Yes

-- Mike                   

The archive contains some files that may be used to modify the CODEPAGE modules, but all that is necessary to use IND$FILE is to extract the ind$file.jcl and ind$file.het (emulated tape image).  Ensure the ind$file.jcl conforms to your MVS standards and submit it to install the files on ind$file.het tape into SYS2.CMDLIB, and you are ready to use IND$FILE.  Note:  The DBSTOP and DBSTART procedures are installed on the Turnkey systems, so those steps will not execute on other MVS installations; those steps may be removed from the JCL or the errors generated when the job executes may be ignored.



IND$FILE may only be used at the TSO READY prompt, however it may also be invoked on RPF and RFE option 6 panels (for entering TSO commands).  If you enter the command IND$FILE at the TSO prompt, you will see a verification that IND$FILE is properly installed and the version:


All of my screen captures below are using x3270.

To initiate a file transfer, select the dropdown menu from File (on the menu bar) and select File Transfer...

If you are using Tom Brennan's Vista TN3270, the transfer options are under the dropdown menu labeled Transfer.

The file transfer options panel will be displayed:

To upload a file from the host Operating System to MVS running under Hercules, enter

Here is an example of uploading an XMIT file:

Here is an example of uploading an assembler source file into a Partitioned Dataset:

Selection of Transfer ASCII file automatically selects Add/remove CR at end of line and Remap ASCII Characters.  Selecting Default under Record Format and Space Allocation Units makes the other fields under these selection areas inoperative (and they become 'grayed out').

At the completion of a transfer, you will see a summary panel:

Here is an example of downloading an assembler source file from a Partitioned Dataset on MVS to a file on the PC:

As the transfer is in progress, you will see a panel showing the progress of the transfer:

I hope that you have found my instructions useful.  If you have questions that I can answer to help expand upon my explanations and examples shown here, please don't hesitate to send them to me:

Return to Site Home Page Frequently Asked Questions

This page was last updated on September 06, 2020 .