我正在使用数据传输工具将文件从 AS400 导出到 CSV。有 500 多个文件要导出,我希望有一种方法可以同时对多个文件执行此操作。
我曾尝试将传输选项保存为 .TTO,但我仍然只能一次处理一个文件。我可以使用 .bat 来执行多个 .TTO 文件,但仍然需要为每个文件生成一个 .TTO。
任何想法将不胜感激。
我正在使用数据传输工具将文件从 AS400 导出到 CSV。有 500 多个文件要导出,我希望有一种方法可以同时对多个文件执行此操作。
我曾尝试将传输选项保存为 .TTO,但我仍然只能一次处理一个文件。我可以使用 .bat 来执行多个 .TTO 文件,但仍然需要为每个文件生成一个 .TTO。
任何想法将不胜感激。
我不知道执行此操作的任何命令或任何第三方工具,但如果您愿意编写一个 .bat 程序来执行此操作,为什么不使用带有 CPYTOIMPF 的 CL 程序来循环文件名并将 CSV 写入 IFS。如果您正确设置 QNTC,甚至可以将其定向到网络共享。
这是一些示例代码:
pgm
dclprcopt log(*no) +
dftactgrp(*no) actgrp(*new)
dclf explstf
dcl &ifspath *char 64 value('/ifspath/')
dcl &ifsname *char 64
dowhile cond('1')
rcvf
monmsg msgid(CPF0864) exec(leave)
chgvar &ifsname (&ifspath |< &filename |< '.csv')
cpytoimpf fromfile(&filelib/&filename) +
tostmf(&ifsname) mbropt(*replace) +
stmfccsid(*pcascii) +
rcddlm(*crlf) dtafmt(*dlm) +
strescchr(*strdlm) rmvblank(*trailing)
enddo
out:
endpgm
&filename
并且&filelib
将是 file 中的字段explstf
。
注意: CPYTOIMPF
不需要任何特殊的定义文件,因此您可以将其与 500 多个文件一起使用,而无需太多工作。
可能是SO的主题......
但请查看 5250 会话中的复制到导入文件 (CPYTOIMPF) 命令。