期货交易自动化论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 47|回复: 0

本人有个COBOL的问题希望大家能帮我讲解下 - 金融行业 - ITPUB论坛-专业的IT技术社区

[复制链接] |主动推送

285万

主题

285万

帖子

855万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8553710
发表于 2022-9-11 10:01:26 | 显示全部楼层 |阅读模式
命名规则:
设定培训人员的TSO ID为DEVPxx,其中XX表示培训人员ID的两位数字,需要编制的程序名为TESTXXY,其中Y表示第几只练习程序从A开始。例如:DEVP30的第二只练习程序“TEST30B”。
输入文件:
DEVP24.PTOT.CLFMN01,现有三条记录。
输出文件:
DEVP*.PTOT.CLFMN01.CP(各自建立)
文件数据格式:
PTOT.ONL.MACLIB(CLFMN01)
程序功能要求:读入输入文件数据,做下述修改后,写入到输出文件
a) 将文件记录中:MN01:-USER-ID这个域(变量)的值设定为“DEVP* ”
b) 将域:MN01:-TXN-DATA中所有的字符 ”A” 替换为 “Z”。
程序框架:其中已包含了如何在程序中COPY文件数据格式 – CLFMN01
DEVP24.SOURCE(GLCTEST)
编译方法:
修改编译作业流DEVP24.SOURCE(CBBAT)的参数后,提交查错。
提示:
此程序应包含两个文件定义,分别为输入输出
输入输出文件的通信区定义可以以一个01层的变量(假设为X)代替,即不需于文件节的通信区定义其数据格式。数据格式的定义(CLFMN01)可以如框架程序般COPY在WORKING-STORAGE SECTION,然后通过MOVE语句将READ到的数据传到CLFMN01-REC当中。
IDENTIFICATION     DIVISION.                    
     PROGRAM-ID.       TEST02.                     
     ENVIRONMENT       DIVISION.                    
     INPUT-OUTPUT     SECTION.                  
     FILE-CONTROL.                             
         SELECT IN-FILE ASSIGN TO INFILE.
         SELECT OT-FILE ASSIGN TO OTFILE.            
     DATA            DIVISION.                    
     FILE            SECTION.                  
     FD IN-FILE LABEL RECORD IS STANDARD RECORDING MODE IS F.
     01 IN-REC        PIC X(XXX).                                
     FD OT-FILE LABEL RECORD IS STANDARD RECORDING MODE IS F.
     01 OT-REC        PIC X(XXX).
     WORKING-STORAGE   SECTION.                  
     01 WK-REC.
         COPY CLFMN01 REPLACING ==:Q:== BY ==CLFMN01==.
     01 EOF          PIC X(001) VALUE 'N'.
     PROCEDURE       DIVISION.
     CONTROL          SECTION.
         OPEN INPUT IN-FILE OUTPUT OT-FILE.
         PERFORM MAIN UNTIL EOF = 'Y'.
         CLOSE IN-FILE OT-FILE.
         STOP RUN.
     CONTROL-EXIT.
         EXIT.
     MAIN            SECTION.
         READ INFILE AT END MOVE 'Y' TO EOF
         GO TO MAIN-EXIT.
         MOVE IN-REC   TO WK-REC.
         MOVE   'DEVP*'   TO CLFMN01-USER-ID.
         IF CLFMN01-TXN-DATA = 'A'
         THEN
            MOVE 'Z'    TO CLFMN01-TXN-DATA
         END-IF.
         MOVE WK-REC   TO OT-REC.
         WRITE OT-REC.
     MAIN-EXIT.
         EXIT.
我不用OICQ有什么问题就在这里沟通吧。
刚才的代码是我参考你给的条件写的,只是传上来格式有问题。
因为COPYBOOK的格式和其他的原因我只能写个大概,因此只是给你个参考。具体实现你再想想看看吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|期货交易自动化论坛

GMT+8, 2025-9-12 00:23 , Processed in 0.101391 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表