首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >COBOL Copybook版本控制

COBOL Copybook版本控制
EN

Stack Overflow用户
提问于 2021-07-29 22:32:47
回答 1查看 49关注 0票数 2

我有一个COBOL编译作业,它不是我写的,我正在尝试理解它是如何工作的。它看起来像这样:

代码语言:javascript
复制
//COB      EXEC PGM=IGYCRCTL,COND=(0,NE,TRN),
//             PARM=('DTR,NUMPROC(PFD),NOADV,LIST,LIB,TRUNC(BIN)',     *
//             'NOSEQ,DYN,RMODE(ANY),OUT(SYSPRINT),MAP')
//STEPLIB  DD DISP=SHR,DSN=SYS1.IGY.SIGYCOMP
//SYSPRINT DD DSN=xxx..xxx..xxx.LST(&NAME),DISP=SHR
//SYSUT1   DD UNIT=SYSDA,SPACE=(460,(1700,1000))
...
//SYSLIB   DD DISP=SHR,DSN=xxx..xxx..xxx.CPY
//         DD DISP=SHR,DSN=SYSQ.MQS710A.SCSQCOBC         MQ-SERIES

这不是真正的工作,我把一些部分改成了"xxx“,因为我不能给出真正的代码。我知道SYSLIB之后的数据集是我正在编译的程序的依赖项。我不明白的是,版本化是如何在Copybook中工作的。它将在数据集中的限定符"xxx..xxx..xxx.CPY“下拉入任何内容。我如何知道所有需要的复制本(编译错误?)并且它们是原始程序员打算使用的正确版本。对于MQ-Series Copybook数据集,在名称"MQS710A“中似乎有一个版本号。在z/OS上应该是这样的吗?另一个数据集"xxx..xxx..xxx.CPY“的名称中没有任何类似版本的内容,"xxx”只是一堆字母。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-29 14:39:54

当一个复制本被引用时,它是基于找到该复制本的第一个数据集来选择的。编译器不会查看您看到版本号的数据集名称。版本号是一种约定,用于控制何时将新更改引入环境。

例如,假设安装了新版本的MQ,可以将数据集更改为引用较新的版本。这将取决于系统程序员如何将更改引入环境。这是一个比你的帖子所说的更复杂的答案。

如果你在“版本化”,你应该在连接中对数据集的序列进行排序。例如,您可能会看到如下内容:

代码语言:javascript
复制
//SYSLIB   DD DISP=SHR,DSN=xxx.DEV.xxx.CPY
//         DD DISP=SHR,DSN=xxx.PROD.xxx.CPY
//         DD DISP=SHR,DSN=SYSQ.MQS710A.SCSQCOBC         MQ-SERIES 

这种方法允许开发人员挑选正在作为新功能的一部分进行修改的副本,然后从生产版本的当前版本中检索剩余的副本。

尽管如此,如果您使用的是源代码管理系统,那么它们的编译过程将不同于简单的串联。

如果找不到COPYBOOK,就会出现编译错误。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68577869

复制
相关文章

相似问题

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