Q
从文件读取记录
1
A
回答
1
您可以使用ICETOOL复制你的输入文件的一个子集。
以下是JCL将第一个和最后10个记录复制到另一个文件。我假设每个80字节的固定长度记录。
您还必须更改JOB卡以符合您的大型机商店的要求。
//EXAMP JOB A400,PROGRAMMER
//STEP1 EXEC PGM=ICETOOL
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=INPUT,DISP=SHR
//T1 DD DSN=&&T1,DISP=(,PASS),UNIT=VIO
//T2 DD DSN=&&T2,DISP=(,PASS),UNIT=VIO
//T3 DD DSN=&&T3,DISP=(,PASS),UNIT=VIO
//SORTOUT DD DSN=OUTPUT,DISP=(NEW,CATLG),UNIT=SYSDA,
// SPACE=(CYL,(5,1))
//SYSIN DD *
COPY FROM(IN) USING(CTL1)
COPY FROM(T1) USING(CTL2)
COPY FROM(T1) USING(CTL3)
COPY FROM(T2,T3) USING(CTL4)
/*
//CTL1CNTL DD *
OUTFIL FNAMES=T1,OUTREC=(1,80,SEQNUM,8,ZD)
/*
//CTL2CNTL DD *
OUTFIL FNAMES=T2,ENDREC=10
/*
//CTL3CNTL DD *
SORT FIELDS=(81,8,BI,D)
OUTFIL FNAMES=T3,ENDREC=10
/*
//CTL4CNTL DD *
SORT FIELDS=(81,8,BI,A)
OUTFIL FNAMES=SORTOUT,OUTREC=(1,80)
//
第一组控制卡(CTL1CNTL
)增加了一个序列号来输入记录。
第二组控制卡(CTL2CNTL
)获取前10个输入记录。
第三组控制卡(CTL3CNTL
)按相反顺序对输入记录进行排序,并获取前10个记录(最后10个记录)。
第四套控制卡(CTL4CNTL
)按照正确的顺序对提取的记录进行排序,并删除第一套控制卡添加的序列号。
有关更多信息,请参阅IBM的DFSORT Application Programming Guide。
0
从2008年7月开始,ICETOOL拥有SUBSET。
//STEP1 EXEC PGM=ICETOOL
//SYSOUT DD SYSOUT=*
//IN DD DSN=your input
//OUT DD DSN=your output
//SYSIN DD *
SUBSET FROM(IN) TO(OUT) KEEP INPUT FIRST(10) LAST(10)
要知道您是否有2008年7月份可用,请在任何排序步骤中查看ICE201I消息。
ICE201I F RECORD TYPE ...
信件号后面的字母是F或更大,那么你有2008年7月包括在内。
相关问题
- 1. 从文件读取记录
- 2. 从文本文件中读取记录
- 3. 只从Pagesize文件读取记录
- 4. 从Ada的文件中读取记录?
- 5. 如何读取文件,多个记录
- 6. 删除JTable行读取文件记录
- 7. 从文本文件读取,然后插入记录到oracle表
- 8. 从文本文件中读取多行固定宽度记录
- 9. 从C#中的文本文件中读取多条记录
- 10. 从文本文件中读取固定宽度记录
- 11. 如何从warc文件中读取记录的子集
- 12. 将读取的数据从文件放入记录
- 13. 从具有固定的文件中读取长记录
- 14. Python日志记录:可以从文件读取dictConfig吗?
- 15. 如何从平面文件读取数百万条记录?
- 16. 从Java平面文件读取多个记录
- 17. 从目录中的文件读取元标记
- 18. 从TFRecord文件中没有正确读取记录?
- 19. 从j2me的csv文件读取单个单元格记录
- 20. 从Bash中的文件读取并记录Tokenize
- 21. Perl的 - 从配置文件中的多行记录读取
- 22. 从目录中逐一读取文件
- 23. 从目录中逐一读取文件
- 24. 从目录读取csv文件
- 25. 从Scala目录中读取文件
- 26. 从目录中读取文件名
- 27. php从根目录读取文件
- 28. 从目录w/python读取文件名
- 29. 如何从目录中读取文件
- 30. 从目录中读取多个文件
你应该在这里添加更多的解释。假设输入记录每个都是80个字节。您给给T1的文件添加一个序列号。抓住T2的前10条记录。使用序列号将T1排序为相反顺序。抓住T1的第一条(最后一条)10条记录给T3。合并T2和T3,对给出OUTPUT的序列号进行分类和丢弃。最终结果是原始输入的第一个和最后10个记录现在在OUTPUT中。没有这种解释,初学者可能很难弄清楚你在做什么。虽然整洁的解决方案! – NealB 2010-06-15 16:00:40
@NealB:谢谢。我添加了解释。我实际上假设输入记录是80字节,但在提交答案之前将其删除。 – 2010-06-15 19:47:59