查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
mkk157
活跃用户

加入时间:2006年5月17日 帖子:310
|
|
|
|
大家好,
我完全同意DISPLAY语句在发生故障的调试中非常有帮助。但是,对于从VSAM主文件读取的每条记录,都保留DISPLAY语句不是一个好习惯。
我的程序之一中有一个DISPLAY语句,该语句被处理250,000次,每次都在SYSOUT上打印值。日常工作使用的程序。
在使用和不使用DISPLAY语句的情况下,运行程序的CPU使用率差异不大。
就节省成本而言,我还能获得什么其他好处?
当程序在SYSOUT上显示不必要的信息时,该信息传播了250,000行,当我删除DISPLAYS时,将节省一些空间。怎么计算呢?
编号国际化 |
|
回到顶部 |
|
 |
加里·卡罗尔
高级会员
加入时间:2006年5月8日 职位:1100 所在地:爱尔兰都柏林
|
|
|
|
好处是节省线轴空间。
要查看节省的空间,也许尝试将SYSOUT定向到数据集并查看使用了多少空间-您必须允许将任何非DISPLAY数据写入SYSOUT。
加里 |
|
回到顶部 |
|
 |
mkk157
活跃用户

加入时间:2006年5月17日 帖子:310
|
|
|
|
@加里·卡洛尔
谢谢。我将线轴写入文件并估计空间。
让我们看看它是否还有其他好处。 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
我不是“在某些显示器上乱跑”的大提倡者。我什至不是一个很小的拥护者。
但是,甚至不要考虑未经测试就将其淘汰。
我不喜欢DISPLAY进行“调试”的一个原因是它会更改代码,有时会“隐藏”问题。
另一个原因是,对于数字字段,DISPLAY并不总是向您显示该字段中实际存在的内容,这样您可能仅仅因为DISPLAY在“说谎”您而错过了一个问题。
处理数字的方法是将其移动到数字编辑的项目,然后将其显示。人们这样做吗?不是很多。
另一个原因是,如果您有250,000个“无用的” DISPLAY,则很难找到一个有意义的DISPLAY,因为它是250,000个。
另一个原因是使程序更小,并消除了非业务需求的“噪音”。
另一个原因是250,000是一回事,如果您在某个时候遇到了大胖循环,则可能会冒充阀芯并使自己变得不受欢迎的风险。
等等。
将它们取出,然后进行测试。 |
|
回到顶部 |
|
 |
彼得·荷兰
全球主持人

已加入:2009年10月27日 帖子:2475 所在地:荷兰,阿姆斯特尔芬
|
|
|
|
2,50,000行是什么? 250.000?或2.500.000?
为何对sysout没有JES2限制? |
|
回到顶部 |
|
 |
马索
REXX主持人

已加入:2006年3月13日 帖子:1348 地点:以色列
|
|
|
|
彼得·荷兰(PeterHolland)写道: |
2,50,000行是什么? 250.000?或2.500.000? |
这有点令人困惑,但这就是 印度编号系统 作品。 |
|
回到顶部 |
|
 |
罗伯特·桑普
全球主持人

已加入:2008年6月6日 帖子:8569 地点:美国爱荷华州迪比克
|
|
|
|
引用: |
在使用和不使用DISPLAY语句的情况下,运行程序的CPU使用率差异不大。 |
你不会的当前一代的大型机可以在CPU时间的每一秒内执行很多行的COBOL。因此,删除250,000条DISPLAY语句不会对CPU造成太大影响。
如果您正设法证明这样做的成本节省,可能还不足以证明这样做的合理性。 SYSOUT进入JES假脱机(JES2或JES3),该假脱机由系统支持小组预先分配和确定大小,以处理整个站点。删除250,000条DISPLAY语句可能会允许其他工作使用该后台打印空间-但是,如果您的站点在后台打印空间上紧缺,那么您将遇到完成工作的主要问题。
最好的理由是消除不必每天看到250,000行输出的烦恼因素。这对我来说相当值得。而且,如果您确实摆脱了DISPLAY语句,请不要从代码中删除它们-将它们更改为注释或调试语句,而不要在第7列中添加*或D! |
|
回到顶部 |
|
 |
特里·海因兹
JCL主持人
已加入:2008年7月14日 帖子:1249 地点:美国明尼苏达州里奇菲尔德
|
|
|
|
正如罗伯特提到的,我喜欢使用SOURCE-COMPUTER的“带有调试模式”选项来打开和关闭显示。它确实需要重新编译。 |
|
回到顶部 |
|
 |
史蒂夫·迈尔斯
活跃的成员
已加入:2013年11月30日 帖子:870 地点:宇宙
|
|
|
|
彼得·荷兰(PeterHolland)写道: |
2,50,000行是什么? 250.000?或2.500.000?
为何对sysout没有JES2限制? |
一些生产车间将生产作业设置为具有无限(或至少非常大)的SYSOUT限制。我倾向于同意Sample先生的观点:摆脱调试输出的麻烦因素值得重新认证程序。
它也不一定只是JES2问题。有时,此输出会被SYSOUT归档程序拦截,因此在那里所需的空间更少。挂在调试输出上7年似乎有点愚蠢-不管商店的标准是什么! |
|
回到顶部 |
|
 |
彼得·荷兰
全球主持人

已加入:2009年10月27日 帖子:2475 所在地:荷兰,阿姆斯特尔芬
|
|
|
|
玛索,
引用: |
这有点令人困惑,但这就是印度编号系统的工作方式。 |
我不太在乎印度的编号。国际编号很重要。也许他们使用梵文键盘等,那么我有希伯来语键盘。 |
|
回到顶部 |
|
 |
杰里特
活跃用户

已加入:2010年10月29日 职位:195 地点:加拿大安大略省多伦多市
|
|
|
|
考虑使用
将状态消息显示给单独的dd SYSPUNCH。它具有将程序名称放在第73列中的额外好处。可以将其发送到sysout,它使您可以在程序运行时查看其状态。
另一种选择是使用计数器并仅对每千个记录显示一次
码: |
向WS-DISPLAY-COUNT添加1
如果WS-DISPLAY-COUNT = 1000 THEN
DISPLAY something
将0移动到WS-DISPLAY-COUNT
万一 |
|
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
杰里特,这是一个不错的提示,谢谢。我不知道
无论如何,对于该主题,不要将DISPLAY浪费掉,不要将它们摆在混乱的位置,以免混淆代码(指示符列或第七列中的注释或D)。记住,它们是有人认为在某些时候对某些目的有用的东西。它们可能不是,可能是错误的,可能是误导性的。他们可能/将使您误入歧途。
如果您迫切需要放入DISPLAY,请考虑一下您真正需要的东西,格式化数字项或以十六进制显示(使用搜索链接查找BBHEXD)。 |
|
回到顶部 |
|
 |
彼得·荷兰
全球主持人

已加入:2009年10月27日 帖子:2475 所在地:荷兰,阿姆斯特尔芬
|
|
|
|
我工作的地方有一个特殊的sysout类(SYSOUT = 0),该类会自动清除。 |
|
回到顶部 |
|
 |
尼克·克劳斯顿
全球主持人
加入时间:2007年5月10日 帖子:2455 地点:英国汉普郡
|
|
|
|
我工作过的地方不允许调试DISPLAYS在生产代码中处于活动状态。如果找到更改,则会被退回。 |
|
回到顶部 |
|
 |
mkk157
活跃用户

加入时间:2006年5月17日 帖子:310
|
|
|
|
大家好,
这里分享了许多宝贵的观点。谢谢。
主持人
感谢您将印度号码系统更正为国际号码
@比尔·伍德格
所有250,000 DISPLAY语句都是无用的,没有任何用处。还有另一个DISPLAY语句用于错误处理。
@ 彼得·荷兰,@ 马索,这是印度数字系统。
@Robert Sample,是的,我只会注释掉不需要的DISPLAY。
@ 彼得·荷兰,SYSOUT = 0我会尝试一下。但这也会清除有用的信息。 |
|
回到顶部 |
|
 |
赤胜
全球主持人

已加入:2009年10月3日 职位:1788 地点:伊利诺伊州布卢明顿
|
|
|
|
mkk157写道: |
@ 彼得·荷兰,SYSOUT = 0我会尝试一下。但这也会清除有用的信息。 |
请注意,这特定于 荷兰先生的机器。由于sysout类是完全任意的,因此您必须询问支持工作组,如果有的话,等效于 您的 店。 |
|
回到顶部 |
|
 |
马索
REXX主持人

已加入:2006年3月13日 帖子:1348 地点:以色列
|
|
|
|
如果您不介意执行I / O却看不到结果,则还可以:
添加一个 CBL ID区分之前的对帐单:
使用 UPON 参数:
然后根据需要为该逻辑单元分配一个DD,并将其分配给SYSOUT或DUMMY。 |
|
回到顶部 |
|
 |
杰里特
活跃用户

已加入:2010年10月29日 职位:195 地点:加拿大安大略省多伦多市
|
|
|
|
OUTDD(ddname)编译器选项将更改写入常规DISPLAY语句而不是默认SYSOUT dd的位置。
Enterprise COBOL的版本4似乎允许
我还没有尝试过。 |
|
回到顶部 |
|
 |
|