首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大型机JCL以列方式连接4个文件,所有文件具有不同的行数,

大型机JCL以列方式连接4个文件,所有文件具有不同的行数,
EN

Stack Overflow用户
提问于 2020-03-18 03:42:22
回答 1查看 684关注 0票数 1

是否可以在JCL中使用ICETOOL或syncsort以列方式连接4个文件

例如:

EN

回答 1

Stack Overflow用户

发布于 2020-03-30 21:09:04

下面的代码将执行您想要的操作。我有基于文件的输入是80字节的长度。

我的意见如下:

文件1:-

代码语言:javascript
复制
1RED
1WHITE
1BLUE
1BLUE
1BLUE
1BLUE
1BLUE
1BLUE
1BLUE
1BLUE
1BLUE
1BLUE
1BLUE
1PINK

文件2:-

代码语言:javascript
复制
21000
22000
23000
24000
25000

文件3:-

代码语言:javascript
复制
3X1
3X2
3X3
3X4
3X5

文件4:-

代码语言:javascript
复制
4R1
4R2
4R3
4R4
4R5
4R6
4R7
4R8
4R9
4R10
4R11
4R12
4R13
4R14
4R15

代码将根据您的需要将文件合并在一起,并处理不同数量记录的实例,等等。

代码语言:javascript
复制
//STEP1    EXEC PGM=ICETOOL                                                     
//SYSOUT   DD   SYSOUT=*                                                        
//DFSMSG   DD   SYSOUT=*                                                        
//TOOLMSG  DD   SYSOUT=*                                                        
//SYSPRINT DD   SYSOUT=*                                                        
//IN1      DD   DSN=JXB7884.FILE1,DISP=SHR                                      
//IN2      DD   DSN=JXB7884.FILE2,DISP=SHR                                      
//IN3      DD   DSN=JXB7884.FILE3,DISP=SHR                                      
//IN4      DD   DSN=JXB7884.FILE4,DISP=SHR                                      
//M1       DD   DSN=&&M1,                                                 
//         DISP=(MOD,PASS),                                                    
//         DCB=(RECFM=FB,LRECL=328,BLKSIZE=0,DSORG=PS),                         
//         UNIT=SYSDA,                                                          
//         SPACE=(TRK,1)                                                        
//REPORT   DD   DSN=JXB7884.REPORT,                                             
//         DISP=(NEW,CATLG,DELETE),                                             
//         DCB=(RECFM=FB,LRECL=320,BLKSIZE=0,DSORG=PS),                         
//         UNIT=SYSDA,                                                          
//         SPACE=(TRK,1)                                                        
//TOOLIN   DD   *                                                               
  COPY  FROM(IN1) TO(M1) USING(COP1)                                            
  COPY  FROM(IN2) TO(M1) USING(COP2)                                            
  COPY  FROM(IN3) TO(M1) USING(COP3)                                            
  COPY  FROM(IN4) TO(M1) USING(COP4)                                            
  SPLICE FROM(M1) TO(REPORT) ON(321,8,PD) WITHANY  -                            
         KEEPNODUPS                                -                            
         WITH(81,80) WITH(161,80) WITH(241,80)     -                            
         USING(SPL1)                                                            
/*                                                                              
//COP1CNTL DD   *                                                               
  OPTION COPY                                                                   
  OUTREC FIELDS=(1,80,240X,321:SEQNUM,8,PD)                                     
/*                                                                              
//COP2CNTL DD   *                                                               
  OPTION COPY                                                                   
  OUTREC FIELDS=(80X,81:1,80,160X,321:SEQNUM,8,PD)                              
/*                                                                              
//COP3CNTL DD   *                                                               
  OPTION COPY                                                                   
  OUTREC FIELDS=(160X,161:1,80,80X,321:SEQNUM,8,PD)                             
/*                                                                              
//COP4CNTL DD   *                                                               
  OPTION COPY                                                                   
  OUTREC FIELDS=(240X,241:1,80,321:SEQNUM,8,PD)                                 
/*                                                                              
//SPL1CNTL DD   *                                                               
  OUTFIL FNAMES=REPORT,OUTREC=(1,320)                                           
/*                                      
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60729185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档