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

上传人:b****7 文档编号:9243296 上传时间:2023-02-03 格式:DOCX 页数:49 大小:138.40KB
下载 相关 举报
大型机COBOL实验报告5COBOL商业编程技术.docx_第1页
第1页 / 共49页
大型机COBOL实验报告5COBOL商业编程技术.docx_第2页
第2页 / 共49页
大型机COBOL实验报告5COBOL商业编程技术.docx_第3页
第3页 / 共49页
大型机COBOL实验报告5COBOL商业编程技术.docx_第4页
第4页 / 共49页
大型机COBOL实验报告5COBOL商业编程技术.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

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

《大型机COBOL实验报告5COBOL商业编程技术.docx》由会员分享,可在线阅读,更多相关《大型机COBOL实验报告5COBOL商业编程技术.docx(49页珍藏版)》请在冰豆网上搜索。

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

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

大连理工大学

 

课程大作业

 

课程名称:

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语句和PERFORMUNTIL语句等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

 

主程序结构图:

子程序结构图:

(1)主程序代码

000100IDENTIFICATIONDIVISION.

000200*

000300PROGRAM-ID.RPT3000Z.

000400*

000500ENVIRONMENTDIVISION.

000600*

000700INPUT-OUTPUTSECTION.

000800*

000900FILE-CONTROL.

001000*

001100SELECTCUSTMASTASSIGNTOCUSTMAS1.

001200SELECTSALESRPTASSIGNTOSALESRP1.

001300*

001400DATADIVISION.

001500*

001600FILESECTION.

001700*

001800FDCUSTMAST.

001900*

00200001CUSTOMER-MASTER-RECORD.

00210005CM-BRANCH-NUMBERPIC9

(2).

00211005CM-BRANCH-NAMEPICX(20).

00220005CM-SALESREP-NUMBERPIC9

(2).

00230005CM-CUSTOMER-NUMBERPIC9(5).

00240005CM-CUSTOMER-NAMEPICX(20).

00250005CM-SALES-THIS-YTDPICS9(5)V9

(2).

00260005CM-SALES-LAST-YTDPICS9(5)V9

(2).

002700*

002800FDSALESRPT

002900RECORDCONTAINS132CHARACTERS.

00300001PRINT-AREAPICX(132).

003100*

003200WORKING-STORAGESECTION.

003300*

00340001SWITCHES.

00350005CUSTMAST-EOF-SWITCHPICXVALUE"N".

00350105FIRST-RECORD-SWITCHPICXVALUE"Y".

00350205FIRST-SALESREP-SWITCHPICXVALUE"Y".

003503*

00351001CALCULATED-FIELDS.

00352005CHANGE-AMOUNTPICS9(5)V99.

003600*

00360101CONTROL-FIELDS.

00360205OLD-BRANCH-NUMBERPIC99.

00360305OLD-SALESREP-NUMBERPIC99.

003604*

00370001PRINT-FIELDS.

00380005PAGE-COUNTPICS9(3)VALUEZERO.

00390005LINES-ON-PAGEPICS9(3)VALUE+55.

00400005LINE-COUNTPICS9(3)VALUE+99.

00410005SPACE-CONTROLPICS9.

00411005SPACE-LINEPICX(132)VALUEALLSPACE.

004200*

00430001TOTAL-FIELDS.

00440005SALESREP-TOTAL-THIS-YTDPICS9(6)V99VALUEZERO.

00440105SALESREP-TOTAL-LAST-YTDPICS9(6)V99VALUEZERO.

00440205BRANCH-TOTAL-THIS-YTDPICS9(6)V99VALUEZERO.

00440305BRANCH-TOTAL-LAST-YTDPICS9(6)V99VALUEZERO.

00440405GRAND-TOTAL-THIS-YTDPICS9(7)V99VALUEZERO.

00450005GRAND-TOTAL-LAST-YTDPICS9(7)V99VALUEZERO.

004600*

00470001CURRENT-DATE-AND-TIME.

00480005CD-YEARPIC9999.

00490005CD-MONTHPIC99.

00500005CD-DAYPIC99.

00510005CD-HOURSPIC99.

00520005CD-MINUTESPIC99.

00530005FILLERPICX(9).

005400*

00550001HEADING-LINE-1.

00560005FILLERPICX(7)VALUE"DATE:

".

00570005HL1-MONTHPIC9

(2).

00580005FILLERPICX

(1)VALUE"/".

00590005HL1-DAYPIC9

(2).

00600005FILLERPICX

(1)VALUE"/".

00610005HL1-YEARPIC9(4).

00620005FILLERPICX(11)VALUESPACE.

00630005FILLERPICX(20)VALUE"YEAR-TO-DATESALESR".

00640005FILLERPICX(20)VALUE"EPORT".

00650005FILLERPICX(8)VALUE"PAGE:

".

00660005Hl1-PAGE-NUMBERPICZZZ9.

00670005FILLERPICX(52)VALUESPACE.

006800*

