Copyright Australian Systems Engineering Pty. Ltd. 2019
SS17-0720-2
SLiKSFTP Industrial Grade Data Transfer for z/OS platforms
USER’S GUIDE
Version 2
May 2019
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 2
LICENSED MATERIAL COPYRIGHT Australian Systems Engineering Pty. Ltd. 2012,2013,2014,2015,2016,2017,2018,2019 This material always remains the property of Australian Systems Engineering Pty. Ltd. and must be used only in accordance with the terms of the agreement under which it is supplied. Manual and Product identifiers. This manual is identified by a publication number, SS170720, combined with a revision level number (sometimes called a dash level) -2. The licensed software product, of which this manual is a part, is identified by a Product Name or Product Acronym and an Edition Number. Edition numbers are made up of a Version number and a Release number within that version. The material in this manual is intended to be used with SLiKSFTP Version 2 Release 0. The edition number may appear in licensed material in abbreviated forms like the following: V2R0, and V2.0. From time to time ASE may issue replacements for, or additions to, the pages in this manual. Each time the entire manual is replaced by a later version then the revision level (the dash level) part of the publication identifier will be increased by 1. Publication history: Dash product ver.rel GA date Highlights/added features -0 SLiKSFTP V2.0 July 2017 Version 2 -1 SLiKSFTP V2.0 Sep 2018 Update PUTZIP and GETZIP commands Added ATTR command -2 SLiKSFTP V2.0 Apr 2019 Support for NOJESGETBYDSN on FTP Site command. Support for filename templates. Added NOATTR command. Added COMPOPT TODS command. Added COMPOPT SINGLEZIP command. Added OPTIONS CRPATH command. Related Publications None Published by Australian Systems Engineering Pty. Ltd. 126A Gillies Street. FAIRFIELD, Victoria 3078, Australia telephone +61 3 9419 4200 email: [email protected] Trademarks z/OS is a registered trademark of IBM Corp. UNIX is a registered trademark of The Open Group
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 3
Contents Overview.................................................................................................................................. 7 Installing SLiKSFTP............................................................................................................... 8 Product Activation................................................................................................................... 9 Installing SLiKSFTP license key ........................................................................................... 9 (Page intentionally unused) .................................................................................................. 10 Using SLiKSFTP................................................................................................................... 11 Sample JCL for...................................................................................................................... 11 Running as an SFTP client.................................................................................................... 11 Running as an FTP client...................................................................................................... 11 SLiKSFTP Control Statements............................................................................................. 12
syntax ................................................................................................................................. 12 demokey key...................................................................................................................... 12 ftp ....................................................................................................................................... 13 open hostname [port] ........................................................................................................ 13 userid username@hostname ............................................................................................. 13 userid username................................................................................................................. 13 pass password .................................................................................................................... 13 cd remotedir ....................................................................................................................... 13 binary ................................................................................................................................. 13 ascii .................................................................................................................................... 14 crlf ...................................................................................................................................... 14 nocrlf .................................................................................................................................. 14 lf.......................................................................................................................................... 14 nolf ..................................................................................................................................... 14 elf........................................................................................................................................ 14 noelf.................................................................................................................................... 15 ebcdic ................................................................................................................................. 15 filepart ................................................................................................................................ 15 nofilepart............................................................................................................................ 15 put mvsdsn|dd:ddname remotefile.................................................................................... 16 putzip mvsdsn|dd:ddname|%ddname remotezipfile....................................................... 16 get remotefile mvsdsn|dd:ddname.................................................................................... 17 getzip remotezipfile mvsdsn|dd:ddname|%ddname ........................................................ 17 attr ‘allocation parameters’............................................................................................... 18 noattr .................................................................................................................................. 18 chmod mode remotefile .................................................................................................... 18 chgrp grp remotefile......................................................................................................... 18 chown owner remotefile ................................................................................................... 18 exit|bye|quit........................................................................................................................ 18 ls remotefile ....................................................................................................................... 19 mkdir dirname ................................................................................................................... 19 rmdir dirname .................................................................................................................... 19 rm remotefile ..................................................................................................................... 19
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 4
pwd..................................................................................................................................... 19 sshconf configfilename ..................................................................................................... 19 sshopt option...................................................................................................................... 19 passive................................................................................................................................ 20 site siteoptions ................................................................................................................... 20 quote string ........................................................................................................................ 20 stat ...................................................................................................................................... 20 syst...................................................................................................................................... 20 help..................................................................................................................................... 20 debug.................................................................................................................................. 20 debug1 debug2 debug3 ..................................................................................................... 21 options option1[,option2,…] ............................................................................................ 21 crpath ..................................................................................................................... 21 nocrpath ................................................................................................................. 21 ignorerr .................................................................................................................. 21 noignorerr .............................................................................................................. 21 jeswait(nnnn)......................................................................................................... 21 keepalive(nnnn)..................................................................................................... 22 mergeout................................................................................................................ 22 mow(nnnn) ............................................................................................................ 22 nostderr.................................................................................................................. 22 progress.................................................................................................................. 22 noprogress ............................................................................................................. 22 replace.................................................................................................................... 22 noreplace ............................................................................................................... 22 resume.................................................................................................................... 22 noresume ............................................................................................................... 23 retry(nnnn)............................................................................................................. 23 size(nnnn).............................................................................................................. 23 zipmsgs.................................................................................................................. 23 nozipmsgs.............................................................................................................. 23 debug ..................................................................................................................... 23 debug1 debug2 debug3......................................................................................... 23
compopt option1[,option2,…] .......................................................................................... 23
ascii........................................................................................................................ 24 binary..................................................................................................................... 24 elf ........................................................................................................................... 24
noelf ....................................................................................................................... 24 lf ............................................................................................................................. 24 nolf......................................................................................................................... 24 crlf.......................................................................................................................... 24 nocrlf...................................................................................................................... 25 member(name) ...................................................................................................... 25 opt(string).............................................................................................................. 25
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 5
password(password) ............................................................................................. 25 replace.................................................................................................................... 25 noreplace ............................................................................................................... 25 singlezip................................................................................................................. 25 nosinglezip ............................................................................................................ 25 strip ........................................................................................................................ 26 nostrip .................................................................................................................... 26 select(selectionmask)............................................................................................ 26 text ......................................................................................................................... 26 tods(dsn) ................................................................................................................ 26 notods..................................................................................................................... 26 trunc ....................................................................................................................... 26 wrap ....................................................................................................................... 27 zip64 ...................................................................................................................... 27
/* (comment-only lines).................................................................................................... 27 Built-in Functions.................................................................................................................. 27
Creating output dataset/file names for GET/PUT operations......................................... 27 Using Built-in Functions for generating names .............................................................. 28 Using Substrings and Segment numbers ......................................................................... 28 Built-in Functions supported by SLiKSFTP ................................................................... 29 Error message text specific to Built-in Function processing.......................................... 30
Sample Jobs ........................................................................................................................... 31 1. Transfer file, change file’s mode on remote host: .................................................. 31 2. ZIP & transfer file, change file’s mode on remote host: ........................................ 32 3. ZIP, encrypt & transfer a file, set file’s mode on remote host:.............................. 32 4. Translate file from EBCDIC to ASCII & transfer it: ............................................. 33 5. Zip a file, translating from EBCDIC to ASCII, and transfer it. ............................. 33 6. Retrieve a file from remote host. ............................................................................. 34 7. Retrieve a text file, translating from ASCII to EBCDIC: ...................................... 34 8. Translate file from EBCDIC to ASCII without removing trailing blanks & transfer it:........................................................................................................................... 35 9. Transfer an EBCDIC text file to another EBCDIC machine: ................................ 35 10. ZIP & transfer file, suppress zip messages: ........................................................ 36 11. Transfer a ZIP file from a remote machine and UNZIP: ................................... 36 12. Transfer a ZIP file from a remote machine, UNZIP and decrypt:..................... 37 13. ZIP & transfer file using FTP protocol: .............................................................. 37 14. ZIP, encrypt & transfer a file using FTP protocol:............................................. 38 15. ZIP selected members from a PDS, translate to ascii, append linefeed to each record and transfer the zip file using FTP protocol: ...................................................... 38 16. Use SLiKZIP control statements to ZIP multiple datasets, translating to ascii , append carriage return/linefeed to each record, remove trailing blanks and transfer the zip file using FTP protocol: .............................................................................................. 39 17. Transfer a ZIP file from a remote machine and UNZIP a selected member translating from ascii and removing the line feed from the end of each record:........... 40 18. ZIP & transfer file using an alternate ssh configuration: ................................... 40
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 6
19. Transfer multiple files to remote host. Use a template to create files on the remote host with names created from the third segment of the dataset name appended with the current date.......................................................................................................... 41 20. Transfer multiple files from remote host. Use a template to create datasets on the local host with names that are prefixed ASE.BACKUP followed by the remote filename.............................................................................................................................. 41 21. Submit a job to a remote JES2 system and retrieve the output.......................... 42 22. Zip multiple datasets to the one file and transfer the zip file to the remote host. 42 23. Zip and transfer multiple datasets to the remote host. Each dataset will be stored in a zip file whose file name is created from the second segment of the dataset name. 43 24. Extract members from a remote zip file that match the selection argument smp*.dat. For each member create a dataset with name asepmd.&mem..data where &mem is the member name. If the dataset does not exist then it will be created. ........ 43
Sample Output ....................................................................................................................... 44 1. Output of a typical SLIKSFTP job using SFTP protocol....................................... 44 2. Output of a typical SLIKSFTP job using FTP protocol ......................................... 46
Messages ................................................................................................................................ 48
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 7
Overview
SLiKSFTP is a utility program that provides direct transfer of z/OS mainframe (“MVS”) datasets to and from remote sites in compliance with the SFTP or FTP protocol There is no need to copy MVS datasets to (outgoing) or from (incoming) the USS file system.
SLiKSFTP operates as an SFTP or FTP client only.
SLiKSFTP has built-in compression routines that enable it to convert an MVS dataset to a zip file “on the fly”. When this option is chosen the compression and the transfer operations proceed in parallel. Typically the elapsed transfer time will be significantly less than either the time required to transfer the MVS dataset uncompressed, or the total time required to first zip the MVS dataset and then transfer the resulting zip file.
When the ZIP option is chosen it's also possible to specify a passphrase so that the ZIP member is encrypted (AES 128/192/256 bit, depending upon the length of the passphrase). Use of this option can also enhance the post-transfer security of data sent to a remote system.
ASE makes it easy for you to trial SLiKSFTP anonymously so you can decide for yourself if it will make your business computing more effective.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 8
Installing SLiKSFTP
SLiKSFTP is installed by downloading the install XMIT file from the ASE website www.ase.com.au/sliksftp/ssdemo.htm
Download SLIKS200.INSTALL.ZIP to your PC workstation.
Extract file SLIKS200.INSTALL.XMIT.
Transfer file SLIKS200.INSTALL.XMIT to a z/OS dataset named: hlq.SLIKS200.INSTALL.XMIT
Use dataset attributes: RECFM=FB, LRECL=80,BLKSIZE=asuitablevalue.
Specify BINARY during the transfers to prevent any translation.
Use the following JCL to RECEIVE the XMIT file:
//TSO EXEC PGM=IKJEFT01 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * DELETE SLIKS200.INSTALL RECEIVE INDA('hlq.SLIKS200.INSTALL.XMIT') DELETE SLIKS200.SFTPSAMP RECEIVE INDA(SLIKS200.INSTALL(SFTPSAMP)) DELETE SLIKS200.SFTPLOAD RECEIVE INDA(SLIKS200.INSTALL(SFTPLOAD)) /*
This will create the load module library hlq.SLIKS200.SFTPLOAD and the sample library hlq.SLIKS200.SFTPSAMP.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 9
Product Activation The copy of SLiKSFTP you download from the ASE website is a full-function demo version. Once installed you must obtain a key in order to use it. A key, good for the current day only, may be obtained anonymously from the SLiKSFTP web site at http://www.ase.com.au/sliksftp/ssdemo.htm. Alternatively, you may complete a Trial Agreement, fax it to ASE and we will email you a key for a 30 day extended trial. The key is a 34-character string that must be supplied to the demo version of SLiKZiP in a control statement so that the product will function. The control statement will look like this: demokey nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
The string of n’s represents the 34-character key. If the key is invalid or has expired, you’ll get this message and SLiKZiP will terminate immediately: ZIP0207I DEMOKEY value missing or invalid for today's date, terminating
Installing SLiKSFTP license key
When you take out a license for SLiKSFTP from ASE you will not have to supply DEMOKEY statements to use the software. Instead ASE will supply you with a 12-month key. Refer to the LICENSE member of the sample library to create a batch job which will install the key directly into the product. During the duration of your license term ASE will automatically supply your nominated email contact(s) with a replacement 12-month key 45 days prior to the expiry of the current key that you are using. SLiKSFTP will automatically start warning users, via message ZIP0213W, when the current key is less than 31 days from expiring.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 10
(Page intentionally unused)
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 11
Using SLiKSFTP
The program is designed to be used in z/OS batch.
Sample JCL for running SLiKSFTP:
//SLIKZ EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * ..control statements go here.. // See SAMPLIB member RUNSFTP
SSH Connection Authentication for SFTP
When running as a SFTP client the connection to the remote site is established via SSH. As SLiKSFTP runs as a batch job a non-interactive authentication method such as public key authentication is required.
Refer to the Chapter 7 Getting ready to use OpenSSH in the IBM Ported Tools for z/OS User’s Guide (SA22-7985) for details on how to configure SSH authentication.
Running as an SFTP client
By default SLiKSFTP runs as an SFTP client.
Note that some statement verbs and options are exclusive to (only supported in) SFTP mode.
Running as an FTP client
The FTP control statement can be used to switch the program to run as an FTP client. When present, the FTP statement must be the first statement in the control statement file –or- the first statement following a DEMOKEY statement if one is present.
Note that some statement verbs are exclusive to (only supported in) FTP mode.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 12
SLiKSFTP Control Statements
Control statements, or commands, are read via ddname SYSIN. Refer to “Sample JCL for running SLiKSFTP” above.
syntax
Statements have the format:
Verb operands
Statements may be continued over multiple lines using the “trailing plus” syntax:
compopt select('s*.dat,t*.rpt'),+ ascii,+ lf
When a statement is to be continued, make the last non-blank character, or the last non-blank character prior to any “/*”, a “+” (plus sign). If the following line has any leading spaces, they will be ignored. This means that if the statement syntax requires a blank or space, to separate two process options for example, then at least one space must precede the “+”.
Comments can be added to the end of any control statement. Comments begin with the characters “/*” e.g:
Demokey C96A98378CC7DA37572DB107CE9F6AFC31 /* Today’s key
The following commands are supported:
demokey key
Usage: SFTP and FTP mode
Specifies the trial license key. Key values, current for today only, may be obtained from the SLiKSFTP page at http://www.ase.com.au/sliksftp/ssdemo.htm
Trial users must provide a valid enabling key by placing a demokey statement as the first line in the control statement file.
[Licensed users of SLiKSFTP are provided with a long-term key which they install in the SLiKSFTP load module, thus removing the need for the demokey statement.]
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 13
ftp
Usage: in SFTP mode to switch to FTP mode.
Switch to FTP mode. The FTP protocol will be used to transfer data to/from the server. The ftp statement must either be the first control statement, or must follow immediately after a demokey statement if one is present.
open hostname [port]
Usage: FTP mode only
Specifies the remote host to logon to. Optionally you can specify a port number to override the default port 21.
userid username@hostname Usage: SFTP mode only
Specifies the remote host to logon to and the user name to use. A session is established with the remote host via ssh.
userid username
Usage: FTP mode only
Specifies the username to use when logging on to the remote ftp server.
pass password Usage: SFTP and FTP mode
Specifies the password for the userid specified on the userid statement.
cd remotedir Usage: SFTP and FTP mode
Change directory on the remote host. This command enables the user to identify where in the remote host’s filesystem subsequent file & directory management commands operate.
binary
Usage: SFTP and FTP mode
Perform a binary transfer. The file being transferred is not to be subject to any form of translation.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 14
ascii
Usage: SFTP and FTP mode
During a PUT or PUTZIP operation every byte of the data to be transferred will be first translated from EBCDIC to ASCII and LF sequences will be inserted as record terminators
During a GET or GETZIP operation the decrypted and unzipped data will be translated from ASCII to EBCDIC. LF or CRLF sequences will be removed from the end of each record.
crlf Usage: SFTP and FTP mode
During a PUT or PUTZIP operation a carriage return and line feed sequence will be inserted at the end of each record before it is processed.
During a GET or GETZIP operation CRLF characters will be removed from the end of each record.
nocrlf
Usage: SFTP and FTP mode
Disables a previous crlf command. A carriage return and line feed sequence will not be inserted at or removed from the end of each record processed.
lf
Usage: SFTP and FTP mode
During a PUT or PUTZIP operation a line feed sequence will be inserted at the end of each record before it is processed.
During a GET or GETZIP operation line feed characters will be removed from the end of each record.
nolf Usage: SFTP and FTP mode
Disable a previous lf command. A line feed sequence will not be inserted at or removed from the end of each record processed.
elf
Usage: SFTP and FTP mode
During a PUT or PUTZIP operation an ebcdic line feed sequence (x’15’) will be inserted at the end of each record before it is processed.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 15
During a GET or GETZIP operation ebcdic line feed characters will be removed from the end of each record.
noelf
Usage: SFTP and FTP mode
Disable a previous elf command. An ebcdic line feed sequence (x’15’) will not be inserted at or removed from the end of each record processed.
ebcdic Usage: SFTP and FTP mode
During a PUT or PUTZIP a EBCDIC new line character (x’15’) will be inserted at the end of each record.
During a GET or GETZIP operation the EBCDIC new line character (x’15) will mark the end of each logical record and will be removed.
The ebcdic option should be used when transferring text data between z/OS systems.
filepart
Usage: SFTP and FTP mode
During a put operation the file will be transferred using a temporary filename that consists of the target file name with “.filepart” appended. Once the transfer has completed successfully the file will be renamed to the target name. Using FILEPART ensures that a target file is not replaced if the transfer fails. FILEPART is the default.
nofilepart Usage: SFTP and FTP mode
For a put operation the file will be transferred using the target filename. This overrides the default operation where the file is transferred using a temporary name that consists of the file name with “.filepart” appended. Note that by specifying NOFILEPART the target file will be overwritten even if the transfer fails.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 16
put mvsdsn|dd:ddname remotefile
Usage: SFTP and FTP mode
Transfer a z/OS dataset to file remotefile on the remote host. The file is not compressed. Specify either a dataset name (mvsdsn) or a ddname to which the dataset is allocated (dd:ddname). The mvsdsn can be a generic mask containing ‘?’ to match single characters, an asterisk (‘*’) to match multiple characters e.g ASE.* and a double asterisk (‘**’) to match any number of qualifiers e.g ASE.**.TEST. All datasets that match the mask will be transferred.
The remote file name remotefile may be an actual file name or a template composed of literal characters and built-in function expressions to be resolved at run time. See Using Built-in Functions for generating names.
In FTP mode, if the FTP site options FILETYPE=JES has been specified then mvsdsn will specify a dataset on the local machine that contains a job that is to be submitted to the remote machine.
If remotefile is not specified then it will default to the mvs dataset name.
putzip mvsdsn|dd:ddname|%ddname remotezipfile Usage: SFTP and FTP mode
Transfer z/OS dataset to file remotezipfile on the remote host. The z/OS dataset content will be compressed on the fly and remotezipfile will be in the zip file format. Specify either a dataset name (mvsdsn) or a ddname to which the dataset is allocated (dd:ddname). The mvsdsn can be a generic mask containing ‘?’ to match single characters, an asterisk (‘*’) to match multiple characters e.g ASE.* and a double asterisk (‘**’) to match any number of qualifiers e.g ASE.**.TEST. All datasets that match the mask will be transferred.
If the mvsdsn is specified as %ddname then the compression program will read control statements from DD statement ddname to determine the data to be compressed and the compression options. If ddname is omitted i.e just % is specified then the ddname will default to SLIKCNTL. This feature allows more advanced zip files to be transferred to the remote system.
The remote zip file name remotefile may be an actual file name or a template composed of literal characters and built-in function expressions to be resolved at run time. See Using Built-in Functions for generating names.
If mvsdsn is generic then by default each dataset will be processed separately, allowing a unique remote zip file to be created for each dataset if remotezipfile specifies a template. To force all matching files to be zipped to the one remote zip file use a compopt singlezip statement before the putzip statement.
If remotezipfile is not specified then it will default to the mvs dataset name.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 17
get remotefile mvsdsn|dd:ddname
Usage: SFTP and FTP mode
Transfer file remotefile from remote host to a z/OS dataset. Specify either a dataset name (mvsdsn) or a ddname to which the dataset is allocated (dd:ddname). If mvsdsn does not exist then it will be allocated if an attr statement has been previously encountered.
The remotefile can be a generic mask containing ‘?’ to match single characters and an asterisk (‘*’) to match multiple characters e.g daily*.txt. All datasets that match the mask will be transferred.
The dataset name mvsdsn may be an actual file name or a template composed of literal characters and built-in function expressions to be resolved at run time. See Using Built-in Functions for generating names.
If mvsdsn is not specified then it will default to the remote file name.
In FTP mode, if the FTP site options FILETYPE=JES and NOJESGETBYDSN have been specified then remotefile will specify a dataset on the remote machine that contains a job that is to be submitted. SLiKSFTP will wait until the job completes and will then retrieve the output and place it in the dataset specified by mvsdsn.
getzip remotezipfile mvsdsn|dd:ddname|%ddname Usage: SFTP and FTP mode
Transfer file remotezipfile on the remote host, unzipping it to create a z/OS dataset. Specify either a dataset name (mvsdsn) or a ddname to which the dataset is allocated (dd:ddname). If mvsdsn does not exist then it will be allocated if an attr statement has been previously encountered.
All members of the zip file will be extracted. To extract only specific members of the dataset use a compopt select(argument) statement prior to the getzip statement
The remotezipfile can be a generic mask containing ‘?’ to match single characters and an asterisk (‘*’) to match multiple characters e.g daily*.zip. All datasets that match the mask will be transferred and unzipped.
If the mvsdsn is specified as %ddname then the uncompression program will read control statements from the DD statement ddname to determine the data to be uncompressed and the uncompression options. If ddname is omitted i.e just % is specified then the ddname will default to SLIKCNTL. This feature allows more advanced uncompress operations to be performed.
The dataset name mvsdsn may be an actual file name or a template composed of literal characters and built-in function expressions to be resolved at run time. See Using Built-in Functions for generating names.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 18
If mvsdsn is not specified and compopt tods(datasetname) has previously been specified then the tods dataset name will be passed to SliKZiP as the output dataset. The dataset name can be a SliKZiP template which will enable datasets to be created based on the names of the members extracted from the zip file.
If mvsdsn is not specified and compopt tods has not been specified then it will default to the remote file name.
attr ‘allocation parameters’
Usage: SFTP and FTP mode
The attr statement provides allocation parameters to be used if the target dataset for a get/getzip operation does not exist. The allocation parameters should be in the format of a TSO allocate command. Do not specify DSN or FILE operands.
noattr
Usage: SFTP and FTP mode
The noattr statement resets the allocation parameters provided by a previous attr statement.
chmod mode remotefile
Usage: SFTP mode only
Changes the permissions of the file remotefile to mode. Mode must be an octal number.
chgrp grp remotefile
Usage: SFTP mode only
Changes the group the file remotefile to grp. grp must be a numeric GID.
chown owner remotefile
Usage: SFTP mode only
Changes the owner of file remotefile to owner. owner must be a numeric UID.
exit|bye|quit
Usage: SFTP and FTP mode
Terminate the ssh session with the remote host.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 19
ls remotefile
Usage: SFTP and FTP mode
List statistics for file remotefile on the remote host. If remotefile is a directory the contents of the directory are listed. If directory is not specified the current working directory is listed.
mkdir dirname
Usage: SFTP and FTP mode
Make directory dirname on the remote host.
rmdir dirname Usage: SFTP and FTP mode
Remove directory dirname on the remote host.
rm remotefile
Usage: SFTP and FTP mode
Remove file remotefile from the “current” directory on the remote host.
pwd Usage: SFTP and FTP mode
Print the name of the “working” or “current” directory on the remote host.
sshconf configfilename Usage: SFTP mode only
Specifies the name of an alternate ssh configuration file to be passed to ssh. This will override the system ssh options. This statement must occur before the USERID statement.
sshopt option
Usage: SFTP mode only
Specifies an option to be passed to ssh. This allows individual options in the ssh config file to be overridden. This statement must occur before the USERID statement.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 20
passive
Usage: FTP mode only
Toggles the state of the passive transfer mode. If passive mode is on then the server will listen on a data port and wait for a connection from the client rather than initiate a session on the receipt of a transfer command. By default passive mode in on.
Passive mode is necessary if the client is located behind a firewall. Normally the server will not be able to start a data session with the client if the session must pass through a firewall.
site siteoptions Usage: FTP mode only
The site command allows options that are unique to the server to be sent.
quote string
Usage: FTP mode only
The free format string specified will be sent to the server as a command. This allows custom commands not implemented by SLiKSFTP to be sent to the server.
stat
Usage: FTP mode only
Displays a status response from the server.
syst Usage: FTP mode only
Displays the type of operating system at the server.
help
Usage: FTP mode only
Displays the help information from the server.
debug
Usage: SFTP and FTP mode only
Displays debugging information from SLiKSFTP.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 21
debug1 debug2 debug3
Usage: SFTP mode only
Displays debugging information from SSH. Debug1 causes a –v parameter to be passed to ssh. Debug2 causes –vv to be passed and debug3 causes –vvv to be passed.
options option1[,option2,…]
Usage: SFTP and FTP mode
The OPTIONS statement or command supports the following keywords:
crpath
For put and putzip operations, directories in the path of the target remote file that do not exist will be created.
nocrpath
For put and putzip operations, directories in the path of the target remote file that do not exist will not be created. If the directories do not exist then the file transfer will fail. This is the default.
ignorerr
Causes errors reported by the FTP server to be ignored. This can be used to avoid SLiKSFTP terminating if a command such as RM fails due to a non existent file.
noignorerr
Non zero return codes from FTP commands will cause SLiKSFTP to terminate. This is the default.
jeswait(nnnn)
The maximum number of seconds to wait for a job submitted to a remote JES2 system to complete. If the wait time is exceeded then the output from the job will not be retrieved. The default is to wait forever.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 22
keepalive(nnnn)
Sets the TCP_KeepAlive socket option to the value specified (1-2147460 seconds). The default is the system tcp value. This parameter allows you to override the system value if TCP sessions are timing out. TCP will send a keep-alive packet at the specified interval to keep the session active.
mergeout
Messages normally written to ddname STDERR will be written to STDOUT.
mow(nnnn)
Maximum outstanding writes. For each write the server responds with a status message. Performance is improved if these messages are processed in a group rather than individually. The mow(nnnn) parameter specifies the number of write requests that will be performed before a status response is read from the server. The default value is 1000. This parameter only affects SFTP transfers.
nostderr
Messages normally written to ddname STDERR will be discarded.
progress
Show progress messages during transfer. If both PROGRESS and NOPROGRESS are omitted, PROGRESS is the default.
noprogress
Do not show progress messages during transfer. If both PROGRESS and NOPROGRESS are omitted, PROGRESS is the default.
replace
A PUT or PUTZIP operation will replace an existing file of the same name on the remote host. If both REPLACE and NOREPLACE are omitted, REPLACE is the default.
noreplace
A PUT or PUTZIP operation will not replace an existing file of the same name on the remote host. If both RESUME and NORESUME are omitted, NORESUME is the default.
resume
A PUT or PUTZIP operation will resume a previously interrupted transfer of the same file to the remote host. If both RESUME and NORESUME are omitted, NORESUME is the default.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 23
noresume
A PUT or PUTZIP operation will not resume a previously interrupted transfer of the same file to the remote host. The transfer will be restarted from the beginning of the file. If both RESUME and NORESUME are omitted, NORESUME is the default.
retry(nnnn)
Sets the maximum number of times that SLiKSFTP will retry a transfer that has failed due to a network error. The default is 5.
size(nnnn)
Sets the maximum packet size to use when transferring data. The maximum value is 98304. This value should be larger than the record length of the file being transferred.
zipmsgs
Causes messages from the zip/unzip program to be written to the SYSPRINT DD statement. This will show compression statistics for PUTZIP and GETZIP operations. This is the default.
nozipmsgs
Suppresses the printing of messages from the zip/unzip program.
debug
Displays debugging information from SLiKSFTP.
debug1 debug2 debug3
Displays debugging information from SSH. Debug1 causes a –v parameter to be passed to ssh. Debug2 causes –vv to be passed and debug3 causes –vvv to be passed.
compopt option1[,option2,…] Usage: SFTP and FTP mode
This statement specifies options for the compress/uncompress process when performing a PUTZIP or GETZIP operation. The following keywords are supported:
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 24
ascii
During a PUTZIP operation every byte of the data to be transferred will be first translated from EBCDIC to ASCII.
During a GETZIP operation the decrypted and unzipped data will be translated from ASCII to EBCDIC.
Note that this differs from ASCII control statement above. The ASCII control statement also appends a carriage return and line feed to each record. This option just translates the record to ASCII, you then must specify either LF or CRLF to append line terminator characters.
binary
Perform a binary transfer. The file being transferred is not to be subject to any form of translation.
elf
During a PUTZIP each record transferred will have an ebcdic linefeed character (x’15’) appended as a record terminator before being compressed.
During a GETZIP operation the end of each decrypted record will be determined by the presence of an ebcdic linefeed character. The linefeed character will be removed before writing the record to the output dataset.
noelf
Disables a previous elf option.
lf
During a PUTZIP each record transferred will have a linefeed character appended as a record terminator before being compressed.
During a GETZIP operation the end of each decrypted record will be determined by the presence of a linefeed character. The linefeed character will be removed before writing the record to the output dataset.
nolf
Disables a previous nolf option.
crlf
During a PUTZIP each record transferred will have a carriage return and linefeed characters appended as a record terminator before being compressed.
During a GETZIP operation the end of each decrypted record will be determined by the presence of a carriage return/linefeed pair. The carriage return and linefeed characters will be removed before writing the record to the output dataset.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 25
nocrlf
Disables a previous crlf option.
member(name)
Used when performing a PUTZIP operation to specify the member name in the zip file for the compressed mvs dataset.
opt(string)
Specifies a free format string of options to be passed to the compression program. The string should be enclosed in single quotes if it contains more than one term.
password(password)
For a PUTZIP operation, the zip file member is to be encrypted using AES 128/192/256 bit encryption using password.
For a GETZIP operation, if the zip file member is encrypted using AES 128/192/256 bit encryption, decryption will be attempted using password.
Note that password may be up to 99 characters in length. password must be enclosed in doublequotes (“) if it contains spaces, commas, apostrophes or parentheses.
Note that for a PUTZIP operation, password will be required at the remote system to unzip the file.
replace
During a GETZIP operation if the target MVS dataset is a PDS then existing members that are uncompressed will be replaced.
noreplace
During a GETZIP operation if the target MVS dataset is a PDS then existing members will are uncompressed will not be replaced. This is the default.
singlezip
For a PUTZIP operation where the input dataset name is a generic mask, all the matching input datasets will be compressed into a single output zip file.
nosinglezip
For a PUTZIP operation where the input dataset name is a generic mask, each matching input dataset will be processed separately and multiple output zip files will be created if the output file name is a template or is omitted. This is the default.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 26
strip
Removes trailing blanks from each text record before transferring the record during a PUT or PUTZIP operation. Either ASCII or EBCDIC command must also be specified. This will reduce the amount of data transferred especially if the input file has RECFM=FB. This is the default for text files.
nostrip
Suppresses removal of trailing blanks from each text record before transferring the record during a PUT or PUTZIP operation.
select(selectionmask)
For a PUTZIP operation, if the mvs dataset specifies a PDS then the selection mask is used to select members of the PDS to be added to the zip file. The selection mask has the form member.ext The member part is used to select the members of the PDS and can be generic e.g. D*.txt . The ext part is appended to each member name selected to create the default name for the zip file member.
For a GETZIP operation, the selection mask is used to select members of the zip file to be unzipped. The selection mask can be generic e.g. Report*.dat.
text
During a PUTZIP operation every byte of the data to be transferred will be first translated from EBCDIC to ASCII and each record will have a carriage return and line feed characters appended.
During a GETZIP operation the decrypted and unzipped data will be translated from ASCII to EBCDIC and carriage return and line feed characters will be removed from each record.
tods(dsn)
This parameter can be used on a getzip operation to specify the output dataset name. The name can be a SliKZiP filename template.
notods
This parameter can be used to reset a previous tods parameter.
trunc
During a GETZIP operation, if the uncompressed record is longer than the logical record for the output dataset then the record will be truncated.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 27
wrap
During a GETZIP operation, if the uncompressed record is longer than the logical record for the output dataset then the record will be wrapped into multiple records. This is the default.
zip64
Specifies that the 64-bit zip file architectural option is to be used. This option must be specified if there is a possibility that the z/OS dataset contains 4GB or more of data. Compliant unzip programs on the remote system will support the ZIP64 architecture.
/* (comment-only lines) A comment-only line may be inserted at any point in the control statement file. Note that at least the first position of a comment-only line must be blank. The first, or left-most, non-blank characters on a comment-only line must be “/*”.
Do not place “/*” in the first two positions of a control statement line as this will be interpreted by z/OS as an end-of-file indicator.
Built-in Functions
Creating output dataset/file names for GET/PUT operations For GET/PUT operations, output dataset/file names can be built at run time using built-in functions. This feature can greatly enhance automation of GET/PUT operations when multiple files are transferred. When the dataset/file name provided as the second operand of a PUT or GET statement, contains an “&” character then we refer to it as a template. For a GET operation the actual dataset whose name is generated at run time may or may not exist. If it doesn’t exist you may want SLiKSFTP to create it. To assist this process you may specify the allocation attributes to use on a ATTR control statement prior to the GET operation. When building a dataset name, any lower case characters selected are converted to upper case. If the resulting dataset name is not a valid one then the dynamic allocation will fail and SLiKSFTP will be unable to complete the operation.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 28
Using Built-in Functions for generating names SliKSFTP supports a number of symbolic references that can be used to create template dataset names for GET operations and remote file names during PUT operations.
Using Substrings and Segment numbers All of the functions permit optional substring specifications (up to three numbers enclosed in braces {} immediately following the function name). Substring specification supports two forms: ‘from: to’ and ‘from,for’. Use of the colon or comma differentiates between the two forms. ‘from:to’ format indicates the start and end positions of a range. Negative numbers indicate positions relative to the right-hand end e.g. 2:-2 means from position 2 to the second last position. The ‘from,for’ format indicates the start position and a count of characters. The ‘from’ position can be a negative number here as well e.g. ‘-2,1’ means from the second last position for a count of one. There is a third form where a single number provides a “from” position and the “for” value is assumed to be “the rest”. Some of the built-in functions support a segment number as well. Dataset names, like SYS1.PROD.SYSLOG, and paths, like /etc/editor/settings.conf, consist of multiple parts that we refer to as segments. The segment number may be used to select a single segment from the name. Again, a negative number may be used with, for example, ‘-1’ meaning the last or right-most segment. Segment number 0 refers to the complete name including the segment separator characters. When using a function reference without any substring specification, the reference must be followed immediately by a trailing “.” so that SLiKSFTP knows unambiguously where the function name ends. Assuming we wanted remote file names to consist of the PDS member name plus an appended “#0” then if we tried &MEM#0 SLiKSFTP would complain about unknown variable or function in pattern. Instead we’d have to code &MEM.#0. The corollary of this is that when we actually want a period to follow the resolution of a function name we have to use two periods, the first of which will be discarded. E.g. &time..txt
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 29
Built-in Functions supported by SLiKSFTP The following built-in functions are supported by SLiKSFTP:
&zf[{from:tofrom,for}] refers to the current file-id in GET operations.
&zn[{from:tofrom,for}] refers to the current file-name in GET operations.
&mem is a synonym for &zn in GET operations and for the PDS member name in PUT operations.
&zx[{from:tofrom,for}] refers to the current file extension in GET operations.
&ext is a synonym for &zx in GET operations.
&frdd[{from:tofrom,for}] refers to the current source DD name in PUT operations.
&frds[{segment#[,segmentcount:segment#]}] refers to the current source dataset name in PUT operations. Note that dataset name segments are separated by periods (.). This syntax allows one or more dataset name segments to be extracted.
&frds[{segment#[,from:tofrom,for]}] refers to the current source dataset name in PUT operations. Note that dataset name segments are separated by periods (.). This syntax allows all or part of a single dataset name segment to be extracted.
&frpa[{segment#[,segmentcount:segment#]}] refers to the current source dataset name with periods replaced by “/” so that the dataset name looks like a path with segments separated by the “/” character. This syntax allows one or more dataset name segments to be extracted with “/” separating them. Only valid for PUT operations.
&frpa[{segment#[,from:tofrom,for]}] refers to the current source dataset name with periods replaced by “/” so that the dataset name looks like a path with segments separated by the “/” character. This syntax allows all or part of a single dataset name segment to be extracted. Only valid for PUT operations.
&date[{from:tofrom,for}] refers to the local date in yyyymmdd format.
&time[{from:tofrom,for}] refers to the local time in hhmmss format.
&zp[{segment#[,from:tofrom,for]}] refers to the current path in GET operations. Path segments are separated by the “/” character. The last segment, &ZP{-1}, is equivalent to &ZF.
&n[{from:tofrom,for}] refers to the relative number (1,2,3…) of the file transfer. All built-in functions also have variants that produce an uppercase or lowercase result. An uppercase result can be obtained by appending a “uc” suffix to the function name. Similarly a lowercase result can be obtained by appending a “lc” suffix. For example the current file-id can be obtained using the &zf function. To obtain a lowercase version of the file-id use the &zflc function. For uppercase use &zfuc.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 30
Here are some examples illustrating various substring arguments. These examples assume that &frds has the value “APPL.SALES.D020516” and &mem has the value “DAT01JUN”. &frds{2} resolves to “ SALES” &frdslc{2} “sales” &frdsuc{2} “SALES” &frpa{2:3} “SALES/D020516” &frds{1,2} “APPL.SALES” &frds{3,2:7} “020516” &frds{3,4,4} “0516” &frds{3} “D020516” &frds{-1} “D020516” &frpa{0,4,3} “L/S” &MEM{4:8} “01JUN” &MEM{-3} “JUN” &MEMLC{-3} “jun”
Error message text specific to Built-in Function processing
The following error text can appear as a part of, or in association with, other SLiKSFTP messages:
invalid template or pattern syntax
Review the syntax rules, review the template in PUT or GET operands.
result buffer overflow
The template expansion exceeds 256 bytes, the maximum length supported
unknown variable or function in pattern
Review the supported function names. Perhaps a function name should be terminated with “.”
empty sublist after variable reference in pattern
The program found {} characters indicating a sublist is present but it was empty.
a sublist term is null
too many sublist terms
The specific built-in function does not support as many terms as the sublist contains.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 31
segment numbers out of order
Starting segment # must not resolve higher than ending segment #
sublist contains a negative "for" value
For values must be 0,1,2,…
sublist "to" value resolves lower than "from" value
If negative “from” or “to” values were specified then there may be fewer segments or positions in the value of the built-in function or variable name than you expected.
Sample Jobs
1. Transfer file, change file’s mode on remote host:
//SLIKZ EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred binary put 'ASE.BACKUP.INCR01' backup.incr01 chmod 644 backup.incr01 exit // See SAMPLIB member PUTSFTP1
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 32
2. ZIP & transfer file, change file’s mode on remote host:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred binary putzip 'ASE.BACKUP.INCR01' backup.incr01.zip chmod 644 backup.incr01.zip exit // See SAMPLIB member ZIPSFTP1
3. ZIP, encrypt & transfer a file, set file’s mode on remote host:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred binary compopt password(thisismypassword) putzip 'ASE.BACKUP.INCR01' backup.incr01.zip chmod 644 backup.incr01.zip exit // See SAMPLIB member ENCSFTP1
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 33
4. Translate file from EBCDIC to ASCII & transfer it:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred ascii put 'ASE.DAILY.REPORT' report.txt chmod 644 report.txt exit // See SAMPLIB member PUTSFTP2
5. Zip a file, translating from EBCDIC to ASCII, and transfer it.
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred ascii putzip 'ASE.DAILY.REPORT' report.zip chmod 644 report.txt exit // See SAMPLIB member ZIPSFTP2
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 34
6. Retrieve a file from remote host.
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred binary get database.backup 'ASE.DATABASE.BACKUP' exit // See SAMPLIB member GETSFTP1
7. Retrieve a text file, translating from ASCII to EBCDIC:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred ascii get newreport.txt 'ASE.NEW.REPORT' exit // See SAMPLIB member GETSFTP2
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 35
8. Translate file from EBCDIC to ASCII without removing trailing blanks & transfer it:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred ascii options nostrip put 'ASE.DAILY.REPORT' report.txt chmod 644 report.txt exit // See SAMPLIB member PUTSFTP3
9. Transfer an EBCDIC text file to another EBCDIC machine:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /u/fred ebcdic /* append ebcdic line feed to each record put 'ASE.DAILY.REPORT' report.txt chmod 644 report.txt exit // See SAMPLIB member PUTSFTP4
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 36
10. ZIP & transfer file, suppress zip messages:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred binary options nozipmsgs putzip 'ASE.BACKUP.INCR01' backup.incr01.zip exit // See SAMPLIB member ZIPSFTP3
11. Transfer a ZIP file from a remote machine and UNZIP:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred binary getzip backup.incr01.zip 'ASE.BACKUP.INCR01.NEW' exit // See SAMPLIB member GETSFTP3
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 37
12. Transfer a ZIP file from a remote machine, UNZIP and decrypt:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred binary compopt password(thisismypassword) getzip backup.incr01.zip 'ASE.BACKUP.INCR01.NEW' exit // See SAMPLIB member GETSFTP4
13. ZIP & transfer file using FTP protocol:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E ftp open ase.com.au userid fred pass mypassword cd zipfiles binary putzip 'ASE.BACKUP.INCR01' backup.incr01.zip ls backup.incr01.zip quit // See SAMPLIB member ZIPFTP1
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 38
14. ZIP, encrypt & transfer a file using FTP protocol:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E ftp open ase.com.au userid fred pass mypassword binary cd zipfiles compopt password(thisismypassword) putzip 'ASE.BACKUP.INCR01' backup.incr01.zip quit // See SAMPLIB member ZIPFTP2
15. ZIP selected members from a PDS, translate to ascii, append linefeed to each record and transfer the zip file using FTP protocol:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E ftp open 192.168.3.129 user peterm pass password compopt select('s*.dat,t*.rpt'),+ ascii,+ lf putzip 'ASEPMD.ASE.CNTL' work.zip ls work.zip quit // See SAMPLIB member ZIPFTP3
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 39
16. Use SLiKZIP control statements to ZIP multiple datasets, translating to ascii , append carriage return/linefeed to each record, remove trailing blanks and transfer the zip file using FTP protocol:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E ftp open 192.168.3.129 user peterm pass password putzip % work.zip ls work.zip quit //SLIKCNTL DD * zip OVERWRITE fromds ase.ase.cntl s s*.dat ascii lf fromds asepmd.ase.cntl s s*.jcl ascii lf todd (.exit) // See SAMPLIB member ZIPFTP4
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 40
17. Transfer a ZIP file from a remote machine and UNZIP a selected member translating from ascii and removing the line feed from the end of each record:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred binary compopt ascii,lf,select(ssh2.jcl),replace getzip work.zip 'ASE.UNZIP.CNTL' exit // See SAMPLIB member GETSFTP5
18. ZIP & transfer file using an alternate ssh configuration:
//SFTP EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E sshconf /u/fred/.ssh/new_config userid [email protected] cd /home/fred binary putzip 'ASE.BACKUP.INCR01' backup.incr01.zip exit // See SAMPLIB member ZIPSFTP3
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 41
19. Transfer multiple files to remote host. Use a template to create files on the remote host with names created from the third segment of the dataset name appended with the current date.
//SLIKZ EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred binary put 'ASE.BACKUP.*' &frdslc{3}.&date exit // See SAMPLIB member PUTSFTP5
20. Transfer multiple files from remote host. Use a template to create datasets on the local host with names that are prefixed ASE.BACKUP followed by the remote filename.
//SLIKZ EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred binary get *.20190403 ASE.BACKUP.&zn exit // See SAMPLIB member GETSFTP6
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 42
21. Submit a job to a remote JES2 system and retrieve the output.
//SLIKZ EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E ftp open 192.168.3.244 user peterm pass password site FILETYPE=JES NOJESGETBYDSN attr ‘lrecl=256 recfm=vb blksize=6233 get ‘ASE.SLIKSFTM.TEST(ZZIEBCPY)’ ‘asepmd.zziebcpy.output’ exit // See SAMPLIB member SUBMIT1
22. Zip multiple datasets to the one file and transfer the zip file to the remote host.
//SLIKZ EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred ascii crlf compopt singlezip putzip ASEPMD.D1905*.DATA d1905.zip exit // See SAMPLIB member PUTSFTP6
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 43
23. Zip and transfer multiple datasets to the remote host. Each dataset will be stored in a zip file whose file name is created from the second segment of the dataset name.
//SLIKZ EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred ascii crlf putzip ASEPMD.D1905*.DATA &frdslc{2}.zip exit // See SAMPLIB member PUTSFTP7
24. Extract members from a remote zip file that match the selection argument smp*.dat. For each member create a dataset with name asepmd.&mem..data where &mem is the member name. If the dataset does not exist then it will be created.
//SLIKZ EXEC PGM=SLIKSFTP,REGION=4M //STEPLIB DD DISP=SHR,DSN=ASE.SLIKSFTP.LOAD //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133) //SYSIN DD * Demokey 4EE5D584A133FEC2569394A6375364E48E userid [email protected] cd /home/fred ascii crlf attr ‘recfm(vb) lrecl(84) blksize(3120) space(1,1) CYL compopt select(smp*.dat) tods(asepmd.&mem..data) getzip tmp/work.zip exit // See SAMPLIB member GETSFTP7
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 44
Sample Output
1. Output of a typical SLIKSFTP job using SFTP protocol
SLiKSFTP 2.0 - Copyright ASE 2019 Mod level ASP1681 190506-1718 sftp> Demokey 4EE5D584A133FEC2569394A6375364E48E ZIP705I attached slikzip subtask tcb=008CF688 ZIP706I detached SLiKZiP sftp> userid [email protected] ZIP645I logging on to server ZIP705I attached wfc subtask tcb=008CF528 ZIP648I logon successful sftp> cd /home/peterm ZIP687I cd ok sftp> putzip 'ASE.BACKUP.INCR01' big2.zip ZIP718I put local dataset: 'ASE.BACKUP.INCR01' ZIP718I to remote file: big2.zip ZIP705I attached slikzip subtask tcb=008CF390 SLiKZiP 2.0 - Copyright ASE 2019 Serial No:Demo**** ZIP0007I levels: P1697 190506-1633,P1644 190506-1633,P1697 190506-1633 ZIP0087I PARM= DEMOKEY(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) PRTDD(STDOUT) CTL+ DD() ZIP FROMDD(SYS00001) TODD(.EXIT) OVERWRITE ZIP0149I Control statement listing... <---+----1----+----2----+----3--statement area---5----+----6----+----7----+----> ZIP0243I exits enabled: PUMS,OPEN,CLOS,WRIT ------------------------------------------------------------------------------- ZIP0091I tue 11:49:30 start ZIP todd(.EXIT) ZIP0103I reading PS U dataset : ASE.BACKUP.INCR01 ZIP0178I options are: ADD,EFFORT(1) ZIP707I 20190507-114951-TUE transferred 1061636 bytes 46158 b/s ZIP707I 20190507-115013-TUE transferred 2112178 bytes 47751 b/s ZIP707I 20190507-115036-TUE transferred 3148556 bytes 47108 b/s Member Ext_used I/p_size Strips_to O/p_size Save Path/filename ........ . 40545344. 40545344. 4082611 90% ASE.BACKUP.INCR01 process totals: . 40545344. 40545344. 4082611 90% 1 members overall totals: . 40545344. 40545344. 4082611 90% 1 members ZIP0083I tue 11:50:47 end ZIP returned rc 0000, cpu: 65.7 sec ------------------------------------------------------------------------------- ZIP0206I terminating with COND CODE 0000 ZIP706I detached SLiKZiP ZIP670I transferred 4082759 bytes in 77 secs 53022 b/s ZIP670I processed 40545344 bytes in 77 secs 526562 b/s ZIP653I checking file size is correct ZIP656I file size is correct ZIP657I deleting existing file /home/peterm/big2.zip ZIP734I renaming /home/peterm/big2.zip.filepart to /home/peterm/big2.zip ZIP710I file renamed -rw-r--r-- 1 peterm users 4082759 May 7 10:56 big2.zip ZIP662I transfer complete sftp> chmod 644 big2.zip sftp> exit ZIP602I waiting for child process to terminate ZIP706I detached wfc subtask ZIP602I child process terminated ZIP603I SLiKSFTP terminating rc= 0 OpenSSH_3.5p1, SSH protocols 1.5/2.0, OpenSSL 0x0090702f debug1: Reading configuration data /etc/ssh/ssh_config.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 45
garbage at end of line 98 in /etc/ssh/ssh_prng_cmds -- ignored. debug1: Rhosts Authentication disabled, originating port will not be trusted.. debug1: ssh_connect: needpriv 0. debug1: Connecting to 192.168.3.129 [192.168.3.129] port 22.. debug1: Connection established.. debug1: identity file /u/peterm/.ssh/id_rsa type 1. debug1: identity file /u/peterm/.ssh/id_dsa type -1. debug1: Remote protocol version 1.99, remote software version OpenSSH_4.1. debug1: match: OpenSSH_4.1 pat OpenSSH*. debug1: Enabling compatibility mode for protocol 2.0. debug1: Local version string SSH-2.0-OpenSSH_3.5p1. debug1: SSH2_MSG_KEXINIT sent. debug1: SSH2_MSG_KEXINIT received. debug1: kex: server->client aes128-cbc hmac-md5 none. debug1: kex: client->server aes128-cbc hmac-md5 none. debug1: SSH2_MSG_KEX_DH_GEX_REQUEST sent. debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP. debug1: dh_gen_key: priv key bits set: 115/256. debug1: bits set: 1006/2048. debug1: SSH2_MSG_KEX_DH_GEX_INIT sent. debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY. debug1: Host '192.168.3.129' is known and matches the RSA host key.. debug1: Found key in /u/peterm/.ssh/known_hosts:1. debug1: bits set: 1025/2048. debug1: ssh_rsa_verify: signature correct. debug1: kex_derive_keys. debug1: newkeys: mode 1. debug1: SSH2_MSG_NEWKEYS sent. debug1: waiting for SSH2_MSG_NEWKEYS. debug1: newkeys: mode 0. debug1: SSH2_MSG_NEWKEYS received. debug1: done: ssh_kex2.. debug1: send SSH2_MSG_SERVICE_REQUEST. debug1: service_accept: ssh-userauth. debug1: got SSH2_MSG_SERVICE_ACCEPT. debug1: authentications that can continue: publickey,keyboard-interactive. debug1: next auth method to try is publickey. debug1: try pubkey: /u/peterm/.ssh/id_rsa. debug1: input_userauth_pk_ok: pkalg ssh-rsa blen 149 lastkey 1203e0a8 hint 0. debug1: read PEM private key done: type RSA. debug1: ssh-userauth2 successful: method publickey. debug1: fd 7 setting O_NONBLOCK. debug1: fd 8 setting O_NONBLOCK. debug1: fd 9 setting O_NONBLOCK. debug1: channel 0: new [client-session]. debug1: send channel open 0. debug1: Entering interactive session.. debug1: ssh_session2_setup: id 0. debug1: Sending subsystem: sftp. debug1: channel request 0: subsystem. debug1: channel 0: open confirm rwindow 0 rmax 32768.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 46
2. Output of a typical SLIKSFTP job using FTP protocol SLiKSFTP 2.0 - Copyright ASE 2019 Mod level ASP1681 190506-1718 sftp> DEMOKEY 4EE5D584A133FEC2569394A6375364E48E ZIP705I attached slikzip subtask tcb=008CF688 ZIP706I detached SLiKZiP sftp> ftp ZIP617I ftp mode set ftp > open 192.168.3.129 99 220 "Welcome to FTP service." 530 Please login with USER and PASS. ftp > user peterm 331 Please specify the password. ftp > ** password suppressed ** 230 Login successful. 215 UNIX Type: L8 ftp > binary ZIP608I binary mode set ftp > putzip 'ASE.BACKUP.INCR01' big2.zip ZIP718I put local dataset: 'ASE.BACKUP.INCR01' ZIP718I to remote file: big2.zip ZIP649I checking for incomplete previous transfer.. ZIP726I no incomplete previous transfer ZIP705I attached slikzip subtask tcb=008CF528 227 Entering Passive Mode (192,168,3,129,63,84) 200 Switching to Binary mode. 150 Ok to send data. SLiKZiP 2.0 - Copyright ASE 2019 Serial No:Demo**** ZIP0007I levels: P1697 190506-1633,P1644 190506-1633,P1697 190506-1633 ZIP0087I PARM= DEMOKEY(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) PRTDD(STDOUT) CTL+ DD() ZIP FROMDD(SYS00001) TODD(.EXIT) OVERWRITE ZIP0149I Control statement listing... <---+----1----+----2----+----3--statement area---5----+----6----+----7----+----> ZIP0243I exits enabled: PUMS,OPEN,CLOS,WRIT ------------------------------------------------------------------------------- ZIP0091I tue 12:37:19 start ZIP todd(.EXIT) ZIP0103I reading PS U dataset : ASE.BACKUP.INCR01 ZIP0178I options are: ADD,EFFORT(1) ZIP707I 20190507-123740-TUE transferred 1061665 bytes 46159 b/s ZIP707I 20190507-123801-TUE transferred 2112236 bytes 52528 b/s ZIP707I 20190507-123822-TUE transferred 3148614 bytes 51818 b/s Member Ext_used I/p_size Strips_to O/p_size Save Path/filename ........ . 40545344. 40545344. 4082611 90% ASE.BACKUP.INCR01 process totals: . 40545344. 40545344. 4082611 90% 1 members overall totals: . 40545344. 40545344. 4082611 90% 1 members ZIP0083I tue 12:38:34 end ZIP returned rc 0000, cpu: 65.9 sec ------------------------------------------------------------------------------- ZIP0206I terminating with COND CODE 0000 ZIP706I detached SLiKZiP ZIP670I transferred 4082759 bytes in 74 secs 55172 b/s ZIP670I processed 40545344 bytes in 74 secs 547910 b/s 226 File receive OK. ZIP653I checking file size is correct ZIP656I file size is correct ZIP657I deleting existing file big2.zip 250 Delete operation successful. ZIP734I renaming big2.zip.filepart to big2.zip 350 Ready for RNTO.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 47
250 Rename successful. ZIP662I transfer complete ftp > exit 221 Goodbye. ZIP603I SLiKSFTP terminating rc= 0
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 48
Messages ZIP601E missing continuation card
The end of the control statement file was reached before the expected continuation statement for the last statement was found. The last statement ended with a + character which indicates that the statement is continued on the next line.
ZIP602I waiting for child process to terminate
SLiKSFTP is waiting for a child UNIX System Services task to terminate. ZIP602I child process terminated
The UNIX System Services task attached by SLiKSFTP has ended. ZIP603I SLiKSFTP terminating rc=
SLiKSFTP is ending with the specified return code. ZIP604E unknown control statement
The control statement is not valid. Check the statement for syntax errors. ZIP605E user command failed
The command failed. Check any error messages, correct the problem and rerun the job.
ZIP606E demokey statement required
A demokey statement is required. It must be the first control statement. ZIP607E cd command failed
The cd command failed. Check any error messages, correct the problem and rerun the job.
ZIP608I binary mode set
All data will be transferred as binary characters. No translation will be performed. ZIP609I ascii mode set
All data will be translated to/from ASCII.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 49
ZIP610I ebcdic mode set
All data will be translated to/from EBCDIC. All x'15' characters will be treated as end of record characters.
ZIP611E put command failed
The put command failed. Check any error messages, correct the problem and rerun the job.
ZIP611E rename command failed
The rename command failed. Check any error messages, correct the problem and rerun the job.
ZIP612E get command failed
The get command failed. Check any error messages, correct the problem and rerun the job.
ZIP613I debug mode set
Diagnostic messages will be issued. ZIP614E mkd command failed
The mkd command failed. Check any error messages, correct the problem and rerun the job.
ZIP615E rmd command failed
The rmd command failed. Check any error messages, correct the problem and rerun the job.
ZIP616E rm command failed
The rm command failed. Check any error messages, correct the problem and rerun the job.
ZIP617I ftp mode set
SLiKSFTP will connect to the remote server as an ftp client.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 50
ZIP618I passive mode off
SLiKSFTP will not use passive mode to perform transfers. The server will open a session with the client to transfer data. This may not work if the client is behind a firewall. In this case passive mode should be used.
ZIP619I passive mode on
SLiKSFTP will use passive mode to perform all transfers. In passive mode the client will initiate a data session with the server.
ZIP620E site command failed
The site command failed. Check any error messages, correct the problem and rerun the job.
ZIP621E quote command failed
The quote command failed. Check any error messages, correct the problem and rerun the job.
ZIP622E command failed
The command failed. Check any error messages, correct the problem and rerun the job.
ZIP623E sshconf must be before userid statement
The sshconf statement is misplaced. It must be before the userid statement. ZIP624E sshenv must be before userid statement
The sshenv statement is misplaced. It must be before the userid statement. ZIP624E sshopt must be before userid statement
The sshopt statement is misplaced. It must be before the userid statement. ZIP625E pwd command failed
The pwd command failed. Check any error messages, correct the problem and rerun the job.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 51
ZIP625E ftp mode not set
SLiKSFTP is running in SFTP mode. This control statement can only be used in FTP mode.
ZIP626E sftp command, not supported in ftp mode
SLiKSFTP is running in FTP mode. This control statement can only be used in SFTP mode.
ZIP627E child process terminated unexpectedly
The SLiKSFTP USS process has ended unexpectedly. ZIP628E select failed
The TCP select command failed. Check error messages. ZIP629E timeout in [write|select]
The TCP select command timed out. The connection to the server has failed. ZIP633E read failed
TCP read command failed. ZIP635E message buffer too small
The buffer to read messages into is too small. Contact ASE support ZIP636E unexpected message
SLiKSFTP received an unexpected message from the server. The message will be printed. Contact ASE support.
ZIP637E TO pipe creation failed
Creation of a UNIX pipe failed. Contact ASE for support. ZIP638E FROM pipe creation failed
Creation of a UNIX pipe failed. Contact ASE for support. ZIP639E stderr pipe creation failed
Creation of a UNIX pipe failed. Contact ASE for support.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 52
ZIP640E fcntl getfl failed
The fcntl command failed. Contact ASE for support. ZIP641E fcntl non blocking failed
The fcntl to make pipe non blocking failed. Contact ASE for support. ZIP642E fork failed
Fork of child process failed. Contact ASE for support. ZIP0643E SSH failed Ret=xxxxxxxx res=xxxxxxxx
The call to SSH has failed. This message lists the return and reason codes for the failure
ZIP0643E FTP failed Ret=xxxxxxxx res=xxxxxxxx
The call to FTP has failed. This message lists the return and reason codes for the failure
ZIP0644I child exit
SLiKSFTP USS process has ended. ZIP0645I logging on to server
SLiKSFTP is attempting to logon to the remote server. ZIP0646E attach failed for wait for child subtask
The wait for child subtask could not be attached. Contact ASE for support. ZIP0647E non zero return code during compress|uncompress operation
An error occurred during the compress or uncompress operation. Check the messages from SLIKZIP for more details.
ZIP648I logon successful
Logon to the remote server was successful
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 53
ZIP648E allocation failed
Allocation for the mvs dataset failed. Check the correct dataset has been specified. ZIP649I checking for incomplete previous transfer..
SLiKSFTP will check on the server for a previous transfer that did not complete. ZIP650E size command failed
SLiKSFTP sent a SIZE command to the remote server. The command failed.
ZIP652I incomplete file found
A previous transfer failed. SLiKSFTP has found an incomplete file and will resume the transfer.
ZIP653I checking file size is correct
The size of the file on the remote server wil be compared
ZIP655E error during transfer - size is wrong, local xxxx remote xxxx The size of the file on the remote server differs from the number of bytes transferred. The transfer has failed.
ZIP656I file size is correct
The size of the file on the remote server agrees with the number of bytes transferred.
ZIP657I deleting existing file..
The existing file on the remote server will be deleted prior to the newly transferred file being renamed.
ZIP658E dele command failed
The delete command failed. SLiKSFTP was unable to delete the existing file. Check that you have permission to delete the file.
ZIP659I renaming .filepart to correct name..
The temporary .filepart name is being renamed to the correct file name.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 54
ZIP660E rnfm command failed
The ftp rename from command failed. The file cannot be renamed. ZIP661E rnto command failed
The ftp rename to command failed. The file cannot be renamed. Check you have permission to rename the file
ZIP662I transfer complete
The file transfer has completed successfully ZIP664E file exists and noreplace specified, transfer aborted
The file to be transferred already exists on the remote server and the replace option has not be specified. The file will not be transferred.
ZIP665E open failed for mvs dataset
The mvs dataset could not be opened. Check the name is correct and that you have permission to open the dataset.
ZIP667I existing filepart found, xxxxxxxxxxx bytes, resuming transfer
An incomplete transfer file was found on the remote server. The transfer will resume from the specified point.
ZIP670I transfered xxxxxxxxxxxx bytes in xxxxxxxxx secs xxxxxxxx b/s
This message lists the number of bytes transferred, then time taken and the bytes per second.
ZIP674E attach failed for TESTSLIK
The TESTSLIK program could not be attached. Contact ASE for support ZIP675E attach failed for SLiKZiP
SLIKZIP could not be attached. Contact ASE for support. ZIP676E no such file
The file does not exist on the remote system
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 55
ZIP680E chmod|chown|chgrp failed
The chmod|chown|chgrp command failed. Check that you have permission to perform the operation
ZIP682E directory already exists
You attempted a mkdir command for a directory that already exists on the remote system.
ZIP683E mkdir failed
The mkdir command failed. Check that you have permission to perform the operation
ZIP685E rm failed
The mkdir command failed. Check that you have permission to perform the operation
ZIP687I cd ok
The cd command was completed successfully ZIP688E not a directory
The cd command cannot be completed as the specified file is not a directory ZIP690E unexpected return from select
A TCP/IP select command ended with an unexpected return code. ZIP691E socket write with translation failed
A write to a TCP/IP socket failed ZIP692E bad PASV|SIZE|SYST response
The response to the PASV command was not in the expected format. ZIP694E error during socket read ZIP694E error during socket write ZIP694E error on control socket
An error occurred while reading or writing to a socket
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 56
ZIP697E unexpected message or message format
The message was not expected or the format of the message differed from the expected format
ZIP698E pasv command failed
The PASV command did not return the response expected. ZIP699I restarting transfer at offset xxxxxxxxxxxxxx
An incompletely transferred file was found on the remote server. The transfer will be resumed at the specified offset.
ZIP701I allocating new dataset
A new dataset will be allocated. ZIP702I allocation attributes
This message displays the allocation attributes of a new dataset. ZIP703E No matching files
No files matched the generic argument specified. No files will be transferred. ZIP704I matching file: dsn
The listed dataset name matched the generic argument specified. The file will be transferred.
ZIP705I attached xxxxxxxx subtask tcb=xxxxxxxx
A diagnostic message tracing the subtasks attached by SLiKSFTP.
ZIP706I detached SLiKZiP
A diagnostic message. The SLiKZiP program has been detached. ZIP706I detached wfc subtask
A diagnostic message. The wfc (wait for child) subtask has been detached.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 57
ZIP707I YYYYMMDD-HHMMSS-DAY Transfered xxxxxxxxxx bytes xxxxxxxxx b/s
This is a transfer progress message. It details the number of bytes transferred. ZIP708E setting setsockopt xxxxxxxx failed
The program was unable to set the TCP socket option specified. ZIP709E setting setsockopt so_keepalive failed
The program was unable to set the TCP SO_KEEPALIVE socket option. ZIP710I file renamed
The file was successfully renamed. ZIP711I file deleted
The file was successfully deleted. ZIP713I Reading SLiKZiP control cards from DD dddddddd
SliKZiP control cards will be read from the specified DD statement to perform the compress/uncompress operation.
ZIP714I waiting for job to complete
A job has been submitted by the remote system and SLiKSFTP is waiting for the job to complete before retrieving the job output.
ZIP715I Selection argument too long
The selection argument for a list command is too long. ZIP716E template error message
An error has occurred during template processing. The error message is listed. ZIP717I template file: xxxxxxxxxxxx
The filename created from the template in the command is displayed. ZIP718I get remote file: xxxxxxxxxxxxx
A GET operation will transfer file xxxxxxxx from the remote system.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 58
ZIP718I submit remote file: xxxxxxxx
The remote file xxxxxxxxx will be run on the remote system. ZIP718I to local dataset xxxxxxxx
A GET operation will store the remote as local dataset xxxxxxxx. ZIP718I using control statements from DD xxxxxxxx
A GET operation will use SliKZiP control statements for DD statement xxxxxxx to create the local dataset.
ZIP718I output to local dataset xxxxxxxx
A GET operation will retrieve the output of the job submitted on the remote system and store it in the local dataset xxxxxxxx.
ZIP718I put local dataset xxxxxxxx
A PUT operation will transfer the local dataset xxxxxxxx to the remote system. ZIP718I put using control statements from DD xxxxxxxx
A PUT operation will use SliKZiP control statements to determine datasets to transfer to the remote system.
ZIP718I to remote file: xxxxxxx
A PUT operation will transfer the local dataset to remote system file xxxxxxxx. ZIP719E invalid demokey value
The demokey value is incorrect. Check that you have provided the correct value. ZIP720I Active TCB’s
A diagnostic message. A list of subtasks that have been created is displayed. ZIP721I End of List
All subtasks have been listed.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 59
ZIP722I testslik
This message indicates that TESTSLIK is running ZIP723I testslik ended
This message indicates that TESTSLIK has ended
ZIP724I response:
This message documents the response to the previous command sent to the server. ZIP725I SIZE command not supported - restart disabled
The SIZE command is not supported by the FTP server. The restart facility cannot be used with this server.
ZIP725I REST command not supported - restart disabled
The REST command is not supported by the FTP server. The restart facility cannot be used with this server.
ZIP726I no incomplete previous transfer
SLiKSFTP did not find any incomplete transfer on the server. SLiKSFTP will transfer the complete file.
ZIP727E unable to get attributes of remote file filename SLiKSFTP was unable to read attributes for the specified file.
ZIP728E rename failed : oldname to newname
SLiKSFTP was unable to rename oldname to newname.
ZIP729E delete failed for filename
SLiKSFTP was unable to delete the specified file. Check that the user is authorized to delete the file.
ZIP730E signal failed
An attempt to send a USS signal failed.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 60
ZIP731E open failed for filename
The specified file could not be opened. Check that the user is authorized to open the file.
ZIP732E transfer failed for filename
The transfer of the specified file failed. Check preceding messages for the cause of the failure.
ZIP733I CR LF will be appended to each record
Each record translated to ASCII will have a carriage return and line feed appended.
ZIP733I LF will be appended to each record
Each record will have a carriage return and line feed appended. ZIP733I ebcdic LF will be appended to each record
Each record will have an ebcdic line feed (x’15’) appended. ZIP733I CR LF reset
The CRLF option has been reset by a NOCRLF statement. ZIP733I LF reset
The LF option has been reset by a NOLF statement. ZIP733I ebcdic LF reset
The ELF option has been reset by a NOELF statement. ZIP734I renaming oldname to newname
File oldname will be renamed to file newname.
ZIP735E logon failed Logon to the remote server failed. Check the correct logon id has been specified and correct ssh keys have been setup.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 61
ZIP736I socket error retc=xxxxxxxx reason=xxxxxxxx An error occurred during a socket call. The return code and reason code are listed.
ZIP737E wrong file offset This is an internal logic error. Please report to ASE support.
ZIP738I repositioning File During a get operation, the zip file on the remote machine needs to be reopened and positioned to an earlier position in the file.
ZIP743E connection error – restarting connection An error has occurred with the connection to the remote machine causing the current transfer to fail. An attempt will be made to restart the connection and complete the transfer.
ZIP744E connection error – Maximim retries reached, aborting An error has occurred with the connection to the remote machine causing the current transfer to fail. The connection will not be restarted because the maximum number of retries has been reached.
ZIP745E end of file reached before restart offset The program was unable to seek to the restart address. The input file may have changed and is now shorter than the failed transfer.
ZIP746E bad incomplete transfer file found The incomplete file found on the remote server cannot be used to continue the current transfer.
ZIP747I retrying Transfer After renaming the bad .filepart file the transfer will be restarted.
ZIP748I filepart active Subsequent put operations will transfer the file using a temporary name that is created from the filename with ".filepart" appended. If the transfer is successful then the file will be renamed to the correct name.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 62
ZIP749I filepart disabled Subsequent put operations will not transfer the file using a temporary filename. The target filename will be used to transfer the file. The target file will be replaced if the transfer fails.
ZIP750I incomplete file ignored - NORESUME or NOFILEPART specified A previous transfer failed. SLiKSFTP will not resume the transfer as NORESUME or NOFILEPART has been specified.
ZIP751E Unexpected EOF on translate dataset The end of the translate dataset was reached unexpectedly. The dataset is not a valid translate dataset. Ensure that the correct dataset has been specified.
ZIP754I directory may exist: dirname An attempt to create a directory on the remote system failed. This may be because the remote directory already exists.
SLiKSFTP User’s Guide SS17-0720-2
Copyright Australian Systems Engineering Pty. Ltd. 2019 Page 63
Publication number: SS17-0720-2 This manual serves as a reference source for users of the SLiKSFTP product. Please use this form to comment on the publication in terms of its organization or content with the understanding that ASE may use or distribute the information that you supply in any way that it believes appropriate without incurring an obligation to you. If you require further copies of this publication please order them through your ASE representative. If you require assistance in the installation, configuration or use of the SLiKSFTP product please contact ASE for support. Suggested aspects that might be addressed by your comments include: Clarity Accuracy Completeness Organization Examples Legibility
Please give your name and address if you require a reply: name: email: Address: Occupation:
Comments: