标签: cobol

AND和OR的问题(COBOL)

我有一个明天需要上班的作业,我似乎无法将这一部分弄清楚.看到我被给了一个带有一堆名字的输入文件,其中一些我需要跳过,每个都有额外的信息.我正在尝试使用AND和OR来跳过我不需要的名字,我想出了这个.

IF DL-CLASS-STANDING = 'First Yr' OR 'Second Yr' AND
GRAD-STAT-IN = ' ' OR 'X'
Run Code Online (Sandbox Code Playgroud)

它除了一个人之外什么都没有,但当我试图添加另一组AND和OR时,程序开始表现得像那些甚至没有的规定.

我是否为编译器过于复杂?是否有更简单的方法来跳过事物?

cobol logical-operators

37
推荐指数
3
解决办法
4万
查看次数

如何使用COBOL从文件中删除重复项?

输入文件的记录为:8712351,8712353,8712353,8712354,8712356,8712352,8712355 8712352,8712355

使用COBOL我需要从上面的文件中删除重复项并写入输出文件.我编写了简单的逻辑来读取记录并写入输出文件.

我在哪里需要从上面的文件中删除重复项(例如,8712353,8712352)的逻辑.这是程序逻辑:

   IDENTIFICATION DIVISION.
   PROGRAM-ID.RemoveDup.
   ENVIRONMENT DIVISION.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT INPUTFILEDUP ASSIGN TO 'C:\Cobol\INPUTFILEDUP.txt'
           ORGANIZATION IS LINE SEQUENTIAL.
   SELECT OUTFILEDUP ASSIGN TO 'C:\Cobol\OUTFILEDUP.txt'
               ORGANIZATION IS LINE SEQUENTIAL.

   DATA DIVISION.

   FILE SECTION.
   FD INPUTFILEDUP.
   01 INPUTFILEDUPREC.
       88 EOFINPUTFILEDUP    VALUE HIGH-VALUES.
       02 INPUTFILEID        PIC 9(07).

   FD  OUTFILEDUP.
   01 OUTFILEDUPREC         PIC 9(07).

   WORKING-STORAGE SECTION.
   77 WS-VARIABLE            PIC 9(09).
   77 REC-NOT-MATCH          PIC 9(01).
   77 CUR-VARIABLE           PIC 9(09).

   PROCEDURE DIVISION.
   BEGIN.
   OPEN INPUT  INPUTFILEDUP
   OPEN OUTPUT OUTFILEDUP

   READ INPUTFILEDUP
       AT …
Run Code Online (Sandbox Code Playgroud)

cobol file cobol85

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

为什么COBOL仍然是商业领域的首选语言?

即使我们有类似的语言C++, Java, Python,为什么COBOL仍然是商业世界的首选语言?

编辑:

它为何如此受欢迎?

很抱歉没有为此问题创建单独的帖子.

cobol

30
推荐指数
5
解决办法
2万
查看次数

在COBOL应用程序中使用测试驱动开发是否有可行的方法?

有没有人遇到过在COBOL应用程序中实现测试驱动开发(以及可能的行为驱动开发)的任何可行方法?

理想的解决方案将支持事务(CICS)和批处理模式cobol的单元和集成测试,它们位于DB2数据库和各种固定宽度数据集的通常组合之上.

我见过http://sites.google.com/site/cobolunit/,看起来很有趣.有没有人看到过这种愤怒的工作?它有用吗?有什么问题?

只是为了让您的创意成果流动起来,对理想方法有一些"要求":

  • 必须允许集成测试来执行整个cobol程序.
  • 必须允许测试自我认证他们的结果(即使断言成为la xUnit)
  • 必须支持批处理模式和CICS cobol.
  • 应该允许单元测试通过在调用测试代码之前/之后操作工作存储来在cobol程序中执行单个段落.
  • 应该提供自动执行一系列测试(套件)和报告整体结果的能力.
  • 支持使用在测试之前设置并随后拆除的测试数据夹具.
  • 应该将测试与生产代码完全分开.
  • 提供大约1:1的生产代码比率的典型测试(即编写测试不应该将编写的代码量乘以使维护的总体成本上升而不是下降)
  • 不应该要求COBOL开发人员学习另一种编程语言,除非这与上述要求直接冲突.
  • 可以支持代码覆盖率报告.
  • 可以鼓励在代码本身中采用不同的设计模式,以使代码更容易测试.

欢迎评论上述要求的有效性/适当性.

只是提醒一下,我在这里寻找的是关于实现这些事情的最佳方式的良好实用建议 - 我不一定期望预先打包的解决方案.我很高兴看到有人在cobol中成功使用TDD的例子,以及一些有效和无效的指导和问题.

tdd bdd cobol

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

.NET中实际上有COBOL吗?

我刚才正在查看微软的Visual Studio页面,在广告边栏中,我突然看到了一个令人难以置信的广告:

"Net Express是一个COBOL开发环境,用于将核心业务流程扩展到.NET Framework和其他分布式平台."

当然我按照链接找到了一家这样做的公司,但还有那些地方还在使用COBOL吗?有没有人在.NET框架中实际使用COBOL?

编辑:感谢大家的以下信息,我今天肯定学到了一些东西!

.net cobol microfocus

22
推荐指数
4
解决办法
2万
查看次数

为什么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万
查看次数

可变阻塞格式和固定阻塞格式之间有什么区别?

我在数据文件定义文档中遇到过这些术语,这些术语是我从大型机系统获得的一些数据.

我没有在任何词汇表或谷歌搜索中找到这些术语的定义 - 只是提到它们.

任何人都可以对这些术语的确切含义有所了解吗?

cobol mainframe jcl

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

从Java读取cobol数据结构

有没有办法在Java程序中读取cobol数据?更具体地说,我面临以下情况:

我有一个具有固定长度数据记录的文件.数据定义以Cobol副本完成.我想到的是一个考虑到拷贝书的图书馆能够阅读这些记录.

理想情况下,应该可以基于副本信息生成基本的Java类和结构.在稍后的步骤中,将解析数据线并将数据填充到那些生成的类的对象中.

你知道提供这种功能的图书馆吗?或者任何其他技术来应对读取cobol数据的问题?


有一些商业工具提供此功能.然而,它们非常昂贵.您是否知道任何开源替代方案或不同工具的组合来提供整个功能?例如,cb2xml读取copybook结构并将它们转换为xml.稍后的步骤是基于cb2xml xml信息生成记录阅读器.或者使用可配置的记录阅读器.你知道cobol记录阅读器(解码器)吗?

java cobol copybook data-structures

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

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

COBOL关键字REDEFINES

请问,COBOL中关键字REDEFINES的用法是什么?我无法理解手册的定义.

以下代码是什么意思?

 01 WS_CHARGE_TXT_8X                             PIC X(08) VALUE "10000000".  
 01 WS_CHARGE_NUM_8 REDEFINES WS_CHARGE_TXT_8X.  
     05 WS_CHARGE_8                               PIC 9(05)V9(03).  
Run Code Online (Sandbox Code Playgroud)

谢谢!

cobol

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