1

我正在使用数据传输工具将文件从 AS400 导出到 CSV。有 500 多个文件要导出,我希望有一种方法可以同时对多个文件执行此操作。

我曾尝试将传输选项保存为 .TTO,但我仍然只能一次处理一个文件。我可以使用 .bat 来执行多个 .TTO 文件,但仍然需要为每个文件生成一个 .TTO。

任何想法将不胜感激。

4

2 回答 2

1

我不知道执行此操作的任何命令或任何第三方工具,但如果您愿意编写一个 .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 多个文件一起使用,而无需太多工作。

于 2017-11-08T12:41:57.310 回答
0

可能是SO的主题......

但请查看 5250 会话中的复制到导入文件 (CPYTOIMPF) 命令。

于 2017-11-08T02:27:12.670 回答