【问题标题】:Writing an output on an input line in Cobol在 Cobol 的输入行上写入输出
【发布时间】:2020-01-15 20:11:41
【问题描述】:

Customer ID Name Order Date

.................................................. ......................................Year Month Day

123456789 Johnny Smith

234567890 Mary Campbell

345678901 Ed Bilewicz

456789012 Tim Rahmen

567890123 Cheryl Graham

678901234 Robert Thomas McGill

所以我有一个正在处理的 .dat 文件。我只获得了 ID 和名称,并设法像这样格式化 .out 文件(这似乎不是问题)。我想知道的是我将如何将日、月和年添加到这个 .out 文件中,同时将它们与名称和 ID 保持在同一行。 我对 Cobol 真的很陌生,所以有很多术语我还不明白。我尝试在我的内联文件(例如 il-id)中写入变量,使用移动命令分配数字然后转移到我的大纲文件(ol-id)中的一个变量,然后写入大纲文件但它没有似乎工作。尽管我只是做错了,但这并没有超出可能性范围。 对我应该做的任何帮助将不胜感激。再说一次,我对此很陌生,所以不太复杂的术语我可能更容易理解。 非常感谢。

【问题讨论】:

  • 你试过什么???。通常使用 Cobol,你会设置一个包含所有你想要的字段的行记录。然后将数据移动到输出记录并写入
  • 所以我设置了一个内联,它读取字符然后我有一个带有 05 的 01 输入行来声明和放置各个部分。然后我的大纲基本上是一样的,除了我在格式中添加了填充符。我还有一个移动命令将数据内变量移动到 ol-data 变量中。之后,我将其写入文件。基本上我试图做的是使用相同的逻辑添加它们。在 il 和 ol 中有一个变量,在过程划分中声明,移动到 il-data 变量,移动到 ol-data 变量然后写出来....如果这有任何意义

标签: cobol


【解决方案1】:

实际上,COBOL 中的数据定义概念看起来像平面文件类关联到序列化或实体类关联到现代编程语言中的持久映射。

这是一个数据定义示例(在 DATA DIVISION 中):

WORKING-STORAGE SECTION.
...
02 OL-ID.
   05 CUSTOMER-ID    PIC X(10).
   05 CUSTOMER-NAME  PIC X(20).
   05 ORDER-DATE.
      10 YEAR   PIC X(4).
      10 FILLER PIC X(1) VALUE '-'.
      10 MONTH  PIC X(2).
      10 FILLER PIC X(1) VALUE '-'.
      10 DAY    PIC X(2).

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    相关资源
    最近更新 更多