IBM大型机论坛索引
 
登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

通过JCL加入密钥


IBM大型机论坛 -> DFSORT / ICETOOL
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
阿卜杜拉菲

活跃用户


已加入:2009年9月14日
职位:184
地点:哥印拜陀

发布发表于:星期一十月28,2019 9:45下午
引用回复

你好

如果我可以通过JCL实现以下目标,请帮助我。我尝试使用JOIN键,但无法获得预期的键。

输入文件1:
码:

CNTLBOS汽车产品          003010030I         P862PO     000001     
CNTLBOS汽车产品          003020030I         P862PO     000002   
纳特鲁普·安托林·肯特克          007720077I         P862PO      000003
CNTLCHUHATSU北美洲          008000080I         P862PO      000004
纳特莱辛世界公司           010000100I         P862PO      000005
纳特莱辛世界公司           010040100I         P862PO      000006
纳特莱辛世界公司           010070100I         P862PO      000007
CNTLAISIN MEXICANA S.A.           010100101I         P862PO      000008


输入文件2:
码:

BFR 00                      001                           DLA191029191101191025     000003
N1  MI02                                                                        000003
N1  SU               BOS汽车产品92            00301       000003           
LIN1      BP                  649100E080C0RC                          VYA2ZZ    000003
电脑                                                                            000003                                                                         
PID盖组件,TONNEAU                                                          000003
PO41 00036                                                                      000003
BFR 00                      001                           DLA191029191031191025 000004
N1  MI02                                                                       000004
N1  SU               BOS汽车产品92            00302             
      000004           
LIN1      BP                  663110E010B0RC                          HYC1ZZ   000004
电脑                                                                            000004                                                                         
PID钩,绳                                                                    000004
PO41 00060                                                                           000004
PRS 1                                                                                     000004


预期产量:
它必须将输入文件1与输入文件2匹配,并根据序列号获取相应的今天双色球开奖结果。

码:

纳特鲁普·安托林·肯特克          007720077I         P862PO         
        000003
BFR 00                      001                           DLA191029191101191025     000003
N1  MI02                                                                                  000003
N1  SU               BOS汽车产品92            00301         000003           
LIN1      BP                  649100E080C0RC                          VYA2ZZ    000003
电脑                                                                            000003                                                                         
PID盖组件,TONNEAU                                                         000003
PO41 00036                                                                      000003
CNTLCHUHATSU北美洲          008000080I         P862PO       
  000004
BFR 00                      001                           DLA191029191031191025 000004
N1  MI02                                                                        000004
N1  SU               BOS汽车产品92            00302              000004           
LIN1      BP                  663110E010B0RC                          HYC1ZZ   000004
电脑                                                                            000004                                                                         
PID钩,绳                                                                       000004
PO41 00060                                                                             000004
PRS 1                                                                                   000004



对不起,序列号。无法正确对齐。
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


已加入:2010年9月21日
帖子:2582
地点:美国纽约

发布发表于:星期二十月29,2019 12:47上午
引用回复

行。您尝试了什么还是只是寻求现成的解决方案?对于JOINKEY,此任务看起来非常基础,您可以尝试学习以下形式 JOINKEYS应用程序示例。如果您不喜欢此链接,那么此网站上有很多您可以浏览。

如果您仍然遇到任何问题,请发回详细信息,我们将为您提供进一步的帮助。
回到顶部
查看用户资料 发送私信
谢尔盖肯

活跃的成员


已加入:2008年4月29日
帖子:940
所在地:马里兰

发布发表于:周二十月29,2019 8:31下午
引用回复

阿卜杜拉菲写道:
你好

如果我可以通过JCL实现以下目标,请帮助我。我尝试使用JOIN键,但无法获得预期的键。


JCL无法执行任何JOIN。只是无法这样做。

JCL用于启动即用型程序(例如加载模块),并定义这些程序要使用的数据集。没有其他的。

期。
回到顶部
查看用户资料 发送私信
谢尔盖肯

活跃的成员


已加入:2008年4月29日
帖子:940
所在地:马里兰

发布发表于:星期二十月29,2019 8:35下午
引用回复

阿卜杜拉菲写道:
你好
对不起,序列号。无法正确对齐。

如果您不能自己对齐序列号,那么JCL绝对不会为您这样做。

这就是为什么您无法获得想要的东西的主要原因。 icon_axe.gif
回到顶部
查看用户资料 发送私信
乔格·芬代森

活跃用户


已加入:2015年8月15日
帖子:389
地点:德国班贝格

发布发表于:星期三十月30,2019 2:26上午
引用回复

对我来说,第二个数据集是单行还是seqno还是多行对我来说还不是很清楚。但是起初看起来像是一团糟。 icon_exclaim.gif