00690001HEADING-LINE-2.

00700005FILLERPICX(7)VALUE"TIME:

".

00710005HL2-HOURSPIC9

(2).

00720005FILLERPICX

(1)VALUE":

".

00730005HL2-MINUTESPIC9

(2).

00740005FILLERPICX(58)VALUESPACE.

00750005FILLERPICX(10)VALUE"RPT3000".

00760005FILLERPICX(52)VALUESPACE.

007700*

00780001HEADING-LINE-3.

00790005FILLERPICX(08)VALUE"BRANCH".

00790105FILLERPICX(20)VALUE"BRANCH".

00790205FILLERPICX(08)VALUE"SALES".

00791005FILLERPICX(20)VALUE"CUST".

00800005FILLERPICX(20)VALUE"SALES".

00810005FILLERPICX(20)VALUE"SALES".

00811005FILLERPICX(20)VALUE"CHANGECHANGE".

00820005FILLERPICX(36)VALUESPACE.

008300*

00840001HEADING-LINE-4.

00850005FILLERPICX(08)VALUE"NUM".

00850105FILLERPICX(20)VALUE"NAME".

00850205FILLERPICX(08)VALUE"NUM".

00851005FILLERPICX(20)VALUE"NUMCUSTOMERNAME".

00860005FILLERPICX(20)VALUE"THISYTD".

00870005FILLERPICX(20)VALUE"LASTYTD".

00871005FILLERPICX(20)VALUE"AMOUNTPERCENT".

00880005FILLERPICX(36)VALUESPACE.

008900*

00900001CUSTOMER-LINE.

00910005FILLERPICX

(2)VALUESPACE.

00910105CL-BRANCH-NUMBERPICX

(2).

00910205FILLERPICX

(2)VALUESPACE.

00910305CL-BRANCH-NAMEPICX(20).

00910405FILLERPICX(4)VALUESPACE.

00910505CL-SALESREP-NUMBERPICX

(2).

00910605FILLERPICX(4)VALUESPACE.

00910705CL-CUSTOMER-NUMBERPIC9(5).

00920005FILLERPICX

(2)VALUESPACE.

00930005CL-CUSTOMER-NAMEPICX(20).

00940005FILLERPICX(3)VALUESPACE.

00950005CL-SALES-THIS-YTDPICZZ,ZZ9.99-.

00960005FILLERPICX(4)VALUESPACE.

00970005CL-SALES-LAST-YTDPICZZ,ZZ9.99-.

00971005FILLERPICX(4)VALUESPACE.

00972005CL-CHANGE-AMOUNTPICZZ,ZZ9.99-.

00973005FILLERPICX(3)VALUESPACE.

00974005CL-CHANGE-PERCENTPIC---9.9.

00975005CL-CHANGE-PERCENT-RREDEFINESCL-CHANGE-PERCENTPICX(6).

00980005FILLERPICX(29)VALUESPACE.

009900*

01000001SALESREP-TOTAL-LINE.

01010005FILLERPICX(43)VALUESPACE.

01011005FILLERPICX(22)VALUE"SALESRTPTOTAL".

01020005STL-SALES-THIS-YTDPIC$$$,$$9.99-.

01030005FILLERPICX

(1)VALUESPACE.

01040005STL-SALES-LAST-YTDPIC$,$$$,$$9.99-.

01041005FILLERPICX(3)VALUESPACE.

01042005STL-CHANGE-AMOUNTPIC$$$,$$9.99-.

01043005FILLERPICX(3)VALUESPACE.

01044005STL-CHANGE-PERCENTPIC+++9.9.

01045005STL-CHANGE-PERCENT-RREDEFINESSTL-CHANGE-PERCENT

010460PICX(6).

01050005FILLERPICX(19)VALUE"*".

010600*

01060101BRANCH-TOTAL-LINE.

01060205FILLERPICX(43)VALUESPACE.

01060305FILLERPICX(22)VALUE"BRANCHTOTAL".

01060405BTL-SALES-THIS-YTDPIC$$$,$$9.99-.

01060505FILLERPICX

(1)VALUESPACE.

01060605BTL-SALES-LAST-YTDPIC$,$$$,$$9.99-.

01060705FILLERPICX(3)VALUESPACE.

01060805BTL-CHANGE-AMOUNTPIC$$$,$$9.99-.

01060905FILLERPICX(3)VALUESPACE.

01061005BTL-CHANGE-PERCENTPIC+++9.9.

01061105BTL-CHANGE-PERCENT-RREDEFINESBTL-CHANGE-PERCENT

010612PICX(6).

01061305FILLERPICX(19)VALUE"*".

010614*

01061501GRAND-TOTAL-LINE.

01061605FILLERPICX(43)VALUESPACE.

01061705FILLERPICX(20)VALUE"GRANDTOTAL".

01061805GTL-SALES-THIS-YTDPIC$,$$$,$$9.99-.

01061905FILLERPICX

(1)VALUESPACE.

01062005GTL-SALES-LAST-YTDPIC$,$$$,$$9.99-.

01062105FILLERPICX

(1)VALUESPACE.

01062205GTL-CHANGE-AMOUNTPIC$,$$$,$$9.99-.

01062305FILLERPICX(3)VALUESPACE.

01062405GTL-CHANGE-PERCENTPIC+++9.9.

01062505GTL-CHANGE-PERCENT-RREDEFINESGTL-CHANGE-PERCENT

010626PICX(6).

01062705FILLERPICX(24)VALUE"**".

010628*

010700PROCEDUREDIVISION.

010800*

010810CALL'SORTRPT'.

010900000-PREPARE-SALES-REPORT.

011000*

011100OPENINPUTCUSTMAST

011200OUTPUTSALESRPT.

011300PERFORM100-FORMAT-REPORT-HEADING.

011400PERFORM300-PREPARE-SALES-LINES

011500UNTILCUSTMAST-EOF-SWITCH="Y".

011600PERFORM500-PRINT-GRAND-TOTALS.

011700CLOSECUSTMAST

011800SALESRPT.

011900STOPRUN.

012000*

012100100-FORMAT-REPORT-HEADING.

012200*

012300MOVEFUNCTIONCURRENT-DATETOCURRENT-DATE-AND-TIME.

012400MOVECD-MONTHTOHL1-MONTH.

012500MOVECD-DAYTOHL1-DAY.

012600MOVECD-YEARTOHL1-YEAR.

012700MOVECD-HOURSTOHL2-HOURS.

012800MOVECD-MINUTESTOHL2-MINUTES.

012900*

013000300-PREPARE-SALES-LINES.

013100*

013200PERFORM310-READ-CUSTOMER-RECORD.

013300IFCUSTMAST-EOF-SWITCH="N"

013310EVALUATETRUE

013320WHENFIRST-RECORD-SWITCH="Y"AND

013330FIRST-SALESREP-SWITCH="Y"

013400PERFORM320-PRINT-CUSTOMER-LINE

013500MOVE"N"TOFIRST-SALESREP-SWITCH

013510MOVE"N"TOFIRST-RECORD-SWITCH

013600MOVECM-SALESREP-NUMBERTOOLD-SALESREP-NUMBER

013700MOVECM-BRANCH-NUMBERTOOLD-BRANCH-NUMBER

013710WHENFIRST-RECORD-SWITCH="N"AND

014303CM-BRANCH-NUMBER>OLD-BRANCH-NUMBER

014304PERFORM355-PRINT-SALESREP-LINE

014305PERFORM360-PRINT-BRANCH-LINE

014306MOVE"Y"TOFIRST-RECORD-SWITCH

014307MOVE"Y"TOFIRST-SALESREP-SWITCH

014308PERFORM320-PRINT-CUSTOMER-LINE

014309MOVE"N"TOFIRST-RECORD-SWITCH

014310MOVE"N"TOFIRST-RECORD-SWITCH

014311MOVECM-BRANCH-NUMBERTOOLD-BRANCH-NUMBER

014312WHENFIRST-RECORD-SWITCH="N"AND

014313CM-BRANCH-NUMBERNOT>OLD-BRANCH-NUMBERAND

014314FIRST-SALESREP-SWITCH="Y"

014315PERFORM355-PRINT-SALESREP-LINE

014316PERFORM320-PRINT-CUSTOMER-LINE

014317MOVE"N"TOFIRST-SALESREP-SWITCH

014318MOVECM-SALESREP-NUMBERTOOLD-SALESREP-NUMBER

014319WHENFIRST-RECORD-SWITCH="N"AND

014320CM-BRANCH-NUMBERNOT>OLD-BRANCH-NUMBERAND

014321FIRST-SALESREP-SWITCH="N"AND

014322CM-SALESREP-NUMBER>OLD-SALESREP-NUMBER

014323PERFORM355-PRINT-SALESREP-LINE

014324MOVE"Y"TOFIRST-SALESREP-SWITCH

014325PERFORM320-PRINT-CUSTOMER-LINE

014326MOVE"N"TOFIRST-SALESREP-SWITCH

014327MOVECM-SALESREP-NUMBERTOOLD-SALESREP-NUMBER

014328WHENFIRST-RECORD-SWITCH="N"AND

014329CM-BRANCH-NUMBERNOT>OLD-BRANCH-NUMBERAND

014330FIRST-SALESREP-SWITCH="N"AND

014340CM-SALESREP-NUMBERNOT>OLD-SALESREP-NUMBER

014350PERFORM320-PRINT-CUSTOMER-LINE

014400ELSE

014401PERFORM355-PRINT-SALESREP-LINE

014402PERFORM360-PRINT-BRANCH-LINE.

014403310-READ-CUSTOMER-RECORD.

014404

014405READCUSTMAST

014406ATEND

014407MOVE"Y"TOCUSTMAST-EOF-SWITCH.

014408*

014409320-PRINT-CUSTOMER-LINE.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1