sFTP 文件中缺少 "Carriage Return"

"Carriage Return" is missing in sFTP file

到目前为止,我们正在通过正常 FTP 将文件从我们的大型机传输到 Windows 系统(客户端系统)。我的客户正在接收每个文件末尾带有 "Carriage Return"(CR) 和 "Line Feed"(LF) 的文件..

现在我们将传输机制更改为 sFTP..以下是我遵循的步骤 1.将PS文件复制到主机的OMVS系统中。 2. 运行 sFTP 命令并将文件发送到客户端系统。

现在的问题是..我的客户连同数据我的客户只收到每行的 LF 蚂蚁结尾..CR 丢失.. 我在 sftp 脚本中尝试了 "ascii dos unix" 和 JCL 中的 "SBSENDEOL CRLF" 之类的选项..但是没有运气

下面是我运行宁

的脚本
ascii
lcd /u/myid
put File1.txt FileNew1.txt
chmod 775 FileNew1.txt
put

下面是他们期望文件的样子

但这就是当我 运行 我在上面粘贴的脚本时接收文件的方式

如果有实现CR和LF的选项,请告诉我。

我得到了解决方案..而不是使用如下所示的 JCL 步骤将文件(PS 文件)从大型机复制到大型机中的 USS

//ST020    EXEC PGM=IKJEFT01,COND=(0,NE)                        
//SYSTSPRT DD SYSOUT=*                                          
//SYSPRINT DD SYSOUT=*                                          
//SYSPUNCH DD SYSOUT=*                                          
//ICTRL1   DD DSN=PP00.PA0000.CNTL(H123YC1),DISP=SHR        
//OCTRL1   DD PATH='/u/SPP00/ryc',                              
//            PATHDISP=(KEEP,DELETE),                           
//            PATHOPTS=(OWRONLY,OCREAT,OTRUNC),PATHMODE=SIRWXU  
//SYSTSIN  DD DSN=PP00.PA0000.CNTL(H125CLF),DISP=SHR        

然后使用

传输

ascii lcd /u/myid put File1.txt FileNew1.txt chmod 775 FileNew1.txt

我已经将文件直接从大型机传输到客户端系统(windows),为此我使用了下面的脚本..

lcd /u/SPP00/                                       
!cp -F crnl "//'p125.P123.DEMUT.CSV'" AANBCD   
put AANBCD   Test_AVBCLKS_20160218_085518.csv
!rm AANBCD   
quit             

这很有魅力!!!

您可能想看看 Dovetailed Technologies https://dovetail.com/products/sftp.html 的 sftp 实现。它支持原生 MVS 数据集,包括 GDGs 和 PDS(E)s,并支持与 cp 相同的换行转换集,然后是一些。它还有一个非常好的批处理启动器和一个 SFTP 服务器以及所有大型机要求,如 SAF 安全、日志记录和 SMF 记录。它是免费使用的,但用于生产用途 Dovetailed 提供付费支持。