所以目前我已经制作了一个cobol代码,它接收我的CustPF(物理文件),其中包含客户名称,号码,地址和信用额度等。 所以我想制作一份包含在我的CustPF中的记录,然后完成这个
PERFORM UNTIL WS-ENDCHECK = 'Y'
SORT SORT-CUSTPF ON ASCENDING KEY S-EMPNO
ON ASCENDING KEY S-CUNAME
USING CUSTPF
OUTPUT PROCEDURE IS 0002-SORTING-FILE
MOVE 'Y' TO WS-ENDCHECK
END-PERFORM.
然后通过这样做来阅读
RETURN SORT-CUSTPF INTO WS-CUSTPF
AT END
DISPLAY 'READING OF FILE ENDED'
DISPLAY 'TOTAL DISPLAY HERE'
MOVE 'Y' TO WS-END-READ
NOT END
CONTINUE
DISPLAY all the values here
然后我的结果显示在最后
EMP NO: 000001
CUSTOMER NAME: A
ADDRESS: 34,ZZZZZZZ
CREDIT LIMIT: &
我的信用额度如何显示为& ? 有时它只显示空白, - ,一个带有斜线的圆圈。
在我的FD中设置为
05 WS-CUCRLM PIC 9(9)V99.
在我的SD中设置为
05 S-CUCRLM PIC 9(9)V99.
在我的custpf中,它的格式是这个
CUCRLM 9P 2 TEXT('CUST CREDIT LIMIT')
任何想法如何使我的信用额度显示正常的数字? 我的信用限额示例如70000.00,8000.00,600.00等
答案 0 :(得分:4)
您需要一个经过编辑的字段来获取逗号,浮动符号和小数点等内容。
看到你的代码累积了S-CUCRLM和WS-CUCRLM也可能会有所帮助,但实际上,我认为你需要一个定义如下的字段:
05 display-curlm pic --9,999,999.00.
答案 1 :(得分:1)
输入文件可能存在问题。确保输入文件中没有有趣的字符,并且所有字段都与您的定义一致。在该特定字段的输入文件中是否有逗号,负值或小数?有没有什么共同的领域是有趣的人物(字符长度等)?
如果你已经排除了所有这些,那么在cobol here中使用数字数据的例子就很多了。
我希望这有帮助!