小编Nea*_*alB的帖子

为什么COBOL同时具有"SECTION"和"PARAGRAPH"?

为什么COBOL兼具SECTIONPARAGRAPH

谁能解释为什么COBOL的设计师创造了SECTIONs和PARAGRAPHs?自从COBOL最初发布以来,这些已经存在,所以我怀疑它们存在的真正原因早已消失(类似于NEXT SENTENCE仍然在语言规范中以实现向后兼容性但从引入显式范围终止符后不再需要的事物).

我的猜测SECTION可能是为了支持程序覆盖而引入的.SECTION有一个与之关联的可选PRIORITY编号,用于标识它所属的程序覆盖.但是,大多数COBOL的现代实现忽略或丢弃了PRIORITY数字(和覆盖).

目前,我看到部分SECTION仍然需要s ,但是没有理由这样做.我看不出有什么语义差别之间,并比其他隶属于.DECLARATIVEPROCEDURE DIVISIONSECTIONPARAGRAPHPARAGRAPHSECTION

有些COBOL商店禁止使用的SECTION支持PARAGRAPH(在北美似乎普遍).其他人禁止PARAGRAPH赞成SECTION(在欧洲似乎很常见).还有一些人有关于何时适当的指导方针.所有这一切对我来说都是非常武断的 - 这就引出了一个问题:为什么他们首先会被纳入语言规范?而且,它们今天有任何相关性吗?

如果你回答这个问题,如果你也可以指出一个支持你的答案的参考文件,那将会很棒.

谢谢

cobol language-design

21
推荐指数
3
解决办法
2万
查看次数

如何在z/OS中调用dialog panel命令?

官方指南说,使用CMD(your_statement)函数,但我不断收到一个无法识别关键字错误.我正在尝试自定义ISPF主选项菜单,我需要编辑面板,这样当你按'R'时它会运行一个Rexx exec.以下是我正在使用的面板中的一些代码:

 %                                                                  
 %                      ******************                          
 %                      *                *                          
 %                      * $2  %Edit      *                          
 %                      * $3  %Utility   *                          
 %                      * $6  %Command   *                          
 %                      * $SD %SDSF      *                          
 %                      * $D  %Datasets  *                          
 %                      * $X  %eXit      *                          
 %                      * $R  %REXX      *                          
 %                      *                *                          
 %                      ******************                          
 )PROC                                                              
   &ZSEL = TRANS ( TRUNC (&ZCMD,'.')                                
                 2,'PGM(ISREDIT) PARM(P,ISREDM01) SCRNAME(EDIT)'    
                 3,'PANEL(ISRUTIL) SCRNAME(UTIL)'                   
                 D,'PGM(ISRUDL) PARM(ISRUDLP) SCRNAME(DSLIST)'      
                 6,'PGM(ISRPTC) SCRNAME(CMD)'                       
                 SD,'PGM(ISFISP) NOCHECK NEWAPPL(ISF) SCRNAME(SDSF)'
                 R,'CMD(TSO EXEC 'IBM####.REXX(REXXSYSC)')'         
               ' ',' '                                              
                 X,'EXIT'                                           
                 *,'?' ) …
Run Code Online (Sandbox Code Playgroud)

rexx zos tso

2
推荐指数
1
解决办法
1222
查看次数

如何在COBOL中将整数值转换为十进制值

如何在COBOL中将整数值转换为十进制值?

我需要将1234567显示为12345.67

我不能将变量除以100.

cobol

1
推荐指数
1
解决办法
1万
查看次数

大型机CICS中的分页逻辑

这是我的要求.

Front(客户端)端将根据预定义条件进行搜索(例如:客户ID,帐号,名字,姓氏等).我需要从db2数据库获取与此请求相对应的数据并将其发送回它们(服务器).我们使用CICS通道和容器在客户端和服务器之间传递请求和响应.

前端需要按以下顺序排列的数据:接收日期降序,客户ID升序,帐号升序.数据以500条记录的页面提取.例如,如果来自前端的搜索请求将从db2数据库中检索50,000条记录,则我们需要在500条记录"页面"中返回此数据.对于分页概念,我们使用字段安全存款号,它是我们数据库的主键,但排序顺序不是基于此字段.

我想知道我们是否可以在CICS中使用可滚动游标逻辑来实现分页.

请注意,我不喜欢使用内部阵列冒泡排序来响应发送数据,因为它会降低性能.我喜欢通过查询逻辑来做.有什么想法吗?

示例(初始前端输入请求):

  • 客户ID:A
  • 第一次请求(以确定它是第一次或下次或先前的分页请求)
  • 第一保证金号码:0
  • 上次保证金编号:0

由于这是第一次请求,这个字段从前端都是零,我们需要根据保证金条件> 0从数据库中检索记录

Db2数据库:

  • 该标准有700条记录
  • 第一次主机响应:我们将发送前500条记录

然后前端将发送获取下一组记录的请求,其中包含:

  • 客户ID:A
  • 下一个请求
  • 第一笔保证金金额:0
  • 上次保证金号码:17980

因此,对于此详细信息,如果我根据安全存款编号> 17980查询我的数据库,则可能会再次在屏幕中列出重复记录,因为我们的数据库中的排序顺序不是基于安全存款编号

如何阻止这种逻辑?

db2 cobol mainframe cics

1
推荐指数
1
解决办法
2196
查看次数

标签 统计

cobol ×3

cics ×1

db2 ×1

language-design ×1

mainframe ×1

rexx ×1

tso ×1

zos ×1