小编Sha*_*ane的帖子

COBOL ADD语句没有使用记录中的正确字段?

所以我正在为课堂写这个课程,我相信我做对了.但我无法测试它,因为我无法对输入记录中的某个字段执行任何操作.我需要将它添加到数组中的不同位置,但由于它使用了错误的字段,我得到"数字字段中的无效字符"错误.我的输入记录PIC条款也是正确的.输入文件已编码:

FD SALES-AMT-FILE-IN.
01 SA-SALESMAN-NUM-IN                  PIC 99.
01                                     PIC X        VALUE SPACE.
01 MONTH-NUM-IN                        PIC 9.
01                                     PIC X        VALUE SPACE.
01 SALES-AMT-IN                        PIC 9(5).
Run Code Online (Sandbox Code Playgroud)

SALES-AMT-FILE-IN的布局与我多次检查并检查每条记录完全相同.我收到错误的代码部分是:

440-READ-SALES-AMT-FILE.
    MOVE 'YES' TO ARE-THERE-MORE-RECORDS

    PERFORM UNTIL ARE-THERE-MORE-RECORDS = 'NO' 
       READ SALESAMT-FILE-IN
           AT END
               MOVE 'NO' TO ARE-THERE-MORE-RECORDS
           NOT AT END
              DISPLAY SALES-AMT-IN *I coded this in to check what was in SALES-AMT-IN
              ADD SALES-AMT-IN TO A-AMT (MONTH-NUM-IN, SA-SALESMAN-NUM-IN)
       END-READ
    END-PERFORM.
Run Code Online (Sandbox Code Playgroud)

输入文件的第一条记录如下:

30 1 17960
Run Code Online (Sandbox Code Playgroud)

显示声明给了我:

30 1
Run Code Online (Sandbox Code Playgroud)

当我正确定义PIC时,我无法弄清楚为什么错误的数据会进入那里.任何人都可以看到我做错了什么.如果需要,我会发布整个代码.

WORKING-STORAGE SECTION.                                   
01 ARE-THERE-MORE-RECORDS        PIC …
Run Code Online (Sandbox Code Playgroud)

cobol

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

标签 统计

cobol ×1