假设seqno始终是一行中的最后一个值,则可以尝试以下操作:

-在INREC上,使用OVERLAY / BUILD通过LRECL临时扩展今天双色球开奖结果
-在位置LRECL + 1处使用1,LRECL,JFY =(SHIFT = RIGHT))
-现在在最右边有seqno的固定列
-做一些准备工作以保持正确的今天双色球开奖结果顺序
-根据需要加入键
- 后期处理


肮脏的事使污垢便宜了。
回到顶部
查看用户资料 发送私信
阿卜杜拉菲

活跃用户


已加入:2009年9月14日
职位:184
地点:哥印拜陀

发布发表于:星期三十月30,2019 4:26下午
引用回复

罗希特(Hi Rohit),

Joinkey正在填充与其相邻的今天双色球开奖结果,例如,

1-250(序列号为00001的第一条今天双色球开奖结果)1-250(序列号为00001的第二条今天双色球开奖结果)-当我将LRECL设置为500时会发生这种情况。如果将其设为250,则不会从第二个文件中获取今天双色球开奖结果完全没有

码:

// JS040   EXEC PGM = SORT,REGION = 0M                                 
// SYSOUT   DD SYSOUT=*,DCB=(RECFM = FBA,LRECL = 133,BLKSIZE = 6118 )     
// SORTJNF1 DD DSN = A04124T.TEST.T02.EDI862.WHDR.AZ.SORTED,DISP = SHR
// SORTJNF2 DD DSN = A04124T.TEST.T02.EDI862.WOHDR.AZ,DISP = SHR       
//整理 DD DSN = A04124T.TEST.T02.EDI862.WOHDR.AZ.F1,           
//             DISP=(NEW,CATLG,DELETE),                           
//             UNIT=PRD,                                         
//             SPACE=(CYL,(100,100),RLSE),                       
//             DCB=(RECFM = FB,LRECL = 500,DSORG = PS)                 
// SYSIN    DD *                                                   
JOINKEYS FILE = F1,FIELDS =(245,6,A)     
JOINKEYS FILE = F2,FIELDS =(245,6,A)     
改革领域=(F1:1,250,F2:1,250)   
排序字段=(245,6,CH,A)             



但是我需要
1-250(第一条今天双色球开奖结果)-假设序列号为00001
1-250(第二条今天双色球开奖结果)-假设seq no为00001
1-250(第二条今天双色球开奖结果)-假设seq no为00001
1-250(第一条今天双色球开奖结果)-假设序列号为00002
1-250(第二条今天双色球开奖结果)-假设序列号为00002
1-250(第二条今天双色球开奖结果)-假设序列号为00002
1-250(第二条今天双色球开奖结果)-假设序列号为00002

注意:序列号是关键。
回到顶部
查看用户资料 发送私信
谢尔盖肯

活跃的成员


已加入:2008年4月29日
帖子:940
所在地:马里兰

发布发表于:星期三十月30,2019 9:11下午
引用回复

码:
// * =============================================== ======================
// *加入垃圾                                                       
// * =============================================== ======================
//垃圾  EXEC PGM=SORT                                               
// *                                                                     
// SYSOUT   DD  SYSOUT=*                                                 
// *                                                                     
//标题  DD  *                                                       
CNTL BOS汽车产品          00301 0030I         P862PO    000001
CNTL BOS汽车产品          00302 0030I         P862PO    000002
CNTL GRUPO安托林·肯图克          00772 0077I         P862PO    000003
CNTL CHUHATSU北美洲          00800 0080I         P862PO    000004
CNTL爱信世界股份有限公司           01000 0100I         P862PO    000005
CNTL爱信世界股份有限公司           01004 0100I         P862PO    000006
CNTL爱信世界股份有限公司           01007 0100I         P862PO    000007
CNTL爱信墨西哥公司           01010 0101I         P862PO    000008
// *-+ ---- 1 ---- + ---- 2 ---- + ---- 3 ---- + ---- 4 ---- + ---- 5 ---- + ---- 6 ---- + ---- 7-
// *                                                                     
//垃圾  DD  *                                                       
BFR 00    001          DLA1910291911                             000003
N1  MI02                                                         000003
N1  SU   BOS汽车产品92            00301                000003
LIN1      BP           649100E080C0RC             VYA2ZZ         000003
电脑                                                           000003
PID盖组件,TONNEAU                                          000003
PO41 00036                                                       000003
BFR 00    001          DLA1910291910                             000004
N1  MI02                                                         000004
N1  SU   BOS汽车产品92            00302                000004
LIN1      BP           663110E010B0RC             HYC1ZZ         000004
电脑                                                           000004
PID钩,绳                                                   000004
PO41 00060                                                       000004
PRS 1                                                            000004
// *-+ ---- 1 ---- + ---- 2 ---- + ---- 3 ---- + ---- 4 ---- + ---- 5 ---- + ---- 6 ---- + ---- 7-
// *                                                                     
//整理  DD  SYSOUT=*                                                 
// *                                                                     
// SYSIN    DD  *                                                       
 JOINKEYS F1 =标题,字段=(66,6,A)                                   
 JOINKEYS F2 =垃圾场=(66,6,A)                                   
