Beginning with V1R9M0, Rob Prins is distributing RPF in XMIT archives, rather than the AWS tape image, which he used for previous releases. These are the steps necessary to retrieve the XMIT archives from Rob Prins' website and installing under MVS 3.8j.
There are seven archives available for download from Rob Prin's website [https://prince-webdesign.nl/rpf]. Because RPF is distributed for use on both z/OS and MVS 3.8j, one of those archives is totally unnecessary for installation on MVS 3.8j, leaving the six relevant archives as:
In order to utilize RPF under TSO, it is only necessary to retrieve/install Files 1, 3, and 4. If you want to use RPF under Wally McLaughlin's ISPF, you will also need File 6. Files 5 and 7 are necessary if you want/need to re-assemble the source.
Although you may not choose to install all six of the archive on your MVS 3.8j system, I will include the instructions, and jobstreams, for all of them below.
First you should download the zip archives from https://prince-webdesign.nl/rpf (scroll down until you see the heading Current Releases). Unpack each of the archives you download; each with contain a single XMIT format archive with similar naming convention as the zip archive:
I would suggest placing the xmi files in the JCL directory under MVS, which is consistent with my MVS 3.8j installation instructions.
I loaded the Partitioned Datasets from the archives into datasets on my MVS 3.8j system with a high level qualifier of RPF. If you follow this naming convention and you do not already have a VSAM alias defined on your system of RPF, you will need to define the alias, which is easily done at a TSO prompt:
You will need to supply the password for the Master Catalog, which on my system, and probably on any system built using my instructions, is SYSPROG. The profile noprefix command is required before issuing the define alias command; if you use a prefix with TSO, you will need to re-establish the prefix with the profile prefix(prefix value) after issuing the define alias command.
Next, for each of the archives, you will need to submit a job to use the program RECV370 to transfer the XMIT file to MVS and unpack it. There is a prototype job in SYSC.JCLLIB(RECV370) that may be quickly tailored to the needed requirements.
Here is the tailored JCL for the job:
//RECV370 JOB (1),'UNPACK XMIT',CLASS=A,MSGCLASS=X //*-------------------------------------------------------- //RECV1 EXEC RECV370 //XMITIN DD UNIT=01C,DCB=BLKSIZE=80 <- INPUT //SYSUT2 DD DSN=RPF.R200.LOADLIB, <- OUTPUT // VOL=SER=PUB000,UNIT=SYSDA, // SPACE=(CYL,(1,0,10),RLSE), // DISP=(,CATLG)
In the JCL above, the input dataset (XMITIN DD statement), you are specifying the exact address of a card reader that is emulated by Hercules. On the Hercules command window, initialize the card reader to point to the file on your host Operating System that holds the XMIT to be transferred. The Hercules command is devinit 01c <path>/rpf200mv.xmit ebcdic. You should specify the correct path to the file in place of <path> in the example command. Note: The command shown here in red specifies address x'01c' which is the correct address for an MVS system built using my instructions. The address specified must match a device in your MVS system that is defined as a card reader and that card reader must not be managed by JES2. It is also imperative that you include the ebcdic operand to inform Hercules to not do ASCII to EBCDIC translation when the host Operating System file is read in.
The output dataset may be named whatever meets your MVS 3.8j system requirements. On my system, there is already an alias for RPF that directs cataloging in User Catalog UCPUB000, which is appropriate as I am loading the dataset onto volume PUB000.
Submit the job to MVS to transfer the XMIT dataset to MVS and unpack it. The output for this job may be viewed at rpf200mv.pdf.
Here is the tailored JCL for the job:
//RECV370 JOB (1),'UNPACK XMIT',CLASS=A,MSGCLASS=X //*-------------------------------------------------------- //RECV1 EXEC RECV370 //XMITIN DD UNIT=01C,DCB=BLKSIZE=80 <- INPUT //SYSUT2 DD DSN=RPF.R200.HELP, <- OUTPUT // VOL=SER=PUB000,UNIT=SYSDA, // SPACE=(CYL,(1,0,10),RLSE), // DISP=(,CATLG)
In the JCL above, the input dataset (XMITIN DD statement), you are specifying the exact address of a card reader that is emulated by Hercules. On the Hercules command window, initialize the card reader to point to the file on your host Operating System that holds the XMIT to be transferred. The Hercules command is devinit 01c <path>/rpf200he.xmit ebcdic. You should specify the correct path to the file in place of <path> in the example command. Note: The command shown here in red specifies address x'01c' which is the correct address for an MVS system built using my instructions. The address specified must match a device in your MVS system that is defined as a card reader and that card reader must not be managed by JES2. It is also imperative that you include the ebcdic operand to inform Hercules to not do ASCII to EBCDIC translation when the host Operating System file is read in.
The output dataset may be named whatever meets your MVS 3.8j system requirements. On my system, there is already an alias for RPF that directs cataloging in User Catalog UCPUB000, which is appropriate as I am loading the dataset onto volume PUB000.
Submit the job to MVS to transfer the XMIT dataset to MVS and unpack it. The output for this job may be viewed at rpf200he.pdf.
Here is the tailored JCL for the job:
//RECV370 JOB (1),'UNPACK XMIT',CLASS=A,MSGCLASS=X //*-------------------------------------------------------- //RECV1 EXEC RECV370 //XMITIN DD UNIT=01C,DCB=BLKSIZE=80 <- INPUT //SYSUT2 DD DSN=RPF.R200.JCL, <- OUTPUT // VOL=SER=PUB000,UNIT=SYSDA, // SPACE=(CYL,(1,0,10),RLSE), // DISP=(,CATLG)
In the JCL above, the input dataset (XMITIN DD statement), you are specifying the exact address of a card reader that is emulated by Hercules. On the Hercules command window, initialize the card reader to point to the file on your host Operating System that holds the XMIT to be transferred. The Hercules command is devinit 01c <path>/rpf200jc.xmit ebcdic. You should specify the correct path to the file in place of <path> in the example command. Note: The command shown here in red specifies address x'01c' which is the correct address for an MVS system built using my instructions. The address specified must match a device in your MVS system that is defined as a card reader and that card reader must not be managed by JES2. It is also imperative that you include the ebcdic operand to inform Hercules to not do ASCII to EBCDIC translation when the host Operating System file is read in.
The output dataset may be named whatever meets your MVS 3.8j system requirements. On my system, there is already an alias for RPF that directs cataloging in User Catalog UCPUB000, which is appropriate as I am loading the dataset onto volume PUB000.
Submit the job to MVS to transfer the XMIT dataset to MVS and unpack it. The output for this job may be viewed at rpf200jc.pdf.
Here is the tailored JCL for the job:
//RECV370 JOB (1),'UNPACK XMIT',CLASS=A,MSGCLASS=X //*-------------------------------------------------------- //RECV1 EXEC RECV370 //XMITIN DD UNIT=01C,DCB=BLKSIZE=80 <- INPUT //SYSUT2 DD DSN=RPF.R200.SOURCE, <- OUTPUT // VOL=SER=PUB000,UNIT=SYSDA, // SPACE=(CYL,(10,0,15),RLSE), // DISP=(,CATLG)
In the JCL above, the input dataset (XMITIN DD statement), you are specifying the exact address of a card reader that is emulated by Hercules. On the Hercules command window, initialize the card reader to point to the file on your host Operating System that holds the XMIT to be transferred. The Hercules command is devinit 01c <path>/rpf200as.xmit ebcdic. You should specify the correct path to the file in place of <path> in the example command. Note: The command shown here in red specifies address x'01c' which is the correct address for an MVS system built using my instructions. The address specified must match a device in your MVS system that is defined as a card reader and that card reader must not be managed by JES2. It is also imperative that you include the ebcdic operand to inform Hercules to not do ASCII to EBCDIC translation when the host Operating System file is read in.
The output dataset may be named whatever meets your MVS 3.8j system requirements. On my system, there is already an alias for RPF that directs cataloging in User Catalog UCPUB000, which is appropriate as I am loading the dataset onto volume PUB000.
Submit the job to MVS to transfer the XMIT dataset to MVS and unpack it. The output for this job may be viewed at rpf200as.pdf.
Here is the tailored JCL for the job:
//RECV370 JOB (1),'UNPACK XMIT',CLASS=A,MSGCLASS=X //*-------------------------------------------------------- //RECV1 EXEC RECV370 //XMITIN DD UNIT=01C,DCB=BLKSIZE=80 <- INPUT //SYSUT2 DD DSN=RPF.R200.MACLIB, <- OUTPUT // VOL=SER=PUB000,UNIT=SYSDA, // SPACE=(CYL,(5,0,10),RLSE), // DISP=(,CATLG)
In the JCL above, the input dataset (XMITIN DD statement), you are specifying the exact address of a card reader that is emulated by Hercules. On the Hercules command window, initialize the card reader to point to the file on your host Operating System that holds the XMIT to be transferred. The Hercules command is devinit 01c <path>/rpf200s1.xmit ebcdic. You should specify the correct path to the file in place of <path> in the example command. Note: The command shown here in red specifies address x'01c' which is the correct address for an MVS system built using my instructions. The address specified must match a device in your MVS system that is defined as a card reader and that card reader must not be managed by JES2. It is also imperative that you include the ebcdic operand to inform Hercules to not do ASCII to EBCDIC translation when the host Operating System file is read in.
The output dataset may be named whatever meets your MVS 3.8j system requirements. On my system, there is already an alias for RPF that directs cataloging in User Catalog UCPUB000, which is appropriate as I am loading the dataset onto volume PUB000.
Submit the job to MVS to transfer the XMIT dataset to MVS and unpack it. The output for this job may be viewed at rpf200s1.pdf.
Here is the tailored JCL for the job:
//RECV370 JOB (1),'UNPACK XMIT',CLASS=A,MSGCLASS=X //*-------------------------------------------------------- //RECV1 EXEC RECV370 //XMITIN DD UNIT=01C,DCB=BLKSIZE=80 <- INPUT //SYSUT2 DD DSN=RPF.R200.PANELS, <- OUTPUT // VOL=SER=PUB000,UNIT=SYSDA, // SPACE=(CYL,(5,0,10),RLSE), // DISP=(,CATLG)
In the JCL above, the input dataset (XMITIN DD statement), you are specifying the exact address of a card reader that is emulated by Hercules. On the Hercules command window, initialize the card reader to point to the file on your host Operating System that holds the XMIT to be transferred. The Hercules command is devinit 01c <path>/rpf200pn.xmit ebcdic. You should specify the correct path to the file in place of <path> in the example command. Note: The command shown here in red specifies address x'01c' which is the correct address for an MVS system built using my instructions. The address specified must match a device in your MVS system that is defined as a card reader and that card reader must not be managed by JES2. It is also imperative that you include the ebcdic operand to inform Hercules to not do ASCII to EBCDIC translation when the host Operating System file is read in.
The output dataset may be named whatever meets your MVS 3.8j system requirements. On my system, there is already an alias for RPF that directs cataloging in User Catalog UCPUB000, which is appropriate as I am loading the dataset onto volume PUB000.
Submit the job to MVS to transfer the XMIT dataset to MVS and unpack it. The output for this job may be viewed at rpf200pn.pdf.
In the RPF Jobstreams Partitioned Dataset [RPF.R200.JCL] there is a job [$CMDLIB] which you will use to copy the RPF load modules to your TSO Command Library, probably it is called SYS2.CMDLIB on your system. I made a few changes, since the name where I installed the contents of the archive was different from what $CMDLIB is distributed to use.
Submit the job to MVS to copy the RPF load modules to the library where TSO loads modules from. The output for this job may be viewed at $cmdlib.pdf.
In the RPF Jobstreams Partitioned Dataset [RPF.R190.JCL] there is a job [$COPYHLP] which you will use to copy the RPF help text members to your TSO Help Library, probably it is called SYS2.HELP on your system. I made a few changes, since the name where I installed the contents of the archive was different from what $CMDLIB is distributed to use and also changed the JOB card parameters to suit me.
Submit the job to MVS to copy the RPF help text members to the library where TSO loads help text from. The output for this job may be viewed at $copyhlp.pdf.
RPF no longer requires the RPF.PROFILE dataset. Instead it creates and uses three members in the ISP.PROF dataset, which exists for each TSO User (DSN='userid'.ISP.PROF). If you have installed Greg Price's REVIEW or Wally Mclaughlin's ISPF, you already have the ISP Profile dataset set up. If not, you need to create (allocate) the dataset, using the job $PROFILE in the RPF Jobstreams Parititoned Dataset [RPF.R200.JCL].
Also, the profile dataset must also be allocated to your TSO session at LOGON. As an example of how to set this up, here is the contents of REVINIT installed into SYS1.CMDPROC by REVIEW:
PROC 0 /* CLIST TO ALLOCATE THE ISPF / RFE / REVIEW PROFILE DATA SET /* - THERE IS PROBABLY NO NEED TO RUN THIS AT ALL IF YOU HAVE /* ISPF FUNCTIONING CORRECTLY, BUT IT IS SHIPPED TO DISPLACE /* OLDER VERSIONS WHICH ARE NO LONGER SUITABLE SET PROFDSN = &SYSUID..ISP.PROF IF &SYSDSN('&PROFDSN') = OK THEN ALLOC F(ISPPROF) DA('&PROFDSN') ELSE DO CONTROL NOMSG FREE ATTR(PROFATTR) CONTROL MSG ATTR PROFATTR RECFM(F B) LRECL(80) BLKSIZE(3120) ALLOC F(ISPPROF) DA('&PROFDSN') NEW USING(PROFATTR) DIR(10) SP(2 2) + CYL VOLUME(PUB000) FREE ATTR(PROFATTR) END
This procedure is called at the time of LOGON from the final line of STDLOGON (also contained in the SYS1.CMDPROC dataset):
PROC 0 CONTROL NOMSG,NOLIST,NOSYMLIST,NOCONLIST,NOFLUSH CLS WRITE ******************************************- ************************************* WRITE * - * WRITE * - * WRITE * Welcome to the TSO sy- stem * WRITE * =====================- ==== * WRITE * - * WRITE * - * WRITE ******************************************- ************************************* REVINIT
Again, if you have REVIEW or ISPF installed, this mechanism for allocating the PROFILE dataset has already been installed and no action is required for RPF to function properly.
After saving the changes, log off and back on. RPF should now load at the TSO prompt:
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 February 14, 2025 .