【发布时间】:2017-11-08 00:42:32
【问题描述】:
我正在使用数据传输工具将文件从 AS400 导出为 CSV。有 500 多个文件要导出,我希望有一种方法可以同时对多个文件执行此操作。
我已尝试将传输选项保存为 .TTO,但我仍然只能一次处理一个文件。我可以使用 .bat 来执行多个 .TTO 文件,但仍需要为每个文件生成一个 .TTO。
任何想法将不胜感激。
【问题讨论】:
标签: ibm-midrange db2-400 iseries-navigator
我正在使用数据传输工具将文件从 AS400 导出为 CSV。有 500 多个文件要导出,我希望有一种方法可以同时对多个文件执行此操作。
我已尝试将传输选项保存为 .TTO,但我仍然只能一次处理一个文件。我可以使用 .bat 来执行多个 .TTO 文件,但仍需要为每个文件生成一个 .TTO。
任何想法将不胜感激。
【问题讨论】:
标签: ibm-midrange db2-400 iseries-navigator
我不知道执行此操作的任何命令,或任何第三方工具,但如果您愿意编写一个 .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 将是文件 explstf 中的字段。
注意:CPYTOIMPF 不需要任何特殊的定义文件,因此您可以将其与 500 多个文件一起使用而无需太多工作。
【讨论】:
CPYTOIMPF 和 CPYFRMIMPF。但我今天不会这样做。内置工具太容易使用了,我对它们的输出不再有任何问题。
可能与 SO 无关……
但请看一下 5250 会话中的复制到导入文件 (CPYTOIMPF) 命令。
【讨论】: