欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    大型机COBOL实验报告5COBOL商业编程技术.doc

    • 资源ID:2388209       资源大小:237.50KB        全文页数:25页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    大型机COBOL实验报告5COBOL商业编程技术.doc

    大连理工大学课程大作业课程名称:COBOL商业编程技术 学院(系): 软件学院 专 业: 大型机方向 班 级: 学 号: 学生姓名: 2011年 4月 25日一、 实验内容(1) 实验背景:假设有一公司要实现系统更新,将从开始至2011年一季度的数据备份到一个文件(数据集RYO.COBOL.RPT3000.FOLD)中,将第二季的数据保存在另一文件(数据集RYO.COBOL.RPT3000.FREC)中,要系统更新完成,要将两数据整合,并且第二季中的数据包括新的分公司的成立,原分公司的倒闭,原分公司数据更新。(2) 实验要求:现要实现判断第二季度中的数据集中内容判断是否合法,将不合法的输出到错误文件(数据集RYO.COBOL.RPT3000.FERR)中,将倒闭(关闭)的分公司数据输出到(数据集RYO.COBOL.RPT3000.FCLO)中,将新的整合后的数据保存到(数据集RYO.COBOL.RPT3000.FNEW),并最终打印成报表输出到(数据集RYO.COBOL.RPT3000Z.OUTPUT01)中。二:实验目的1) 了解COBOL语言格式,数据类型和基本运算,能熟练掌握编写COBOL 程序的技能2) 熟练掌握EVALUATE语句和PERFORM UNTIL语句等COBOL流程控制3) 熟练掌握对数据的排序和合并操作(SORT&MERGE)及对文件的操作4) 掌握表的基本用法和优点5) 熟练掌握子程序调用方法和具体实现原理6) 能正确编写JCL语言运行COBOL程序三:实验核心内容实验代码分类如下: (1) 主程序代码(2) 子程序代码(3) 编译程序代码(4) 运行程序代码(5) 输入数据1:RYO.COBOL.RPT3000.FOLD(6) 输入数据2:RYO.COBOL.RPT3000.FREC(6) 输出数据1:RYO.COBOL.RPT3000.FERR,RYO.COBOL.RPT3000.FCLO(7) 输出数据2:RYO.COBOL.RPT3000.FNEW(8) 最终生成报表:RYO.COBOL.RPT3000Z.OUTPUT01主程序结构图:子程序结构图:000Updata Fold Record100EditFrecRecord300SortValidRecord400UpdataFoldRecord230ReleaseValidRocord210ReadFrecRecord220EditFrecRecord200 Edit Frec Record240WriteErrorRecord500 Process Frec Record510ReturnFrecRecord553UpdatFoldRecord552insertnewrecord520ProcessFrecRecordFrecRecord551writeFcolRecord554RenameFoldrecordFrecRecord240WriteErrorRecord520WritefnewRecord240WriteErrorRecord(1)主程序代码000100 IDENTIFICATION DIVISION.000200*000300 PROGRAM-ID. RPT3000Z.000400*000500 ENVIRONMENT DIVISION.000600*000700 INPUT-OUTPUT SECTION.000800*000900 FILE-CONTROL.001000*001100 SELECT CUSTMAST ASSIGN TO CUSTMAS1.001200 SELECT SALESRPT ASSIGN TO SALESRP1.001300*001400 DATA DIVISION.001500*001600 FILE SECTION.001700*001800 FD CUSTMAST.001900*002000 01 CUSTOMER-MASTER-RECORD.002100 05 CM-BRANCH-NUMBER PIC 9(2).002110 05 CM-BRANCH-NAME PIC X(20).002200 05 CM-SALESREP-NUMBER PIC 9(2).002300 05 CM-CUSTOMER-NUMBER PIC 9(5).002400 05 CM-CUSTOMER-NAME PIC X(20).002500 05 CM-SALES-THIS-YTD PIC S9(5)V9(2).002600 05 CM-SALES-LAST-YTD PIC S9(5)V9(2).002700*002800 FD SALESRPT002900 RECORD CONTAINS 132 CHARACTERS.003000 01 PRINT-AREA PIC X(132).003100*003200 WORKING-STORAGE SECTION.003300*003400 01 SWITCHES.003500 05 CUSTMAST-EOF-SWITCH PIC X VALUE "N".003501 05 FIRST-RECORD-SWITCH PIC X VALUE "Y".003502 05 FIRST-SALESREP-SWITCH PIC X VALUE "Y".003503*003510 01 CALCULATED-FIELDS.003520 05 CHANGE-AMOUNT PIC S9(5)V99.003600*003601 01 CONTROL-FIELDS.003602 05 OLD-BRANCH-NUMBER PIC 99.003603 05 OLD-SALESREP-NUMBER PIC 99.003604*003700 01 PRINT-FIELDS.003800 05 PAGE-COUNT PIC S9(3) VALUE ZERO.003900 05 LINES-ON-PAGE PIC S9(3) VALUE +55.004000 05 LINE-COUNT PIC S9(3) VALUE +99.004100 05 SPACE-CONTROL PIC S9.004110 05 SPACE-LINE PIC X(132) VALUE ALL SPACE.004200*004300 01 TOTAL-FIELDS.004400 05 SALESREP-TOTAL-THIS-YTD PIC S9(6)V99 VALUE ZERO.004401 05 SALESREP-TOTAL-LAST-YTD PIC S9(6)V99 VALUE ZERO.004402 05 BRANCH-TOTAL-THIS-YTD PIC S9(6)V99 VALUE ZERO.004403 05 BRANCH-TOTAL-LAST-YTD PIC S9(6)V99 VALUE ZERO.004404 05 GRAND-TOTAL-THIS-YTD PIC S9(7)V99 VALUE ZERO.004500 05 GRAND-TOTAL-LAST-YTD PIC S9(7)V99 VALUE ZERO.004600*004700 01 CURRENT-DATE-AND-TIME.004800 05 CD-YEAR PIC 9999.004900 05 CD-MONTH PIC 99.005000 05 CD-DAY PIC 99.005100 05 CD-HOURS PIC 99.005200 05 CD-MINUTES PIC 99.005300 05 FILLER PIC X(9).005400*005500 01 HEADING-LINE-1.005600 05 FILLER PIC X(7) VALUE "DATE: ".005700 05 HL1-MONTH PIC 9(2).005800 05 FILLER PIC X(1) VALUE "/".005900 05 HL1-DAY PIC 9(2).006000 05 FILLER PIC X(1) VALUE "/".006100 05 HL1-YEAR PIC 9(4).006200 05 FILLER PIC X(11) VALUE SPACE.006300 05 FILLER PIC X(20) VALUE "YEAR-TO-DATE SALES R".006400 05 FILLER PIC X(20) VALUE "EPORT ".006500 05 FILLER PIC X(8) VALUE " PAGE: ".006600 05 Hl1-PAGE-NUMBER PIC ZZZ9.006700 05 FILLER PIC X(52) VALUE SPACE.006800*006900 01 HEADING-LINE-2.007000 05 FILLER PIC X(7) VALUE "TIME: ".007100 05 HL2-HOURS PIC 9(2).007200 05 FILLER PIC X(1) VALUE ":".007300 05 HL2-MINUTES PIC 9(2).007400 05 FILLER PIC X(58) VALUE SPACE.007500 05 FILLER PIC X(10) VALUE "RPT3000".007600 05 FILLER PIC X(52) VALUE SPACE.007700*007800 01 HEADING-LINE-3.007900 05 FILLER PIC X(08) VALUE "BRANCH ".007901 05 FILLER PIC X(20) VALUE " BRANCH ".007902 05 FILLER PIC X(08) VALUE "SALES ".007910 05 FILLER PIC X(20) VALUE "CUST ".008000 05 FILLER PIC X(20) VALUE " SALES ".008100 05 FILLER PIC X(20) VALUE " SALES ".008110 05 FILLER PIC X(20) VALUE "CHANGE CHANGE ".008200 05 FILLER PIC X(36) VALUE SPACE.008300*008400 01 HEADING-LINE-4.008500 05 FILLER PIC X(08) VALUE "NUM ".008501 05 FILLER PIC X(20) VALUE " NAME ".008502 05 FILLER PIC X(08) VALUE "NUM ".008510 05 FILLER PIC X(20) VALUE "NUM CUSTOMER NAME".008600 05 FILLER PIC X(20) VALUE " THIS YTD ".008700 05 FILLER PIC X(20) VALUE " LAST YTD ".008710 05 FILLER PIC X(20) VALUE "AMOUNT PERCENT ".008800 05 FILLER PIC X(36) VALUE SPACE.008900*009000 01 CUSTOMER-LINE.009100 05 FILLER PIC X(2) VALUE SPACE.009101 05 CL-BRANCH-NUMBER PIC X(2).009102 05 FILLER PIC X(2) VALUE SPACE.009103 05 CL-BRANCH-NAME PIC X(20).009104 05 FILLER PIC X(4) VALUE SPACE.009105 05 CL-SALESREP-NUMBER PIC X(2).009106 05 FILLER PIC X(4) VALUE SPACE.009107 05 CL-CUSTOMER-NUMBER PIC 9(5).009200 05 FILLER PIC X(2) VALUE SPACE.009300 05 CL-CUSTOMER-NAME PIC X(20).009400 05 FILLER PIC X(3) VALUE SPACE.009500 05 CL-SALES-THIS-YTD PIC ZZ,ZZ9.99-.009600 05 FILLER PIC X(4) VALUE SPACE.009700 05 CL-SALES-LAST-YTD PIC ZZ,ZZ9.99-.009710 05 FILLER PIC X(4) VALUE SPACE.009720 05 CL-CHANGE-AMOUNT PIC ZZ,ZZ9.99-.009730 05 FILLER PIC X(3) VALUE SPACE.009740 05 CL-CHANGE-PERCENT PIC -9.9.009750 05 CL-CHANGE-PERCENT-R REDEFINES CL-CHANGE-PERCENT PIC X(6).009800 05 FILLER PIC X(29) VALUE SPACE.009900*010000 01 SALESREP-TOTAL-LINE.010100 05 FILLER PIC X(43) VALUE SPACE.010110 05 FILLER PIC X(22) VALUE "SALESRTP TOTAL".010200 05 STL-SALES-THIS-YTD PIC $,$9.99-.010300 05 FILLER PIC X(1) VALUE SPACE.010400 05 STL-SALES-LAST-YTD PIC $,$,$9.99-.010410 05 FILLER PIC X(3) VALUE SPACE.010420 05 STL-CHANGE-AMOUNT PIC $,$9.99-.010430 05 FILLER PIC X(3) VALUE SPACE.010440 05 STL-CHANGE-PERCENT PIC +9.9.010450 05 STL-CHANGE-PERCENT-R REDEFINES STL-CHANGE-PERCENT010460 PIC X(6).010500 05 FILLER PIC X(19) VALUE " *".010600*010601 01 BRANCH-TOTAL-LINE.010602 05 FILLER PIC X(43) VALUE SPACE.010603 05 FILLER PIC X(22) VALUE "BRANCH TOTAL".010604 05 BTL-SALES-THIS-YTD PIC $,$9.99-.010605 05 FILLER PIC X(1) VALUE SPACE.010606 05 BTL-SALES-LAST-YTD PIC $,$,$9.99-.010607 05 FILLER PIC X(3) VALUE SPACE.010608 05 BTL-CHANGE-AMOUNT PIC $,$9.99-.010609 05 FILLER PIC X(3) VALUE SPACE.010610 05 BTL-CHANGE-PERCENT PIC +9.9.010611 05 BTL-CHANGE-PERCENT-R REDEFINES BTL-CHANGE-PERCENT010612 PIC X(6).010613 05 FILLER PIC X(19) VALUE " *".010614*010615 01 GRAND-TOTAL-LINE.010616 05 FILLER PIC X(43) VALUE SPACE.010617 05 FILLER PIC X(20) VALUE "GRAND TOTAL".010618 05 GTL-SALES-THIS-YTD PIC $,$,$9.99-.010619 05 FILLER PIC X(1) VALUE SPACE.010620 05 GTL-SALES-LAST-YTD PIC $,$,$9.99-.010621 05 FILLER PIC X(1) VALUE SPACE.010622 05 GTL-CHANGE-AMOUNT PIC $,$,$9.99-.010623 05 FILLER PIC X(3) VALUE SPACE.010624 05 GTL-CHANGE-PERCENT PIC +9.9.010625 05 GTL-CHANGE-PERCENT-R REDEFINES GTL-CHANGE-PERCENT010626 PIC X(6).010627 05 FILLER PIC X(24) VALUE " *".010628*010700 PROCEDURE DIVISION.010800*010810 CALL 'SORTRPT'.010900 000-PREPARE-SALES-REPORT.011000*011100 OPEN INPUT CUSTMAST011200 OUTPUT SALESRPT.011300 PERFORM 100-FORMAT-REPORT-HEADING.011400 PERFORM 300-PREPARE-SALES-LINES011500 UNTIL CUSTMAST-EOF-SWITCH = "Y".011600 PERFORM 500-PRINT-GRAND-TOTALS.011700 CLOSE CUSTMAST011800 SALESRPT.011900 STOP RUN.012000*012100 100-FORMAT-REPORT-HEADING.012200*012300 MOVE FUNCTION CURRENT-DATE TO CURRENT-DATE-AND-TIME.012400 MOVE CD-MONTH TO HL1-MONTH.012500 MOVE CD-DAY TO HL1-DAY.012600 MOVE CD-YEAR TO HL1-YEAR.012700 MOVE CD-HOURS TO HL2-HOURS.012800 MOVE CD-MINUTES TO HL2-MINUTES.012900*013000 300-PREPARE-SALES-LINES.013100*013200 PERFORM 310-READ-CUSTOMER-RECORD.013300 IF CUSTMAST-EOF-SWITCH = "N"013310 EVALUATE TRUE013320 WHEN FIRST-RECORD-SWITCH = "Y" AND013330 FIRST-SALESREP-SWITCH = "Y"013400 PERFORM 320-PRINT-CUSTOMER-LINE013500 MOVE "N" TO FIRST-SALESREP-SWITCH013510 MOVE "N" TO FIRST-RECORD-SWITCH013600 MOVE CM-SALESREP-NUMBER TO OLD-SALESREP-NUMBER013700 MOVE CM-BRANCH-NUMBER TO OLD-BRANCH-NUMBER013710 WHEN FIRST-RECORD-SWITCH = "N" AND014303 CM-BRANCH-NUMBER > OLD-BRANCH-NUMBER014304 PERFORM 355-PRINT-SALESREP-LINE014305 PERFORM 360-PRINT-BRANCH-LINE014306 MOVE "Y" TO FIRST-RECORD-SWITCH014307 MOVE "Y" TO FIRST-SALESREP-SWITCH014308 PERFORM 320-PRINT-CUSTOMER-LINE014309 MOVE "N" TO FIRST-RECORD-SWITCH014310 MOVE "N" TO FIRST-RECORD-SWITCH014311 MOVE CM-BRANCH-NUMBER TO OLD-BRANCH-NUMBER014312 WHEN FIRST-RECORD-SWITCH = "N" AND014313 CM-BRANCH-NUMBER NOT > OLD-BRANCH-NUMBER AND014314 FIRST-SALESREP-SWITCH = "Y"014315 PERFORM 355-PRINT-SALESREP-LINE014316 PERFORM 320-PRINT-CUSTOMER-LINE014317 MOVE "N" TO FIRST-SALESREP-SWITCH014318 MOVE CM-SALESREP-NUMBER TO OLD-SALESREP-NUMBER014319 WHEN FIRST-RECORD-SWITCH = "N" AND014320 CM-BRANCH-NUMBER NOT > OLD-BRANCH-NUMBER AND014321 FIRST-SALESREP-SWITCH = "N" AND014322 CM-SALESREP-NUMBER > OLD-SALESREP-NUMBER014323 PERFORM 355-PRINT-SALESREP-LINE014324 MOVE "Y" TO FIRST-SALESREP-SWITCH014325 PERFORM 320-PRINT-CUSTOMER-LINE014326 MOVE "N" TO FIRST-SALESREP-SWITCH014327 MOVE CM-SALESREP-NUMBER TO OLD-SALESREP-NUMBER014328 WHEN FIRST-RECORD-SWITCH = "N" AND014329 CM-BRANCH-NUMBER NOT > OLD-BRANCH-NUMBER AND014330 FIRST-SALESREP-SWITCH = "N" AND014340 CM-SALESREP-NUMBER NOT > OLD-SALESREP-NUMBER014350 PERFORM 320-PRINT-CUSTOMER-LINE014400 ELSE014401 PERFORM 355-PRINT-SALESREP-LINE014402 PERFORM 360-PRINT-BRANCH-LINE.014403 310-READ-CUSTOMER-RECORD.014404014405 READ CUSTMAST014406 AT END014407 MOVE "Y" TO CUSTMAST-EOF-SWITCH.014408*014409 320-PRINT-CUSTOMER-LINE.014410014420 IF LINE-COUNT >= LINES-ON-PAGE014500 PERFORM 330-PRINT-HEADING-LINES.014600 IF FIRST-RECORD-SWITCH = "Y"014700 MOVE CM-BRANCH-NUMBER TO CL-BRANCH-NUMBER014710 MOVE CM-BRANCH-NAME TO CL-BRANCH-NAME014800 IF FIRST-SALESREP-SWITCH = "Y"014900 MOVE CM-SALESREP-NUMBER TO CL-SALESREP-NUMBER015000 END-IF015002 ELSE015003 MOVE SPACE TO CL-BRANCH-NUMBER015004 MOVE SPACE TO CL-BRANCH-NAME.015005 IF FIRST-SALESREP-SWITCH = "Y"015006 MOVE CM-SALESREP-NUMBER TO CL-SALESREP-NUMBER015007 ELSE015008 MOVE SPACE TO CL-SALESREP-NUMBER.015010 MOVE CM-CUSTOMER-NUMBER TO CL-CUSTOMER-NUMBER.015011 MOVE CM-CUSTOMER-NAME TO CL-CUSTOMER-NAME.015012 MOVE CM-SALES-THIS-YTD TO CL-SALES-THIS-YTD.015013 MOVE CM-SALES-LAST-YTD TO CL-SALES-LAST-YTD.015014 COMPUTE CHANGE-AMOUNT =015015 CM-SALES-THIS-YTD - CM-SALES-LAST-YTD.015016 MOVE CHANGE-AMOUNT TO CL-CHANGE-AMOUNT.015017 IF CM-SALES-LAST-YTD = ZERO015018 MOVE " N/A " TO CL-CHANGE-PERCENT-R015019 ELSE015020 COMPUTE CL-CHANGE-PERCENT ROUNDED =015021 CHANGE-AMOUNT * 100 / CM-SALES-LAST-YTD015022 ON SIZE ERROR015023 MOVE "OVRFLW" TO CL-CHANGE-PERCENT-R.015030 MOVE CUSTOMER-LINE TO PRINT-AREA.015100 PERFORM 350-WRITE-REPORT-LINE.015200 MOVE 1 TO SPACE-CONTROL.015300 ADD CM-SALES-THIS-YTD TO SALESREP-TOTAL-THIS-YTD.015400 ADD CM-SALES-LAST-YTD TO SALESREP-TOTAL-LAST-YTD.015600*015700 330-PRINT-HEADING-LINES.015800015900 ADD 1 TO PAGE-COUNT.016000 MOVE PAGE-COUNT

    注意事项

    本文(大型机COBOL实验报告5COBOL商业编程技术.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开