db2 使用JCL格式化捕获的spufi结果

jqjz2hbq  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(191)

如何将输入文件格式化为预期的输出文件?

输入文件:

浏览--用户标识。结果
列001 072命令输入===〉滚动===〉页面
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------00040000

  • ———————-+-———————-+-———————-+-———————-+-———————-+-———————-+-———————-+-———————-+
    姓名电话号码
    亚当斯布鲁斯4510
    棕色大卫4501
    约翰·瑞巴0672
    琼斯·威廉0942
    卢茨·詹妮弗0672
    钢琴伊丽莎白3782
    史考顿·玛丽莲1682
  • ———————-+-———————-+-———————-+-———————-+-———————-+-———————-+-———————-+-———————-+
    姓名电话号码
    斯特恩欧文6423
    步行者詹姆斯2986
    山本吉吉2890
    吉村正手2890
    DSNE 610 I显示的行数为11 DSNE 616 I语句执行成功,SQLCODE为100

DSNE 617 I已执行提交,SQLCODE为0 DSNE 616 I语句执行成功,SQLCODE为0

  • ———————-+-———————-+-———————-+-———————-+-———————-+-———————-+-——-
    DSNE 601 I SQL语句假定在第1列和第72列之间DSNE 620 I处理的SQL语句数为1 DSNE 621 I读取的输入记录数为4 DSNE 622 I写入的输出记录数为30

预期的输出文件:

亚当斯布鲁斯4510
棕色大卫4501
约翰·瑞巴0672
琼斯·威廉0942
卢茨·詹妮弗0672
钢琴伊丽莎白3782
史考顿·玛丽莲1682
斯特恩欧文6423
步行者詹姆斯2986
山本吉吉2890
吉村正手2890

omqzjyyz

omqzjyyz1#

这里有很多问题。你看起来是交互地运行SPUFI的,你必须把它改为批处理执行,否则你会覆盖你的userid。每次你为了不同的目的使用SPUFI时,RESULTS数据集。DSNTEP 2和DSNTEP 4在IBM DB2文档中有说明,建议它们的输出宽度限制在133字节以内。这看起来适合你的情况。但在一般情况下不是必须的。
完成这些操作后,您就有了 * 许多 * 选项来重新格式化结果,您的商店的SORT实用程序、awk、sed、您自己用Rexx、Java、PL/I、COBOL、C、C++、Python编写的自定义代码等等。哪些产品和/或语言目前正在逐步淘汰,等等。
如果您打算使用自定义代码,则可能希望使用该语言(如果支持)编写SELECT语句,并在一个程序中完成数据检索和重新格式化。
如果您的商店有Syncsort产品,那么解决您的问题的一个更好的方法是使用该产品。Syncsort能够对DB2执行SELECT语句,然后处理结果,并根据需要重新格式化。请记住,虽然有这种能力,但您的商店可能选择不使用它。
通常情况下,你可以询问你的同事和支持人员在你的商店里通常是如何应对这种挑战的。商店标准的存在有很多原因,遵循它们对你最有利。

相关问题