*                                                                       
 REFORMAT FIELDS=(F2:1,80,?,F1:1,80)                                   
*                                                                       
 SORT FIELDS=COPY                                                       
*                                                                       
 OUTFIL IFTHEN =(WHEN=GROUP,                                             
                键盘=(66,6),                                       
                PUSH =(162:SEQ=3)),                                     
        IFTHEN =(WHEN=(162,3,ZD,EQ,+1),                                 
                建造=(/,82,80)),                                       
        IFTHEN =(WHEN=NONE,                                             
                建造=(01,80))                                         
 END                                                                   
// *                                                                     
// * =============================================== ======================

码:
**************************************数据顶部************** **************
                                                                         
CNTL GRUPO安托林·肯图克          00772 0077I         P862PO    000003   
N1  MI02                                                         000003   
N1  SU   BOS汽车产品92            00301                000003   
LIN1      BP           649100E080C0RC             VYA2ZZ         000003   
电脑                                                           000003   
PID盖组件,TONNEAU                                          000003   
PO41 00036                                                       000003   
                                                                         
CNTL CHUHATSU北美洲          00800 0080I         P862PO    000004   
N1  MI02                                                         000004   
N1  SU   BOS汽车产品92            00302                000004   
LIN1      BP           663110E010B0RC             HYC1ZZ         000004   
电脑                                                           000004   
PID钩,绳                                                   000004   
PO41 00060                                                       000004   
PRS 1                                                            000004   
********************************数据底部*************** ***********


附言
这就是所谓的SORT实用程序;与JCL无关,至少与“计算机”无关。
回到顶部
查看用户资料 发送私信
乔格·芬代森

活跃用户


已加入:2015年8月15日
帖子:389
地点:德国班贝格

发布发表于:星期三十月30,2019 9:51下午
引用回复

难道不是要在KEYBEGIN上采用DD:HEADERS行,而其他所有具有相同seqno的行是否都来自DD:GARBAGE?

码:
完全移除,部分=(66,6,SKIP=L,
  HEADER3=(82,80)),                   
  建造=(1,80)                       
结束

结果:
码:
CNTL GRUPO安托林·肯图克          00772 0077I         P862PO    000003
BFR 00    001          DLA1910291911                             000003
N1  MI02                                                         000003
N1  SU   BOS汽车产品92            00301                000003
LIN1      BP           649100E080C0RC             VYA2ZZ         000003
电脑                                                           000003
PID盖组件,TONNEAU                                          000003
PO41 00036                                                       000003
                                                                       
CNTL CHUHATSU北美洲          00800 0080I         P862PO    000004
BFR 00    001          DLA1910291910                             000004
N1  MI02                                                         000004
N1  SU   BOS汽车产品92            00302                000004
LIN1      BP           663110E010B0RC             HYC1ZZ         000004
电脑                                                           000004
PID钩,绳                                                   000004
PO41 00060                                                       000004
PRS 1                                                            000004
回到顶部
查看用户资料 发送私信
谢尔盖肯

活跃的成员


已加入:2008年4月29日
帖子:940
所在地:马里兰

发布发表于:星期三十月30,2019 11:13下午
引用回复

乔格·芬代森写道:
难道不是要在KEYBEGIN上采用DD:HEADERS行,而其他所有具有相同seqno的行是否都来自DD:GARBAGE?


对不起,我的错。标头后缺少第一行
码:
 . . . . . . . .
 OUTFIL IFTHEN =(WHEN=GROUP,                                             
                 KEYBEGIN=(66,6),                                       
                 PUSH=(162:SEQ=3)),                                     
         IFTHEN=(WHEN=(162,3,ZD,EQ,+1),                                 
                 BUILD=(/,82,80,/,01,80)),
         IFTHEN=(WHEN=NONE,                                             
                 BUILD=(01,80))                                     
。 。 。 。 。 。 。 。
回到顶部
查看用户资料 发送私信
谢尔盖肯

活跃的成员


已加入:2008年4月29日
帖子:940
所在地:马里兰

发布发表于:星期三十月30,2019 11:22下午
引用回复

