MVS38J, XMI

XMI Loads on MVS38J

Preview

The public domain MVS 3.8J OS exists in many packaged variations! That is, a specific installation can be a turnkey system such as TK3, TK3UPD, or TK4-, not to mention customized do-it-yourself (DIY) systems.

Each of the above stated systems have specific freeware / shareware / home-grown utilities or products!

Suffice it to say, not all systems are the same!

The purpose of this post is the share my experiences with loading XMI files from the host OS to the guest OS (MVS 3.8J) with the use of two transfer methods.

Although, an FTP product is supplied with TK3 and TK4- systems, I did not attempt to PUT an XMI file on MVS.

Thanks,
LarryB

3270 Emulator

Using Tom Brennan’s Vista TN3270 emulator, transferring an external file to the guest OS is as simple as identifying the source and target files along with DCB attributes for new dataset.

The emulator transfer function is dependent on IND$FILE, an MVS software component. A public-version of this software can be obtained at CBTTAPE.ORG (file 607 from Mike Rayborn) if not available on your installation.

Position to the TSO COMMAND Processor option or TSO READY prompt:

 ---------------------------  TSO COMMAND PROCESSOR  ----------------- v1.0.00 -
 ENTER TSO COMMAND, CLIST, OR REXX EXEC BELOW:                                  
                                                                                
 ===>                                                                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
   Place cursor on choice and press enter to Retrieve n Execute Command                    
   => TIME                                                                      
   => WHO                                                                       
   =>                                                                         
   =>                                                                           
   =>                                                                           
   =>                                                                           
   =>                                                                           
   =>                                                                           
   =>                                                                           
   =>                                                                           
   Controls: ExecI Y  ClrCMD Y  UpdtSA Y  RBlank Y     DelChr /           
 
                                                                               

On the 3270 emulator menu bar, select the following navigation –
Transfer –> Send to Host (actions may be named differently on different 3270 emulators)

Select XMI source file, declare target host file, Binary Data transfer to a TSO host.

Click Options to declare DCB attributes:

Additional Parameters for Up File Transfer are as follows:
NEW BLKSIZE(3200) RECFM(FB) LRECL(80)

That’s it!

When transfer completes, the XMI file is on the MVS platform and ready to be processed by RECV370/XMIT370 or TSO RECEIVE/TRANSMIT.

JES2 Reader

Assuming the XMI SEQ file has an LRECL=80, an MVS JES2 reader may be used as the transport mechanism (if available) as descripted below.

For this example, assume a JES2 reader device is located at address x20C and named RDR3.

Stop the JES2 reader using the MVS console command:
$PRDR3

Make note of the current DEVINIT statement for this device for reset purposes later in this section.

Attach the host XMI SEQ file to the JES2 reader device using the Hercules DEVINIT command:
DEVINIT 20C M:\MVS38J\TEMP\DISTLIB_TSOAPPLS.XMI EBCDIC

At this point, RECV370 can be used to load XMI content via reader device 20C.

Alternatively, TSO RECEIVE can be used to load XMI content after copying the host XMI SEQ file via reader device 20C.

After the XMI content is loaded, return the JES2 reader to its original state.

Reset RDR3 using the Hercules DEVINIT command:
DEVINIT 20C M:/MVS38J/JCL/DUMMY EOF

Start JES2 reader with the following command:
$SRDR3

Done!

The XMI file is on the MVS platform and ready to be processed by RECV370/XMIT370 or TSO RECEIVE/TRANSMIT.

The below sample JCL uses RECV370 to automate the above described method:

//RECV370A JOB (SYS),'RECV XMI',REGION=0M,               
//   CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),                  
//   COND=(0,NE),NOTIFY=LARRY03                          
//*                                                      
//*---------------------------------------               
//* ISSUE CONSOLE COMMAND: PAUSE JES2 READER             
//*---------------------------------------               
//OSCMD1   EXEC PGM=BSPOSCMD,PARM='$PRDR3'               
//*                                                      
//*---------------------------------------               
//* DEVINIT HERC READER WITH XMI FILE                    
//*---------------------------------------               
//HERCMD1  EXEC PGM=BSPHRCMD                             
//SYSIN    DD   *                                        
DEVINIT 20C M:\MVS38J\TEMP\DISTLIB_TSOAPPLS.XMI EBCDIC   
//*DEVINIT 20C M:\MVS38J\TEMP\DISTLIB_TSOAPPLS.XMI EBCDIC
//SYSPRINT DD   SYSOUT=*                  
//*                                       
//*---------------------------------------
//* RECEIVE XMIT TO SEQ                   
//*---------------------------------------
//RECV370  EXEC PGM=RECV370               
//STEPLIB  DD  DSN=SYS2.LINKLIB,DISP=SHR  
//RECVLOG  DD  SYSOUT=*                   
//XMITIN   DD  UNIT=20C,                  
//   DCB=(RECFM=FB,LRECL=80,BLKSIZE=80)   
//SYSPRINT DD  SYSOUT=*                   
//SYSUT1   DD  DSN=LARRY03.TEST.XMIT.D02, 
//   VOL=SER=PUB007,                      
//   UNIT=SYSDA,                          
//   SPACE=(TRK,(60,10),RLSE),            
//   DISP=(,CATLG,DELETE)                 
//SYSIN    DD  DUMMY                      
//SYSUDUMP DD  SYSOUT=*                   
//*                                       
//*---------------------------------------
//* DEVINIT HERC READER WITH RESET COMMAND
//*---------------------------------------
//HERCMD2  EXEC PGM=BSPHRCMD              
//SYSIN    DD   *                           
DEVINIT 20C M:/MVS38J/JCL/DUMMY EOF         
//*DEVINIT 20C M:/MVS38J/JCL/DUMMY EOF      
//SYSPRINT DD   SYSOUT=*                    
//*                                         
//*---------------------------------------  
//* ISSUE CONSOLE COMMAND: START JES2 READER
//*---------------------------------------  
//OSCMD2   EXEC PGM=BSPOSCMD,PARM='$SRDR3'  
//*                                         
//
                                                                               

The below sample JCL uses TSO RECEIVE to automate the above described method:

//RECVTSOA JOB (SYS),'TSORECV XMI',REGION=0M,               
//   CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),                  
//   COND=(0,NE),NOTIFY=LARRY03                          
//*                                                      
//*---------------------------------------               
//* ISSUE CONSOLE COMMAND: PAUSE JES2 READER             
//*---------------------------------------               
//OSCMD1   EXEC PGM=BSPOSCMD,PARM='$PRDR3'               
//*                                                      
//*---------------------------------------               
//* DEVINIT HERC READER WITH XMI FILE                    
//*---------------------------------------               
//HERCMD1  EXEC PGM=BSPHRCMD                             
//SYSIN    DD   *                                        
DEVINIT 20C M:\MVS38J\TEMP\DISTLIB_TSOAPPLS.XMI EBCDIC   
//*DEVINIT 20C M:\MVS38J\TEMP\DISTLIB_TSOAPPLS.XMI EBCDIC
//SYSPRINT DD   SYSOUT=*                  
//*
//*---------------------------------------
//* COPY XMIT TO MVS                   
//*---------------------------------------
//COPYXMI  EXEC PGM=IEBGENER
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  UNIT=20C,                  
//   DCB=(RECFM=FB,LRECL=80,BLKSIZE=80)   
//SYSUT2   DD  DSN=LARRY03.TSOAPPLS.XMI, 
//   DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200),
//   VOL=SER=PUB007,                      
//   UNIT=SYSDA,                          
//   SPACE=(TRK,(60,10),RLSE),            
//   DISP=(,CATLG,DELETE)                 
//SYSIN    DD  DUMMY                      
//*
//*---------------------------------------
//* DEVINIT HERC READER WITH RESET COMMAND
//*---------------------------------------
//HERCMD2  EXEC PGM=BSPHRCMD              
//SYSIN    DD   *                           
DEVINIT 20C M:/MVS38J/JCL/DUMMY EOF         
//*DEVINIT 20C M:/MVS38J/JCL/DUMMY EOF      
//SYSPRINT DD   SYSOUT=*                    
//*                                         
//*---------------------------------------  
//* ISSUE CONSOLE COMMAND: START JES2 READER
//*---------------------------------------  
//OSCMD2   EXEC PGM=BSPOSCMD,PARM='$SRDR3'  
//*                                         
//*---------------------------------------
//* TSO RECEIVE XMIT TO SEQ                   
//*---------------------------------------
//RECVTSO  EXEC PGM=IKJEFT01
//SYSPROC  DD  DISP=SHR,DSN=SYS2.CMDPROC           
//SYSPRINT DD  SYSOUT=*
//SYSTSPRT DD  SYSOUT=*
//SYSTSIN  DD *
RECEIVE IN('LARRY03.TSOAPPLS.XMI')            -  
        DA('LARRY03.TEST.XMIT.D02') NOPROMPT   
/*
//*                                       
//
                                                                               

The following utility programs are required to use the above JOB sample. MVS 3.8J TK4- includes both utilities.
– BSPOSCMD to issue MVS console commands
– BSPHRCMD to issue Hercules console commands
– RECV370 to receive XMI content
– RECEIVE to receive XMI content
– IEBGENER to copy sequential file

Closing

Hopefully this post provides additional tools for your MVS 3.8J tool-kit!

If you utilize a different method and would like to share, please contact me using the CONTACT US link at top of this post. I will be happy to update this post with your method including credit to the author.

If you have any questions, corrections and/or additions to this post to better explain the topic, use the CONTACT US link at top of this post.

Enjoy!

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *


CAPTCHA Image
Reload Image

This site uses Akismet to reduce spam. Learn how your comment data is processed.