The current Secure Shell protocol, as implemented in third-party products and current SSH Tectia versions, is designed for Unix files which are byte streams. MVS datasets are record-based. They must be staged before sending or destaged after they have been received. Staging copies a dataset into byte stream format and may also convert the character set. Destaging transforms a byte stream into a file format and may also convert the character set. Only HFS files that do not need character set conversion do not need to be staged.
Offline staging stores the byte stream as an HFS file. Online staging places the byte stream in virtual storage when the file is transferred. SSH Tectia client tools for z/OS includes a utility program,
ssh-sft-stage, for offline staging and destaging.
STAGE is a sample of JCL for running the staging utility located in
SAMPLIB (shown below).
//STAGE EXEC PGM=IKJEFT1A, // DYNAMNBR=75, // TIME=1440, // REGION=6M //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTERM DD DUMMY //STDOUT DD PATH='/tmp/&SYSUID.-STAGE.out', // PATHOPTS=(OWRONLY,OCREAT,OTRUNC), // PATHMODE=(SIRUSR,SIWUSR) //STDERR DD PATH='/tmp/&SYSUID.-STAGE.err', // PATHOPTS=(OWRONLY,OCREAT,OTRUNC), // PATHMODE=(SIRUSR,SIWUSR) //STDENV DD DSN=&SYSUID..SSZ.SRVR60.PARMLIB(SSHENV), // DISP=SHR //PROGLI DD DSN=&SYSUID..TEST.C.LIST, // DISP=SHR //SYSTSIN DD * BPXBATSL PGM /opt/tectia/sbin/ssh-sft-stage + -v + -i /FTADV:F=LINE,D=IBM-1047,C=ISO8859-1/+ //DD:PROGLI + -s /tmp/stage.tmp ALLOCATE FILE(PROUT1) DA(*) LRECL(252) RECFM(V,B) REUSE ALLOCATE FILE(PRERR1) DA(*) LRECL(252) RECFM(V,B) REUSE OCOPY INDD(STDOUT) OUTDD(PROUT1) TEXT PATHOPTS(OVERRIDE) OCOPY INDD(STDERR) OUTDD(PRERR1) TEXT PATHOPTS(OVERRIDE) /*
The SSH Tectia client tools for z/OS server program will use online staging automatically if a dataset cannot be transferred directly. Online staging is more convenient and, for small files, more efficient.
Offline staging incurs the overhead of writing the byte stream to disk and reading it. Online staging, for large files, will page out most of the byte stream and will page it in again. Online staging does not support files that are larger than 2 GB.
The SSH Tectia client tools for z/OS client programs support native MVS dataset reading and writing and do not require staging. Offline staging is still needed if a file is transferred to an MVS server and the size of the file is larger than 2 GB. To use offline staging, you must run the
ssh-sft-stage utility as a separate step.
A summary of situations when staging is needed is shown in the table below. In the table, Native indicates that staging is not required, Online indicates that online staging is automatically used, and Offline indicates that the dataset has to staged offline.
Table 9.1. Staging summary
|Client version||Server version||File size <2GB||File size >2GB|
|SSH Tectia z/OS 5.2-||Any Unix/Windows||Native||Native|
|SSH Tectia z/OS 5.2-||SSH Tectia z/OS 5.2-||Online||Offline|
|SSH Tectia Unix/Win 5.2-||SSH Tectia z/OS 5.2-||Native||Native|
|SSH Tectia (all) 4.x-5.1||SSH Tectia z/OS 5.2-||Online||Offline|
|3rd-party Unix/Win||SSH Tectia z/OS 5.2-||Online||Offline|