HEADER3也是执行此操作的另一个选项。
回到顶部
查看用户资料 发送私信
阿卜杜拉菲

活跃用户


已加入:2009年9月14日
职位:184
地点:哥印拜陀

发布发表于:星期四十月31,2019 3:14下午
引用回复

你好

谢谢你的帮助。

我有一个查询。我不明白这个构建说明,

码:
 BUILD=(/,82,80,/,01,80)),


你能让我知道它是如何工作的。 ?
回到顶部
查看用户资料 发送私信
尼克·克劳斯顿

全球主持人


加入时间:2007年5月10日
帖子:2455
地点:英国汉普郡

发布发表于:星期四十月31,2019 4:17下午
引用回复

您对此不了解?您是否看过手册的工作原理?
回到顶部
查看用户资料 发送私信
阿卜杜拉菲

活跃用户


已加入:2009年9月14日
职位:184
地点:哥印拜陀

发布发表于:星期四十月31,2019 7:05下午
引用回复

我尝试对代码使用相同的逻辑,并根据所需的LRECL对其进行了如下修改,但提取了重复项。我没有得到正确的输出。我不明白为什么选择162来添加序列。我相信它的虚构位置选择添加序列号。我试图找到BUILD的选项,但无法获得所需的东西。

这是我修改过的
从246开始,密钥000001从6个字节开始。我从251个3个字节添加了序列号。增量正确到来。现在我想我的今天双色球开奖结果会像
1-244(文件1)| 245-250(seq否6字节)| 251-253(通过PUSH顺序为3个字节)| 1-250(文件2)。我给出了构建以拆分和写入今天双色球开奖结果,
码:
           BUILD=(/,254,250,/,01,250)),   


我有很多重复的今天双色球开奖结果。因此,需要您的帮助来确认我的理解是否正确?

码:

JOINKEYS FILE = F1,FIELDS =(245,6,A)                 
JOINKEYS FILE = F2,FIELDS =(245,6,A)                 
改革领域=(F2:1,250,?,F1:1,250)             
排序字段=COPY                                 
OUTFIL IFTHEN =(WHEN=GROUP,                       
                  键盘=(245,6),               
                  PUSH =(251:SEQ=3)),             
          IFTHEN =(WHEN=(251,3,ZD,EQ,+1),         
                  建造=(/,254,250,/,01,250)),   
          IFTHEN =(WHEN=NONE,                     
                  建造=(01,250))                 
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


已加入:2010年9月21日
帖子:2582
地点:美国纽约

发布发表于:星期四十月31,2019 7:58下午
引用回复

码:
JOINKEYS FILE = F1,FIELDS =(245,6,A)                 
JOINKEYS FILE = F2,FIELDS =(245,6,A)     

引用:
从246开始,6个字节是密钥000001


它们不一定在引用的所有地方都匹配,因此请修复所有问题并重新运行。
回到顶部
查看用户资料 发送私信
谢尔盖肯

活跃的成员


已加入:2008年4月29日
帖子:940
所在地:马里兰

发布发表于:星期五十一月01,2019 12:33上午
引用回复

阿卜杜拉菲写道:
我尝试使用相同的逻辑
码:

改革领域=(F2:1,250,?,F1:1,250)             

小提示。

该语句创建每个250 + 1 + 250 = 501字节长的中间今天双色球开奖结果。
'?'代表“匹配指示符字节”;实际上,在这种情况下并没有使用它(但是您可能会在针对新要求的进一步调整中使用它,因此请保留该位置,以免将来不重新计算字节偏移)。这就是为什么合并今天双色球开奖结果的第二部分不是从位置251开始而是从位置252开始的原因!

请重新考虑代码示例中更新的新偏移量。

参数
码:
 BUILD=(/,N1,L1,/,N2,L2)
从一个组合今天双色球开奖结果创建两个输出今天双色球开奖结果(如果需要,在每个组之前添加空今天双色球开奖结果)。

如前所述,另一个选择是:使用参数SECTIONS =和HEADER3 =。在某些情况下可能更明显。


如果不清楚,则:
1)RTFM
2)切换到初学者论坛。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> DFSORT / ICETOOL

 


类似主题
话题 论坛 回覆
没有新帖 用dfsort联接线 DFSORT / ICETOOL 5
没有新帖 排序内部联接[F1]超出序列错误 DFSORT / ICETOOL 8
没有新帖 日期使用...在特定日期进行比较 DFSORT / ICETOOL 2
没有新帖 获取内部联接的第一排第一行! DB2 13
没有新帖 仅处理文件中的最后一个关键今天双色球开奖结果... DFSORT / ICETOOL 8
搜索我们的论坛:


回到顶部