IND$FILE Utility Program for VSE, MVS, VM/CMS and ZOS [1]#


IBM started to distribute the IND$FILE program in 1983 to allow the transfer of files between an IBM PC running the 3270 PC (or PC/3270) emulator and a VSE, MVS or VM/CMS host. IND$FILE originally worked only with the SEND and RECEIVE commands of the 3270 PC emulator. Nowadays, all 3270 emulators on PCs and work-stations support file transfer with IND$FILE. In the UK, where the monetary symbol is � instead of $, IND$FILE is known as IND�FILE.

On all three platforms, the listed products only contain the IND$FILE program itself. In VSE, IND$FILE is a CICS transaction called IND$. GC23-0128 is the flyer that ships with 5665-311 (IND$FILE for MVS/TSO). GC23-0129 is the flyer that ships with 5664-281 (IND$FILE for VM/CMS).

IND$FILE has not been enhanced for years but is still supported on all three platforms by IBM in 2007 and used by thousands of users world-wide. News of IND$FILE's death have been greatly exaggerated and generally originate with vendors trying to sell an alternative.

Commands and Options#

The following is based on 5665-311 which is a TSO command. 5664-281 (the VM/CMS version) is similar, but its options must be preceded by a ( character (left parenthesis). 5798-DQH (the VSE version) is based on CICS and may use a different syntax.
  • Command - GET or PUT. GET indicates a download (RECEIVE) from the host to the PC, PUT an upload (SEND) from the PC to the host.
  • Host file name
  • ASCII - specifies that the file stored on the PC in ASCII form is to be converted to EBCDIC during transfer to the host, and converted from EBCDIC to ASCII during transfer to the PC (needed for all non-binary file transfers).
  • CRLF - specifies that carriage return/line feed should be recognized and deleted before file is stored on the host, and deletes trailing spaces and inserts carriage return/line feed characters as the last two characters in a line when a file is stored on the PC.
  • APPEND - allows you to append a PC file to the end of an OS data set, or an OS data set to the end of a PC file. The following options pertain only to the SEND command.
  • BLKSIZE(n) - specifies the block size of the MVS mainframe data set, where n is the length of a data block in bytes. If omitted, the default is LRECL for new files.
  • LRECL(n) - specifies the logical record length of the host data set, where n is the length of a logical data record in bytes. If LRECL is omitted, the default is 80 bytes for new files.
  • RECFM(n) - specifies the record format for the data set. n is either F for fixed-length records, V for variable-length records, or U for undefined-length records.

Executing the IND$FILE or IND$FILE ? command under TSO on z/OS 1.2 produces the following display:

	IBM File Transfer Program:   Version 1.1.1
	PTF: UR43604   Date: 05/09/95  Size: 50C8 Bytes 
Similar display on VM/CMS:
	IBM File Transfer Program:   Version 1.1.1
	VM   PTF: UR07750   Date: 11/04/92  Size: lrecl (20032) x 4

	IND$FILE MODULE   Y2 V      20032          4          6 11/04/92 23:56:04 

File Transfer Protocol#

As far as we know, the IND$FILE transfer protocol is not formally documented outside IBM and developers of 3270 emulators have to reverse-engineer it in order to implement an IND$FILE-compatible file transfer capability in their products. There are two forms of IND$FILE: DFT mode (which uses the structured fields) and CUT mode which uses 3270 Write commands. The DFT mode is not too difficult to reverse engineer given that it has been documented in the PC3270 User's Guide. CUT mode on the other hand is much more obscure.

These two terms have come to be known as "Buffered" (CUT mode) and "WSF" for DFT. Buffered is strictly screen buffers passed and interpreted at each end. The amount of data that can move in a single flow is limited to the screen size (1920 bytes for a Model 2). WSF or Write Structured Fields can move larger amounts of data much quicker - it can be "tuned" for data flows from 2K bytes to 32K bytes (but much depends on your network).

Information on the file transfer protocol used by IND$FILE may be found in the following documents:

  • 3270 PC User's Guide - Appendix C - File Transfer Data Streams.
  • CICS/PC FTP PDOM REL1.1 (SH20-6301) and CICS-PC File Transfer Program (SH20-6306).
  • PC/3270 Reference Guide for Full-Function DOS - S20H-1776.
  • VSE/ESA Programming and Workstation Guide, SC33-6609.
  • ZZ20-5568 "Distributed and Office Systems Support Technical Bulletin" "Host to File Transfer", by A.R. Towers. IBM "Internal Use Only" document.
  • 5735-OZS - INFO/MVS - DBLVL: DEC85 28 - Entries G055110-115 may contain text from ZZ20-5568.
  • 3270 Information System Data Stream Programmer's Reference, GA23-0059.
  • The x3270 Web site provides the C source code for the x3270 emulator which includes an IND$FILE-compatible file transfer capability.
  • GC21-9527, SC21-9529 and SC21-9526 manuals.
  • OS/2 EE 1.3 networking manual.
  • IND$FILE by Mike Rayborn in file 607 of the CBT tape.


  • Setting of the Query bit in the VTAM LOGMODE (PSERVIC) and/or the 3270 emulator options may affect the ability of the emulator to use WSF (Write Structured Field) commands and impact the availability or speed of file transfer.
  • The VM version of IND$FILE uses DIAG 58 to send a 3270 data stream with an "unusual" SDA which the other end recognizes as file transfer data.

Alternatives to IND$FILE#

Besides IND$FILE, there are other solutions to transfer files between a PC and a VSE, MVS or VM host. Here is a list of some of the alternatives:

  • FTP
  • ISPF C/S (MVS Only)
  • Kermit
  • Vendor products
    • IND$FILE Plus (SDS)
    • SSR Client/Server, n�e Super IND$FILE (ASI)


We have found this useful when working with the ZOS BIDIRECTIONAL DRIVER on z/OS platforms.

IND$FILE is a file transfer program from IBM that was first released in 1983 to allow the transfer of files between an IBM PC running the IBM 3270 emulator (PC/3270) and a VSE, MVS or VM/CMS mainframe. IND$FILE originally worked only with the SEND and RECEIVE commands of the 3270 PC emulator, but today most terminal emulators supporting a 3270 mode included it, like Vista TN3270

You may be able to use FTP to access the RACF host. Yup good news, but then there is the EBDIC issue. The files will be unreadable in typical Windows or Linux/UNIX viewers/Editors. You will need to convert the EBDIC files to ASCII. We use UltraEdit which will do the conversion, but I am sure there are many other ways to perform this function.

The ZOS remote loader files on the z/OS platform have slightly different names. The files in the directory are when we looked (IDM 3.61 RACF Driver 3.51) were:

# ls -l                                                                 
total 672                                                               
-rwxr-xr-x   1 SYSLOGD  DEPT35       567 Oct  8 13:29 START             
-rwxr-xr-x   1 SYSLOGD  DEPT35      1377 Oct 12 12:33 STOP              
-rwxr-xr-x   1 SYSLOGD  DEPT35      1377 Oct  8 13:29 STOP.orig         
-rwxr-xr-x   1 SYSLOGD  DEPT35       956 Apr 30  2008 create_keystore   
-rw-r--r--   1 LDXDRVRP DEPT35    138901 Dec  1 09:06 dirxml.log        
-rwxr-xr-x   1 SYSLOGD  DEPT35      1328 Oct  8 13:15 dirxml_jremote    
-rwxr-xr-x   1 SYSLOGD  DEPT35      1458 Jul 26  2007 dirxml_jremote.orig
drwxr-xr-x   2 SYSLOGD  DEPT35       320 Jul 26  2007 doc               
-rw-r--r--   1 SYSLOGD  DEPT35       279 Oct  8 13:20 dpwd1f40          
-rw-r--r--   1 SYSLOGD  DEPT35       279 Oct  8 13:44 dpwdfb4a          
-rw-r--r--   1 SYSLOGD  DEPT35        81 Oct  8 13:28 driverstc.stdenv  
-rwxrwxrwx   1 LDXDRVRP DEPT35        62 Oct 12 12:30 driverstc.stderr  
-rwxrwxrwx   1 LDXDRVRP DEPT35      3699 Dec  1 12:32 driverstc.stdout  
drwxr-xr-x   2 SYSLOGD  DEPT35       576 Mar  6  2009 lib               
-rw-r--r--   1 SYSLOGD  DEPT35        20 Oct  8 13:20 lpwd1f40          
-rw-r--r--   1 SYSLOGD  DEPT35        20 Oct  8 13:44 lpwdfb4a          
-rw-r--r--   1 SYSLOGD  DEPT35       154 Oct  8 13:19 zos_config.txt    
-rw-r--r--   1 SYSLOGD  DEPT35       152 Jul 26  2007 zos_config.txt.orig
-rw-r--r--   1 LDXDRVRP DEPT35    159642 Dec  1 09:06 zos_trace.log   

More Information#

There might be more information for this subject on one of the following:

[#1] - Loosely derived from: gsf-soft.com retrieved 04-Dec-2009 23:48