Hi All,
For the following 2 scenarios, SFTP gives a RC=00, which will cause problems for subsequent processing. Is there a way of getting a non-zero return code.
Scenario 1 - If a file is not specified on the MVS partition, the GET creates a file on the OMVS partition.
Example:
cozsftp> get tata
Fetching /uttih/tata to tata
ZosSettingsÝI¨: Transfer options: clientcp=IBM-1047,gdgnt,mode=text,servercp=ISO8859-1,trim
PosixFileÝI¨: Closing file /u/op2c/tata - 16340 bytes received, 16340 bytes written
cozsftp> quit
CoZBatchÝI¨: returning rc=exitcode=0
Scenario 2 - If a file is not created on the MVS partition, the GET creates a file with a U format on MVS side:
Example:
cozsftp> get tata // MY.FILE.GET2
Fetching /uttih/tata to // MY.FILE.GET2
ZosSettingsÝI¨: Transfer options: clientcp=IBM-1047,gdgnt,mode=text,servercp=ISO8859-1,trim
ZosDatasetÝI¨: Opening dataset MY.FILE.GET2 for write with options: new catalog
IGD01010I GROUP STC USER OP2C DSN MY.FILE.GET2 TYPE PERM
ZosDatasetÝI¨: Closing dataset // MY.FILE.GET2 - 16340 bytes received, 172 records written
cozsftp> quit
CoZBatchÝI¨: returning rc=exitcode=0
SFTP RC = 0
Re: SFTP RC = 0
Scenario 1:
Since you did not specify a target file name, the sftp "get" command will create the same file name in the current local working directory.
So, this is working as expected.
See: https://dovetail.com/docs/sftp/cozsftp_ref.html
Scenario 2:
There seems to be an extra space between // and MY.FILE.GET2. I assume that you put that in there while scrubbing the actual data set name.
I think that your question is: if the target file is a non-existent data set ( //MY.FILE.GET2 ), it is created with RECFM=U.
RECFM is the default, unless your DFSMS rules change it.
If you want something different, then you would need to set an option, like:
cozsftp> lzopts recfm=fb,lrecl=80,space=cyl.3.1
cozsftp> lzopts mode=text
cozsftp> get tata //MY.FILE.GET2
see: https://dovetail.com/docs/sftp/options.html
Since you did not specify a target file name, the sftp "get" command will create the same file name in the current local working directory.
So, this is working as expected.
See: https://dovetail.com/docs/sftp/cozsftp_ref.html
Scenario 2:
There seems to be an extra space between // and MY.FILE.GET2. I assume that you put that in there while scrubbing the actual data set name.
I think that your question is: if the target file is a non-existent data set ( //MY.FILE.GET2 ), it is created with RECFM=U.
RECFM is the default, unless your DFSMS rules change it.
If you want something different, then you would need to set an option, like:
cozsftp> lzopts recfm=fb,lrecl=80,space=cyl.3.1
cozsftp> lzopts mode=text
cozsftp> get tata //MY.FILE.GET2
see: https://dovetail.com/docs/sftp/options.html