COBOL+CICS文件操作

合集下载

3.CICS编程基础 Part 2

3.CICS编程基础 Part 2

35
添加数据库数据记录
36
添加多条数据库数据记录
WORKING-STORAGE SECTION.
1
EXEC SQL DECLARE DEPTA00 TABLE (EMPNIMBER CHAR(6) NOT NULL, FNAME VCHAR(12) NOT NULL, LNAME VCHAR(12) NOT NULL, HRDATE DATE ) … EXEC SQL DECLARE TEMPL TABLE (EMPNO CHAR(6) NOT NULL, …. PROCEDURE DIVISION.
19 19
数据库存取的程序组织
数据库存取程序 的组织结构如右 图所示:
图中需要注意: 由程序使用的表和视图必须先要在工作存储节中声明。 SQLCA用来与SQL语句执行的结果进行通信。 Data Division中的工作存储节和连接节中定义Host Variables,用来存放获取的 关系数据。 COBOL程序中的SQL语句都以EXEC SQL开头,以END-EXEC结束。
2
数据访问功能总揽
3
程序结构
4
文件相关命令
5
READ File命令
6
Read command
EXEC CICS READ FILE(name) INTO(data-area) RIDFLD(data-area) | [RBA|RRN] [LENGTH(data-area)] [SET(ptr-ref)[ [GENERIC][KEYLENGTH(data-value)] [GTEQ|EQUAL]|[UPDATE] END-EXEC
28
游标的定义及使用
29
数据库数据更新
上图是更新数据库记录的方法

CICS常用命令列表

CICS常用命令列表

CICS常用命令列表cicscp说明:CICS 控制程序,可用于创建、删除、启动、停止DCE,SFS服务器,CICS Region和PPC gatewayeneral cicscp usage:cicscp [-?|([<common_options>] [<command> <noun_phrase><specific_options>])]where common options are:-I - ignore errors-l logfile - log progress messages to file-v - produce more verbose outputSpecific commands are:version:versioncreate COBOL:create coboldestroy COBOL:destroy cobolcreate SNA:create sna -d <Control Point Name>-w <Local Network Name>-x <XID Node ID>-y <Link Station Type>[-q <Link Station Name>][-s <Link Station Address>][-b <Local Secondary Station Address>]destroy SNA:destroy sna [-f]start SNA:start sna [-f]stop SNA:stop sna [-f]create telnet server:create telnet_server <server> [-P <port>][-c <client codeset>][-e <emulation>][-h <host list>][-l <locale>][-m <model>][-n <netname>][-r <region>][-s <server codeset>][-t <transaction>]destroy telnet server:destroy telnet_server <server> [-f]create SFS server:create sfs_server <server> [-m <model>][attribute overrides for SSD stanza]destroy SFS server:destroy sfs_server <server> [-f]start SFS server:start sfs_server <server> [attribute overrides for SSD stanza] stop SFS server:stop sfs_server <server> [-f]status SFS server:status sfs_server <server>stop sfs_server allcreate PPC gateway server:create ppcgwy_server <server> [-m <model>][attribute overrides for GSD stanza]destroy PPC gateway server:destroy ppcgwy_server <server> [-f]start PPC gateway server:start ppcgwy_server <server> [attribute overrides for GSD stanza]stop PPC gateway server:stop ppcgwy_server <server> [-f]status PPC gateway server:status ppcgwy_server <server>status ppcgwy_server allcreate SNA link:create sna_link [<Link Station Name>]-y <Link Station Type>[-s <Link Station Address>][-b <Local Secondary Station Address>]destroy SNA link:destroy sna_link <Link Station Name> -y <Link Station Type> create region (SFS):create region <region> [-g <group-id>][-i <infile>][-l <c|m|o|r>][-d]create region (DB2):create region <region> [-g <group-id>][-i <infile>][-l <c|m|o|r>][-a <alias> -o <instance>[-u <user[,passwd]>] [-n|-s]]create region (ORACLE):create region <region> -o ORACLE[-g <group-id>][-i <infile>][-l <c|m|o|r>][-u <user[/passwd]>] [-n|-s]destroy region (SFS):destroy region <region> [-f] [-s]destroy region (DB2):destroy region <region> [-f] [-s [-u <user[,passwd]>]] destroy region (ORACLE):destroy region <region> [-f] [-s [-u <user[/passwd]>]]start region:start region <region> [-d <distributed servers>][attribute overrides for RD stanza]stop region:stop region <region> [(-c | -f)]status region:status region <region>status region alldestroy all:destroy all [-f]start all:start allstop all:stop allstatus all:status all使用举例:5.1版本以前:创建DCEcicscp –v create dce -R删除DCE:cicscp -v destroy dce创建Region:cicscp -v create region CICSRGN1启动SFS 服务器:cicscp -v start sfs_server /.:/cics/sfs/SFS_SERVcicsadd说明:添加CICS资源定义Usage: cicsadd {-?|-c className [-r regionName] [-P|-B] [-f fileName] [-m modelId] resourceName[[attributeName=attributeValue]...]}使用举例:以下命令在CICSRGN1中增加一个通讯定义。

COBOL简易教程

COBOL简易教程

COBOL简易教程主要内容1.COBOL语言的基本概念及程序的结构•一个例子●COBOL程序的结构●COBOL源程序的书写格式2.COBOL数据表示•常量•层次的概念•PICTURE语句•数据在内存中的各种形式3.算术运算●变量赋值 (MOVE, MOVE CORR)●算术运算(ADD, SUB, MUL, DIV, COMPUTE等)●内部函数4.字符串处理●合并、分离、取子串、替换等5.程序逻辑控制•条件的分类•IF、EVALUATE●PERFORM6.表处理定义、赋值、引用、查询7.读、写多格式记录文件8.常用语句小结9.子程序1.关于COBOL的初步知识◆COBOL是Common Business Oriented Language (通用商业语言,或称管理语言)的缩写◆最适用于数据处理◆比较接近于自然语言(英语)◆COBOL的结构严谨,层次性强◆COBOL的缺点是比较烦琐。

1.1 一个例子:***************************************************************** * * COBOL TRAINING PROGRAM * * VERSION 2.1.0 COPYRIGHT (C) 2004 * * WISTRON DALIAN SOFTWARE CO., LTD. * * ALL RIGHTS RESERVED. * * * **************************************************************** IDENTIFICATION DIVISION.PROGRAM-ID. EXERCIS6.AUTHOR. QXLU (WISTRON DALIAN).DATE-WRITTEN. 04-06-23.DATE-COMPILED. 04-06-23.*----------------------------------------------------------------* * COMMENT : * * * *----------------------------------------------------------------* ENVIRONMENT DIVISION.CONFIGURATION SECTION.SOURCE-COMPUTER. IBM-3084.OBJECT-COMPUTER. IBM-3084.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT DDI01 ASSIGN TO "DDI01".SELECT DDO01 ASSIGN TO "DDO01".*DATA DIVISION.FILE SECTION.*FD DDI01 LABEL RECORD IS STANDARD DATA RECORD AREIN-AREA0, IN-AREA1.01 IN-AREA0.05 IN-YEAR-NUM PIC 9(2).05 IN-PRINCIPAL PIC 9(4)V99.05 FILLER PIC X(07).05 RMARK PIC X(01) VALUE X"0A".01 IN-AREA1.05 IN-INTEREST-RATE OCCURS 5 TIMES PIC V999.05 RMARK PIC X(01) VALUE X"0A".FD DDO01 BLOCK 0 RECORDS LABEL RECORD STANDARD RECORDING F.01 PRT-REC.05 FILLER PIC X(79).**===============================================================* WORKING-STORAGE SECTION.01 IN-FILE-DATA.05 YEAR-NUM PIC 9(2).05 PRINCIPAL PIC 9(4)V99.05 INTEREST-RATE-TABLE.15 INTEREST-RATE OCCURS 5 TIMES PIC V999.*01 HEADER0 PIC X(79) VALUE' TABLE OF SIMPLE INTEREST'.01 HEADER1 PIC X(79) VALUE' ************************************'.01 HEADER2 PIC X(79) VALUE' PRINCIPAL 4,000.00 FOR 10 PERIODS'.01 HEADER3 PIC X(79) VALUE SPACE.01 HEADER4 PIC X(79) VALUE' PERIOD INTEREST RATE'.01 HEADER5.05 OUT-I-R OCCURS 5 TIMES PIC BBBBBBBBB.999.01 DETAIL0.05 OUT-PERIOD PIC ZZZ.05 OUT-P-I-S-ITEM OCCURS 5 TIMES.10 FOURSPACES PIC X(04) VALUE SPACE.10 OUT-P-I-SUM PIC 9,999.99.01 CNT-YEAR-NUM PIC 9(2).01 I-R-INDEX PIC 9.01 P-I-SUM PIC 9(6)V99.****************************************************************** * P R O C E D U R E D I V I S I O N * ***************************************************************** PROCEDURE DIVISION.*INPUT-DATA SECTION.OPEN INPUT DDI01.OPEN OUTPUT DDO01.READ DDI01.MOVE IN-YEAR-NUM TO YEAR-NUM.MOVE IN-PRINCIPAL TO PRINCIPAL.READ DDI01.MOVE IN-AREA1 TO INTEREST-RATE-TABLE.*PROCESS-OUTPUT-DATA SECTION.*PRINT HEADERWRITE PRT-REC FROM HEADER0 BEFORE 1.WRITE PRT-REC FROM HEADER1 BEFORE 1.WRITE PRT-REC FROM HEADER2 BEFORE 1.WRITE PRT-REC FROM HEADER3 BEFORE 1.WRITE PRT-REC FROM HEADER4 BEFORE 1.* PRINT INTEREST RATEPERFORM TEST BEFORE VARYING I-R-INDEXFROM 1 BY 1 UNTIL I-R-INDEX > 5MOVE INTEREST-RATE( I-R-INDEX ) TO OUT-I-R( I-R-INDEX )END-PERFORM.WRITE PRT-REC FROM HEADER5 BEFORE 1.*PROCESS & PRINT DETAILSPERFORM PRINT-DETAILVARYING CNT-YEAR-NUM FROM 1 BY 1UNTIL CNT-YEAR-NUM > YEAR-NUM.*CLOSE-FILES SECTION.CLOSE DDI01.CLOSE DDO01.*STOP RUN.**---------------------------------------------------------------** PRINT-DETAIL **---------------------------------------------------------------*PRINT-DETAIL SECTION.*MOVE CNT-YEAR-NUM TO OUT-PERIOD.PERFORM PROCESS-DETAILVARYING I-R-INDEX FROM 1 BY 1 UNTIL I-R-INDEX > 5.WRITE PRT-REC FROM DETAIL0 BEFORE 1.*PRINT-DETAIL-RTN.EXIT.**---------------------------------------------------------------** PROCESS-DETAIL **---------------------------------------------------------------*PROCESS-DETAIL SECTION.*COMPUTE P-I-SUM = PRINCIPAL *( INTEREST-RATE( I-R-INDEX ) * CNT-YEAR-NUM + 1 ).MOVE P-I-SUM TO OUT-P-I-SUM( I-R-INDEX ).*PROCESS-DETAIL-RTN.EXIT.** *** END OF CODING EXERCIS6 ***1.2 COBOL 程序的结构(1/p4)部(Division) 一部可包括若干节节(Section) 一节可包含若干段段(Paragraph) 一段可包含若干句子句子(Sentence) 一个句子可包含若干语句语句(Statement) 制定计算机完成一定的操作子句(Clause) 制定完成某一方面的功能每个程序应包含四个部IDENTIFICATION DIVISION (标识部)主要用来指定源程序名字,也可以写入其他用作备忘的某些信息(如日期、作者等)。

第1章 COBOL简介

第1章   COBOL简介

第1章 COBOL简介COBOL是Common Business Oriented Language的缩写,即公用面向商业语言的意思。

在系统地学习COBOL程序设计语言之前,有必要首先对COBOL有一个大致的了解。

本章将分别从背景知识、语法格式、以及实际创建COBOL程序3个方面对其进行简要介绍。

1.1 背景知识在介绍COBOL之前,首先需要了解一下大型机的概念。

大型机也叫主机、大机、mainframe等,属于一种商用高端服务器。

目前大型机主要由IBM公司所生产,最新型号为z系列大型机。

COBOL便是用于大型机上应用软件开发的最主要的程序设计语言。

大型机上的工作大体上可以分为两类,分别为系统方向和开发方向。

系统方向的分工很多,包括使用Tivoli监控系统;使用RACF进行安全管理;使用SMS进行存储管理等等。

开发方向的市场需求相对系统方向则要大得多。

对于开发方向,主要需要掌握以下知识。

❑COBOL:最主要的程序设计语言。

❑JCL:作业控制语言,调用由COBOL编写的程序。

❑VSAM:程序中通常用到的文件类型。

❑DB2:大型机上最主要的数据库,通常以COBOL语言为宿主语言。

❑CICS:用于联机交易的中间件,通常也是以COBOL语言为宿主语言。

对于以上知识,在本书中都有详细介绍。

此外,对于大型机底层的开发,还需要掌握大型机上的汇编语言。

对于大型机汇编语言,在本书中也有具体讲解。

COBOL作为大型机上最主要的程序设计语言,迄今已有40多年的历史。

然而,经过40多年的沧桑,COBOL不仅没有被淘汰,反而在当今愈加流行起来。

关于这一点,主要应该是由以下3个因素所决定的。

❑COBOL广泛应用于广泛应用于银行业、信用卡业、保险业、制造业、航空业等等。

这些领域对于稳定性的要求都是十分高的,因此从很大程度上也保证了COBOL的不可取代性。

❑COBOL自身也在不断发展和更新中。

例如,COBOL本身主要属于面向过程的语言。

cobol课件大型机基本操作

cobol课件大型机基本操作
读写文件
对文件进行读取和写入操作。
打开文件
使用适当的命令或函数打开已存在的文件。
关闭文件
完成文件操作后,使用命令或函数关闭文件。
数据传
对数据进行格式转换以满 足特定需求。
将数据从大型机导出到外 部目的地。
将数据从外部源导入到大 型机中。
数据导入
数据导出
数据转换
程序执行与调试
编译程序
01
将源代码编译成可执行程序。
解决方案
使用编译器提供的错误信息,定位问题所在,并 逐一修正。
数据处理错误
总结词
数据处理错误通常是由于数据类 型不匹配、数据范围超出限制或 数据操作不当引起的。
详细描述
检查数据类型是否匹配,数据范 围是否在允许的范围内,以及数 据操作是否正确。
解决方案
根据数据类型和范围要求,对数 据进行适当的转换和验证,确保 数据操作的正确性。
执行程序
02
运行编译后的程序并查看输出结果。
调试程序
03
使用调试工具检查程序中的错误并进行修复。
04 常见问题与解决方案
程序编译错误
1 2 3
总结词
编译错误通常是由于语法错误、拼写错误或结构 问题引起的。
详细描述
检查代码中的拼写错误、语法错误和结构问题, 确保所有语句都符合COBOL语法规则,并且程 序结构清晰。
系统运行错误
总结词
系统运行错误通常是由于系统资源不足、系统故障或外部因素引 起的。
详细描述
检查系统资源是否充足,系统是否正常运行,以及是否存在外部干 扰因素。
解决方案
合理分配系统资源,确保系统正常运行,同时采取措施避免外部干 扰因素对系统的影响。

CICS简单介绍及一个简单的CICS程序-1

CICS简单介绍及一个简单的CICS程序-1
Install:
将一个指定组中的资源动态的加入到当前运行的 CICS 系统中。 语法
INSTALL [GROUP(groupname)] [Resourcetype(resourcename)]
二、一个简单的 CICS 程序
嵌入式 CICS 命令
嵌入式 CICS 命令使用在 PROCEDURE DIVISION 里,每条命令由关键字、分隔符、功能 名称、选项、参数和结束标志组成。命令的参数是 COBOL 程序里定义的数据变量,用来与 CICS 进行数据交换。
CICS 事务的启动
有以下几种方式 z CICS 任务启动最普通的方式是终端输入; z 利用内部 TDQ 的记录自动触发另一 CICS 事务的功能来启动任务。 z 可以在 CICS 程序中采用基于程序的逻辑,用 START 命令来启动任务, 且可传数据给启动的任务。
CICS 程序控制
CICS 提供几种访问其他程序的方法: z RETURN 释放控制于上一高层程序 z LINK 传递控制于指定的程序,并预期返回,类似于执行一个子程序。 z XCTL 传递控制于指定程序,但不返回本层,而返回 CICS
同时进行业务处理。 ②重复性:联机事务处理可提供同一业务重复处理。 ③短交互性:联机事务处理支持对多用户同时进行交易的处理,给予每一个用户及时
的响应。 ④数据共享:反映同一组织结构的数据只有一个。 ⑤低成本:联机事务处理能降低客户业务处理的成本
OLTP,(On-Line Transaction Processing)
一.CICS 概念
概念: CICS (Customer Information Control System)是ibm公司一个用于处理联机应用的产
品,充当操作系统和应用程序之间的接口,是一种用于主机环境的联机事务处理(OLTP)产 品。

COBOL语言的字符串操作模式

COBOL语言的字符串操作模式

了解COBOL语言的字符串操作模式COBOL语言中常用的字符串操作模式是什么?什么是COBOL语言的字符串操作?COBOL(cobol)语言的程序对输入的数据进行某种编辑处理,然后将结果输出到屏幕或文件中,这是处理的基础。

这次介绍的字符串操作经常被用作编辑处理。

在这里,我们将首先介绍如何编写COBOL语言字符串操作的基本字符串的一部分并将其显示在屏幕上的过程,因此让我们了解如何编写和使用它。

如何写:数据项(起始字符位置:[长度])使用例:使用示例是从WK-MOJI这一数据项的第1位中取出3个字符,并在屏幕上显示结果的程序。

如本示例所示,如果您使用提取某个字符串的一部分的过程,例如,如果字符串由代码值和名称组成,您将能够仅提取代码值并将其用于下一个过程。

実行结果:COBOL(cobol)语言中的一种字符串操作模式既然您已经了解了如何编写COBOL语言的基本字符串操作,接下来我们将介绍字符串操作的模式。

COBOL语言的字符串操作主要分为四种模式: 1.字符串初始化,2.字符串分割,3.字符串连接,4.使用集体项目进行字符串操作。

让我们按顺序来看看它的写法和使用方法。

怎么写1:初始化字符串INITIALIZE数据项使用例1:使用示例是初始化“123456”的初始值设定的WK-MOJI的数据项的值,并在屏幕上显示结果的程序。

在使用数据项进行编辑处理时,为了防止程序发生故障,通常也会像本使用例那样明确地初始化数据项。

実行结果1:如何编写2:分割字符串利用前面介绍的“字符串的一部分和检索处理”使用例2:使用示例是这样的程序:从WK-MOJI这一数据项的第1位中取出3个字符,从第4位中取出3个字符,并在屏幕上显示结果。

在COBOL(cobol)语言中,可以很容易地实现这样一个数据项的分割和使用。

実行结果2:如何编写3:连接字符串STRING数据项1、数据项2・・DELIMITED BY SIZEINTO数据项3[WITH POINT ER起始字符位置][结束字符串]使用例3:使用示例是将WK-MOJI 1、WK-MOJI 2这些字符串连接起来,存储在WK-MOJI中,然后在屏幕上显示结果的程序。

COBOl常用操作

COBOl常用操作

COBOL 概述COBOL 是Common Business Oriented Language 的缩写。

它不仅是商业数据处理的理想语言,而且广泛用于数据管理领域,因此COBOL 语言也被称为“用于管理的语言”。

一。

COBOL 语言的特点最适于数据处理领域:算数计算量少而逻辑处理量多,输入输出量大,数据间存在着一定的逻辑关系,大量的分类排序;COBOL比较接近英语,容易懂;通用性强,易移植, COBOL结构严谨,层次分明。

二。

COBOL的组成部分:1。

标识部(IDENTIFICATION DIVISION):用于标识程序名。

2。

环境部(ENVIRONMENT DIVISION):用于说明程序运行的环境。

3。

数据部(DATA DIVISION):用于说明程序中涉及的所有数据。

4。

过程部(PROCEDURE DIVISION):是程序的核心部分,它决定计算机应进行什么操作。

三。

最简单的COBOL 程序举例:COL 1 ---6 7 8 12---72 73---80IDENTIFICATION DIVISION。

PROGRAM-ID。

PSAMPLE1。

ENVIRONMENT DIVISION。

DATA DIVISION。

PROCEURE DIVISION。

DISPLAY …THIS IS A COBOL PROGRAM.‟STOP RUN。

四。

COBOL 源程序的书写格式:第1 至6 列为“标号区”。

第7列为“续行标志区”第8至此11列,称为“A区”。

程序中有些内容如部头,节头,段头,层号01,层号77 及文件描述符FD等应从A区开始写。

第12至此72列,称为“B区”。

写程序中的正文部分。

如过程部中的句子只能从B区开始写。

第73至80列,称为“注释区”。

五。

COBOL字符集包括:数字0 --- 9 ,字母A--- Z ,a --- z , 专用字符:+ - * / = , . ; … ( ) < > $ 及空格。

COBOL常用操作

COBOL常用操作

四。COBOL 源程序的书写格式: 第 1 至 6 列为 “标号区”。 77 及文件 描述符 FD 等应从 A 区开始写。 第 12 至此 72 列,称为“B 区”。写程序中的正文部分。如过程部中的句子只能从 B 区 开始写。 第 73 至 80 列,称为“注释区”。 第 7 列为“续行标志区” 第 8 至此 11 列,称为“A 区”。程序中有些内容如部头,节头,段头,层号 01,层号
。。。GIVING 标识符 m [,标识符 n]。。。 2。SUBTRACT 语句: 格式 1:SUBTRACT 标识符 1 ,标识符 2 。。。 FROM 标识符 m [,标识符 n]。 。 。
常量 1 ,常量 2 格式 2:SUBTRACT 标识符 1 ,标识符 2 。。。 FROM 常量 标识符
五。COBOL 字符集包括: 数字 0 --- 9 ,字母 A--- Z ,a --- z , 专用字符:+ - * / = , . ; ‘ ( ) < > $ 及 空格。属于系统字符集而不属于 COBOL 字符集的字符只能出现 符串里。 在 COBOL 程序中的字
六。常量: COBOL 常量分为数值常量(如 100,-29),非数值常量(如 ‘ABC’ )和表意常量 (如 ZERO,SPACE,HIGH-VALUE,LOW-VALUE ,QUOTE ,ALL 常量)。 七。COBOL 所处理的数据的特点 层次的概念:数据间存在的从属关系。 文件的概念:多个记录可以组成一个文件。
DIVIDE
C GIVING C
5。COMPUTE 语句: COMPUTE 标识符 1 [,标识符 2 ]。。。= 算术表达式 ,+ 或 运算的优先级由高到低顺序为:(),正负号 ,** ,* 或 / 如:C = 3 ,D = 5 ,E = 2 , F = 1 则: COMPUT A,B = -(C + D)* 2 / E ** 3 - F = -3 三。传送语句 (MOVE) MOVE 语句用来实现内存中数据的传送(而不是内存和外设之间的传送)。 MOVE 语句的一般格式为: MOVE 标识符 1 常量 1 MOVE 语句的传送规则: 1,如果接收项和发送项在数据部中描述的类型和长度相同,则按字节一一对应传送。 2,如果接收项和发送项长度不相同,而二者都是数值数据项,则按小数点对齐处理。 3,对字母或字符数据(非数值型数据)的传送,按左对齐处理。 4,初等项和组合项之间可以相互传送。 关于各类数据之间的传送规则将在第五章中介绍。 四。转移语句(GO TO) 当需要使程序改变正常执行的顺序时,可以使用无条件转移语句 GO TO 。其一般 格式为: 格式 1: GO 格式 2: ON 标识符 GO TO 过程名 TO 过程名 1 [,过程名 2]。。过程名 n DEPENDING TO 标识符 2 [,标识符 3]。。。

JCL.Cobol.DB2.CICS面试题

JCL.Cobol.DB2.CICS面试题

JCL:1 简单描述一下DISP的使用,它有哪些参数DISP 参数用来告诉系统要使用的数据集的状态是什么并且告诉系统当本作业步执行完毕后如何处理这个数据集。

你可以为作业步正常结束和非正常结束时分别指定不同的处理方法。

DISP= ( [NEW] [,DELETE ] [,DELETE ] )为空时也表示这个。

[OLD] [,KEEP ] [,KEEP ][SHR] [,PASS ] [,CATLG ][MOD] [,CATLG ] [,UNCATLG][, ] [,UNCATLG]2 什么是PROCEDURE,有哪几种PROCEDURE,简述区别有2中PROCEDURE,一种是CATALOG的PROCEDURE,是把过程的JCL语句写在一个编目的数据集里,该数据集必须是PDS 或PDSE 里的一个成员,能够同时被多个JCL 调用。

另一种是INSTREAM 的PROCEDURE,流内PROCEDURE,写在一个JCL里面,以PROC开头,以PEND字句结束。

3.什么是GDG数据集,GDG数据集的每一代数据集是否可以是不同类型的定义GDG数据集有3个重要的参数: LIMIT NOEMPTY SCRATCH 各表示什么含义定义GDG BASE之后要必须定义什么答:GDG数据集是一组名字相似,时间和功能相关的数据集。

GDG数据集是MVS中的世代数据集,通过IDCAMS来创建。

GDG 数据集的每一代可以是不同类型的。

3个重要的参数 LIMIT表示这个世代数据集最多可以有多少代; NOEMPTY表示不清空, SCRATCH表示最老的一代是被删除掉的。

定义GDG BASE之后必须定义GDG DSCB才能生效。

4. COND参数是什么意思如果我需要作业步3,只在作业步2返回码是0或者4的时候才执行,如何写COND参数答: COND参数是CONDITION参数,表示什么情况下作业步被执行/不被执行。

COND=(4,LT,STEP2)与IEBGENER有什么区别IEFBR14是起什么作用的IEBCOPY:对分区数据集进行拷贝、压缩或合并IEBGENER:拷贝顺序数据集,或将顺序数据集转为分区数据集IEFBR14实际是一个空程序,什么也不做,只是返回返回码0,但是使用它可以进行JCL 语言的各种处理,如DD 语句中创建数据集等。

CICS命令及编程(3)

CICS命令及编程(3)

CICS 課程(三)CICS命令及編程講師:周勇Jarod.zhou@四方精創有限公司2006年03月20日CICS 高级语句介绍Transaction (事务)处理CICS 基础语句介绍CICS 相關知識CICS 程序编译、安装CICS 程序访问对象課程目錄貳陸用户在终端输入Trans ID:INQY,对应事务程序为PROG11.确定事务的ID是否在CICS区域定义,没有发出错误信息2.任务管理请求存储并创建表示任务的控制块(TCA= Task Control Area)3.如受安全保护,CICS验证用户的使用权限4.在程序定义表中找到对应的事务程序PROG1的定义信息5.如果PROG1不在内存,程序管理就申请内存将其从程序库装入内存6.CICS复制该程序的工作存储区到与该任务相关的另一存储区。

允许PROG1的单独程序副本被多任务共享7.EIP(EXEC Interface Program)接受程序请求返回异常条件和其他EIB(EXEC Interface Block)信息8.如果PROG1发出EXEC CICS READ 命令来读文件,则文件管理对VSAM发出读记录的请求9.PROG1利用BMS(Basic Map Surpport)来发出已格式化的数据到终端10.VSAM数据集的改变会被系统建立日志以便失败时恢复11.任务结束时,控制返回CICS。

所有与该任务相关的存储被释放,但程序保留在内存,直到无任何任务是用它和该空间要被使用为止1.开发语言•COBOL•Assemble•PL/1•C & C++程序处理逻辑用主语言编写,部分功能用CICS命令来完成2.命令格式EXEC CICS SEND FROM (MSG-AREA) LENGTH (5) END-EXEC.关键字功能选项参数选项参数分隔符EXEC SQL SELECT COLUMN_NAMES INTO:Program_variables FROM Table_name Where Search_condition END-EXEC.3.BMS(Basic Map Support) (BOCHK不使用,只做简单介绍)从终端用户界面发送和接收数据方法:•终端控制(未格式化数据)•BMS(格式化数据流)•图形用户界面MAP用于定义信息如何在终端上显示。

COBOL字符串的操作

COBOL字符串的操作

COBOL字符串的操作(―)字符串的合并string一、string语句的基本用法datadivisionworking-storagesection.01first-namepicx(10).01last-namepicx(10).01full-namepicx(20).proceduredivision.move'adam'tofirst-name.move'smith'tolast-name.stringfirst-namedelmitedbyspace''delimitedbysizelast-namedelimitedbyspaceintofull-name.display'firstname:',first-name.display'lastname:',last-name.display'fullname:',full-name.stoprun.输入结果:firstname:adamlastname:smithfullname:adamsmith以上为string语句的基本格式。

其中每项用于合并的字符串后面都要加上delimitedby语句。

delimitedby子句后面有两个选项,分别为space和size。

space:找出前面用作分拆的字符串中第一个发生空格的地方。

将该空格以前的部分展开分拆,空格以后的内容包含该空格在内不参予分拆操作方式。

size:将前面对应的用于合并的字符串中的全部内容进行合并。

另外by后可以接一个变量名称,并且将该变量中保存的字符作为原字符串的截取符。

截取符的用法同space选项类似。

(三)字符串的替代inspect语句inspect语句主要用于对字符串中的指定部分进行替换。

字符串的替换和转换是不同的。

字符串替换是将原字符串中的部分字符替换成其他字符。

转换时保持原字符串的字符不变,只对其格式进行转换。

COBOL+CICS子程序

COBOL+CICS子程序

COBOL+CICS子程序子程序操作1.非CICS平台:静态和动态用于传递的参数必须在01或者77层。

主调用程序通常在工作单元节(除非也被其他调用在连接节),被调用程序参数要定义在连接节中。

参数在主调用程序中分配内存,通常只要求内存空间大小一致,其他不做要求。

参数引用的顺序必须和主程序定义的参数与其顺序和位置一致。

CALL调用和ENTER选择入口地址两种方式。

静态:在调用之前就已经加载,和主程序在同一加载模块,费内存,效率高。

通常情况下都是引用上一次调用后的状态。

除非单独对参数再次初始化。

一个程序改变,所有程序都要进行改动。

如:DA TA DIVISION. --------主程序WORKING-STORAGE SECTION.77 TEST-NUM PIC 99.*PROCEDURE DIVISION.PERFORM INIT-TEST-NUM.CALL 'STATIC-SUB' USING TEST-NUM.DISPLAY TEST-NUM. ---第一次调用25PERFORM INIT-TEST-NUM.CALL 'STATIC-ENTRY' USING TEST-NUM.--对应于子程序的ENTER调用DISPLAY TEST-NUM. ---第二次调用35(子程序数值在内存中没有被释放)PERFORM INIT-TEST-NUM.CALL 'STATIC-SUB' USING TEST-NUM.DISPLAY TEST-NUM. ---第三次调用25(子程序数据已被初始化)STOP RUN.INIT-TEST-NUM.MOVE 10 TO TEST-NUM.DATA DIVISION. --------子程序WORKING-STORAGE SECTION.01 PLUS-NUM PIC 99 V ALUE 15.LINKAGE SECTION.77 MAIN-NUM PIC 99. ---被调用程序参数要定义在连接节中。

第九章_编译和运行COBOL程序--CICS 技术文档09

第九章_编译和运行COBOL程序--CICS 技术文档09

COBOL与CICS


CICS简介 CICSCOBOL
CICS简介



CICS是IBM的客户信息控制系统,是运行终端(联 机)系统的环境; CICS特别适合事务性系统,如处理机票购买和银行 存取款等; 40多年来,CICS一直活跃在全球一流公司的商业系 统中: 当今全球一共有大约50000个CICS站点; 在500个最大的IBM客户中,490个都是用CICS; 大约有100万编程人员编写和维护CICS程序,主 要是COBOL程序。
下述内容将在IMS相关课程中 介绍



IMS数据库的结构和存取原理 PCB掩模(PCB-mask) DL/I函数(DL/I-function) SEGMENT-IO-AREA(段记录布局) SSA(段查找变元)
样本IMS程序
详见EMPLOYEE。
SEND CONTROL命令
语法格式 EXEC CICS SEND CONTROL CURSOR(data-value) ERASE|ERASEUP FREEKB END-EXEC.

SEND MAP命令
语法格式 EXEC CICS SEND MAP (name) [MAPSET(name)] [FROM(data-area)] [LENGTH(data-value)] [DATAONLY|MAPONLY] [ALARM] [CURSOR(data-value)] [ERASE|ERASEUP] [FREEKB] END-EXEC.

物理Map

在CICS里用CEDA定义 CEDA DEF MAPSET
RECEIVE MAP命令
语法格式 EXEC CICS RECEIVE MAP(name) [MAPSET(name)] LENGTH(data-area) INTO(data-area) END-EXEC.

CICS命令及交易

CICS命令及交易

CICS/VS常用命令
6、 HANDLE(错误处理)
EXEC CICS HANDLE CONDITION DUPREC(WRTTV050) EXEC CICS HANDLE ABEND LABEL(PGMABEND) EXEC CICS HANDLE CONDITION ERROR(PGMERROR) EXEC CICS HANDLE CONDITION ENDFILE(CREATE) NOTFND(CREATE) EXEC CICS IGNORE CONDITION DUPREC ENDFILE NOTFND 功能:如果写文件关键字重复,则将会跳到WRTTV050段执行。
CICS/VS常用命令
9、LINK、XCTL、START
例如: 1、程序A: ..... EXEC * LENGTH(HWORK1) .... END A 2、程序A: ...... EXEC CICS * LENGTH(HWORK1) ..... END A 程序B: ...... EXEC * LENGTH(HWORK1)
READ DATASET (‘FILEA’) STATUS:ABOUT TO EXECUTE COMMAND EXEC CICS READ Dataset (‘FILEA’) <SYsid( )> SET( )|INTO ( ) <Length ( )> Ridfld (‘000001’) <keylength ( ) <GEneric>> < SEGset( )|Segsetall> <Rbe | RRn | DEBRec | DEBKey> <Gteq | Equal> <Update>
EXEC CICS ASKTIME ABSTIME(WK-ABSTIME) END-EXEC EXEC CICS FORMATTIME ABSTIME(WK-ABSTIME) YYYYMMDD(DATE12O) TIME(TIME22O) TIMESEP(':') DATESEP('/') END-EXEC

CICS程序设计方法与编码

CICS程序设计方法与编码

NOTFND(190-NOTFOIUND) END-EXEC.
3.BMS(Basic Map Support) 从终端用户界面发送和接收数据方法:
•终端控制(未格式化数据) •BMS(格式化数据流) •图形用户界面
MAP用于定义信息如何在终端上显示。
MAP定义包括MAPSET名称,MAPSET所包含的MAP的名称, 使用该MAP的应用程序的语言,所支持的终端类型,常量字段的 初始值,变量字段,所有字段的位置、长度、属性等
1-255
Nsrgroup ==>
Terminal Control Table(TCT)
定义终端的型号及属性
CEDA ALter TErminal( AA2A )
TErminal : AA2A
Group
: GRPTERM
Description ==>
AUTINSTModel ==> No
AUTINSTName ==>
END-EXEC.
5000-EXIT. EXIT.
CICS Translation
Compilation
Link Edit
SYSIN (SOURCE PROGRAM)
Command level
language translator
將程式中的CICS COMMAND 翻譯成適當的語言陳述句
SYSPUNCH (translated
RESident ==> No
No | Yes
USAge ==> Normal
Normal | Transient
USElpacopy ==> No
No | Yes
Status ==> Enabled

SeeBeyond Cobol Copybook Converter用户指南 Release 5.0

SeeBeyond Cobol Copybook Converter用户指南 Release 5.0

Cobol Copybook Converter User’s GuideRelease 5.0.5 for Schema Run-time Environment (SRE)The information contained in this document is subject to change and is updated periodically to reflect changes to the applicable software. Although every effort has been made to ensure the accuracy of this document, SeeBeyond Technology Corporation (SeeBeyond) assumes no responsibility for any errors that may appear herein. The software described in this document is furnished under a License Agreement and may be used or copied only in accordance with the terms of such License Agreement. Printing, copying, or reproducing this document in any fashion is prohibited except in accordance with the License Agreement. The contents of this document are designated as being confidential and proprietary; are considered to be trade secrets of SeeBeyond; and may be used only in accordance with the License Agreement, as protected and enforceable by law. SeeBeyond assumes no responsibility for the use or reliability of its software on platforms that are not supported by SeeBeyond.SeeBeyond, e*Gate, e*Way, and e*Xchange are the registered trademarks of SeeBeyond Technology Corporation in the United States and/or select foreign countries. The SeeBeyond logo, SeeBeyond Integrated Composite Application Network Suite, eGate, eWay, eInsight, eVision, eXchange, eView, eIndex, eTL, ePortal, eBAM, and e*Insight are trademarks of SeeBeyond Technology Corporation. The absence of a trademark from this list does not constitute a waiver of SeeBeyond Technology Corporation's intellectual property rights concerning that trademark. This document may contain references to other company, brand, and product names. These company, brand, and product names are used herein for identification purposes only and may be the trademarks of their respective owners.© 2005 SeeBeyond Technology Corporation. All Rights Reserved. This work is protected as an unpublished work under the copyright laws.This work is confidential and proprietary information of SeeBeyond and must be maintained in strict confidence.Version 20050406085052.ContentsContentsChapter 1Introduction4 Overview4 Intended Reader4 Supported Operating Systems4 System Requirements4 External System Requirements5Chapter 2Installation6 Windows Windows 20006 Pre-installation6 Installation Procedure6 Files/directories Created by Installation7Chapter 3Implementation8 Basic Properties8 Unsupported Features8Using the ETD in Java Collaborations8 Basic Procedures9 Cobol Copy Converter Example11 Sample Cobol Specification File Example12 Sample ETD (*.ssc) File After Cobol Copybook Conversion12 Index13Chapter 1 IntroductionThis chapter introduces you to the Cobol Copybook Converter User’s Guide.1.1OverviewThe Cobol Copybook Converter is a feature of the SeeBeyond TechnologyCorporation™ (SeeBeyond™) e*Gate Integrator system and is used to convert CobolCopybook files into e*Gate Event Type Definition (ETD) files.1.2Intended ReaderThe reader of this guide is presumed to be a developer or system administrator withresponsibility for maintaining the e*Gate system, to have expert-level knowledge ofWindows2000 operations and administration, and to be thoroughly familiar withWindows-style GUI operations.1.3Supported Operating SystemsThe Cobol Copybook Converter is available on the following operating systems:Windows2000, Windows XP, and Windows Server 2003Japanese Windows2000, Windows XP, and Windows Server 2003Korean Windows2000, Windows XP, and Windows Server 20031.4System RequirementsTo use the Cobol Copybook Converter, you need the following:An e*Gate Participating Host.A TCP/IP network connection.Chapter 1Section 1.4 Introduction System Requirements10 MB free disk space for executable, configuration, library, and script files.1.4.1External System RequirementsThe Cobol Copybook Converter supports the following external systems:ICL CopybooksChapter 2 InstallationThis chapter explains how to install the Cobol Copybook Converter.2.1Windows Windows 20002.1.1Pre-installationExit all Windows programs before running the setup program, including anyanti-virus applications.You must have Administrator privileges to install this product.2.1.2Installation ProcedureTo install the Cobol Copybook Converter on Windows NT or Windows 2000: 1Log in on the workstation on which you want to install the Cobol Copybook Converter.2Insert the installation CD-ROM into the CD-ROM drive.3If the CD-ROM drive’s “Autorun” feature is enabled, the setup application should launch automatically. Otherwise, use Windows Explorer or the Control Panel’sAdd/Remove Applications feature to launch the file setup.exe on the CD-ROMdrive.4The InstallShield setup application will launch. Follow the on-screen instructions until you come to the Select Components screen.5Check the box labelled Add-ons. Then, follow the on-screen instructions to install the product.Note: Be sure to install all of the files in the suggested “client” installation directory. The installation utility detects and suggests the appropriate installation directory.Unless you are directed to do so by SeeBeyond support personnel, do notchange the suggested “installation directory” setting.Chapter 2Section 2.2 Installation Files/directories Created by Installation2.2Files/directories Created by InstallationThe Cobol Copybook Converter installation process installs the files shown in Table 1below within the e*Gate directory tree. Files are installed within the egate\client treeon the Participating Host and committed to the default schema on the Registry Host.Table 1 Files Created by Installatione*Gate Directory File(s)\bin stccococo.exeChapter 3 ImplementationThe Cobol Copybook Converter is a build tool that takes a Cobol copybookspecification file as input and creates an Event Type Definition (ETD) file, that is, an*.ssc file.3.1Basic PropertiesThe Cobol Copybook Converter has the following basic properties:You may run this command via the ETD Editor or from the command line.The system presents the copybook specification to the Cobol Copybook Converterin a flat file. The converter feature uses the 01segment of the Cobol copybook as theroot node of the ETD.For example, if you are using a CICS e*Way, after you have generated an ETD file, thee*Gate system can populate the file and present it into the COMM AREA for CICS calls.Similarly, the system can parse the output COMM AREA from CICS into ETDs created by the Cobol Copybook Converter feature.Note: The Cobol Copybook Converter must have valid Cobol syntax to complete anaccurate conversion.Unsupported FeaturesThe following Cobol Copybook features are not supported by the Cobol CopybookConverter:Cobol Copy Statements – Cobol copy statements that are imbedded within theCobol Copybook are not supported.Usage Pointer – Usage pointer statements are not supported. To accommodatethese elements, you must change the statement to PIC X(4). The Cobol CopybookConverter will interpret this and create a node of the correct length with thesubsequent nodes as siblings instead of child nodes.Using the ETD in Java CollaborationsThe ETDs generated by the Cobol Copybook Converter are intended to be used withCollaboration Rules Scripts created by the Monk Collaboration Rules Editor. However,these ETD files (.ssc) can be converted into Java Event Type Definitions (.xsc) by usingthe Java ETD Editor’s SSC Wizard. For information on using the SSC Wizard, see thee*Gate Integrator User’s Guide.3.2Basic ProceduresYou may access the Cobol Copybook Converter feature via the ETD Editor. Use theprocedure below to create an ETD based on the data your installation requires.Note: The GUI version of the Cobol Copybook Converter is not available under the Korean versions of Windows NT and Windows2000. For information on the command-lineversion of the Cobol Copybook Converter, see page11.To create ETD files using the ETD Editor:1On the ETD Editor window’s Toolbar, click Build.The first Build an Event Type Definition dialog box appears (see below).2In the File name box, type the name of the ETD file you wish to build. Do not specify any file extension. The Editor supplies the *.ssc extension for you.3Under Files of type, leave Event Type Definition selected.4Click Next.The second Build an Event Type Definition dialog box appears (see below).5Enter the Input file name and path—use the browse button to find the correct path. 6Under Build From, select Library Converter.7Under Select a Library Converter, select Cobol Copy Book Converter.8Click Finish.The dialog box closes, and the new ETD appears in the Workspace pane of the ETD Editor window. The conversion process is automatic.9Click Save to save the new ETD.To create ETD files using the command line:To run the Cobol Copybook Converter from the command line, as a batch utility, enter:stccococo [-I] [-d] [-nls] -i <copybook_file> <etd>.sscThe following table explains these command options:Command Type Description-I String An optional parameter that indicates ICL datatypes.-d String An optional parameter that indicates DBCS inputdata mode.-nls String Allows the conversion of Cobol files written inJapanese; currently the only string supported isSJIS (Japanese character set). Use of any other (orno) parameter defaults to English/ASCII.-i String Indicates the input file and path name as well asthe output ETD path and file name. This parameteris required.copybook_file Path The relative path of the file to be used as the input(required).etd String The name of the ETD file you wish to create(required).Note: If you enter stccococo -h at the command line, seeking help, you get the following message:USAGE: stccococo [-I] [-d] [-c control [-s section]] [-nls <Character Set>] -icopybook_file <etd>.ssc-I indicates ICL data origin-d indicates DBCS modeIgnore references to the -c and -s switches. They are for future use only and do notoperate in the current system.3.2.1Cobol Copy Converter ExampleThe following page shows before and after examples of a Cobol copybook specification file (which was the input) and the ETD (*.ssc) file after the conversion.Sample Cobol Specification File Example000700 01 output-message-area. 00070000 000800 05 om-ll pic s9(3) comp value +160. 00080000 000900 05 om-z1-z2 pic s9(3) comp value zero. 00090000 001000 05 om-invoice-no pic x(6). 00100000 001100 05 om-invoice-date pic 99/99/99. 00110000 001200 05 om-prod-total pic z(5).99-. 00120000 001300 05 om-cash-disc pic z(5).99-. 00130000 001400 05 om-sales-tax pic z(5).99-. 00140000 001500 05 om-freight pic z(5).99-. 00150000 001600 05 om-billing pic z(5).99-. 00160000 001700 05 om-pmts-adjs pic z(5).99-. 00170000 001800 05 om-balance pic z(5).99-. 00180000 001900 05 om-error-line pic x(79). 00190000Sample ETD (*.ssc) File After Cobol Copybook ConversionIndexIndexBbuilding an ETDcommand line operations 11GUI operations 9CCICS 8COMM AREA 8Cobol Copy Converter example 11 Cobol Copy statements 8Cobol Copybook Converter overview 4 COMM AREA 8Ffiles and directories 7IICL Copybooks 5implementation 8installation 6Windows 2000 6Windows NT 6intended reader 4Ooperating systems 4international 4overview, Cobol Copybook Converter 4PPIC X(4) 8platform support 4Rrequirements 4SstatementsCobol Copy 8usage pointer 8 stccococo.exe 7, 11 system requirements 4external system 5Uunsupported features 8 usage pointer statements 8 WWindows 2000 4, 6 Windows NT 4, 6。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

COBOL+CICS文件操作1.输入输出数据非CICS:ACCEPT数据来源:终端输入和系统接收。

一般系统接收数据为日期或者时间。

DA TE--YYMMDD.DAY---YYDDD.DAY-OF-WEEK--- PIC 9. 范围1-7.TIME---HHMMSSHH,最后HH表示hundredths from midnigth.如:DA TA DIVISION.WORKING-STORAGE SECTION.01 INPUT-DATE.05 INPUT-YEAR PIC 99.05 INPUT-MONTH PIC 99.05 INPUT-DAY PIC 99.*PROCEDURE DIVISION....ACCEPT TEST-DA TE.DISPLAY TEST-DATE. ---终端输入的数据ACCEPT TEST-DA TE FROM DA TE. --系统产生的数据DISPLAY TEST-DATE. --输出CICS下:如:DA TA DIVISION.WORKING-STORAGE SECTION.01 INFLDS.05 INLEN PIC 9(4) COMP.01 INPUT-NAME.05 INPUT-FIRST PIC X(10).05 INPUT-MIDDLE PIC X(10).05 INPUT-LAST PIC X(10).*PROCEDURE DIVISION....MOVE 15 TO INLEN.EXEC CICS RECEIVE INTO(INPUT-NAME)LENGTH(INLEN) --所接收的最大长度,小于为实际,大于为异常END-EXEC.EXEC CICS SEND FROM(INPUT-NAME)LENGTH(20) --为实际长度,并非变量。

输出位置为当前光标位置END-EXEC....GOBACK.2.文件操作普通文件非CICS:如:ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROLSELECT CUSTOMER-FILE ASSIGN TO S-SYSIN. --定义对应到COBOL文件名SELECT PRINT-FILE ASSIGN TO S-SYSOUT.*DATA DIVISION.FILE SECTION.FD CUSTOMER-FILE --定义FD记录RECORD MODE IS F.01 CUSTOMER-RECORD.05 CUST-NO PIC 9(5).05 CUST-NAME PIC X(10).FD PRINT-FILE.RECORD MODE IS F.LABEL RECORDS ARE OMITTEDRECORD CONTAINS 132 CHARACTERSDATA RECORD IS PRINT-LINE. --定义数据记录在程序中的名称01 PRINT-LINE PIC X(132).WORKING-STORAGE SECTION.01 EOF-FLAG PIC X V ALUE 'N'.01 HEADING-LINE.05 FILLER PIC X(5) V ALUE SPACES.05 FILLER PIC X(15) V ALUE 'CUSTOMER NO'.05 FILLER PIC X(7) V ALUE SPACE.05 FILLER PIC X(15) V ALUE 'CUSTOMER NAME'.05 FILLER PIC X(90).01 OUTPUT-FILE.05 FILLER PIC X(10) V ALUE SPACES.05 PRT-NO PIC X(5).05 FILLER PIC X(15) V ALUE SPACES.05 PRT-NAME PIC X(10).05 FILLER PIC X(92).*PROCEDURE DIVISION.OPEN INPUT CUSTOMER-FILE ---OPEN语句可以指出该文件时输入还是输出文件。

OUTPUT PRINT-FILE.也可以直接读到其他地方。

READ CUSTOMER-FILE --READ后为文件名,而WRITE为记录。

AT END MOVE 'Y' TO EOF-FLAG --AT END-读到末尾所要采取的操作。

END-READ.MOVE HEADING-LINE TO PRINT-LINE.WRITE PRINT-LINE.PERFORM 100-PROCESS-RECORDSUNTIL EOF-FLG = 'Y'CLOSE CUSTOMER-FILEPRINT-FILE.STOP RUN.100-PROCESS-RECORDS.IF CUST-NO > 100MOVE CUST-NO TO PRT-NO.MOVE CUST-NAME TO PRT-NAME.WRITE PRINT-LINE FROM OUTPUT-LINEEND-IFREAD CUSTOMER-FILEAT END MOVE 'Y' TO EOF-FLAYEND-READ.VSAM文件非CICS:如:ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.* SELECT KS-FILE ASSIGN TO VKSDSSELECT OPTIONAL MACC ASSIGN TO KSDSFILEORGANIZATION INDEXED --逻辑结构,通常为顺序或索引ACCESS MODE DYNAMIC --访问方式,顺序,直接,动态(包括前面两个)RECORD KEY TEST-NO --文件中的KEYFILE STATUS TEST-STAT. --反应读取或写入的状态*DATA DIVISION.FILE SECTION.FD KS-FILE01LABEL RECORD IS STANDARD --指明该VSAM文件是否含有标号。

DATA RECORD IS TEST1. --定义该VSAM逻辑记录在程序中的名称。

01 TEST1.05 TEST1-NO PIC X(5).05 TEST1-NAME PIC X(10)....*PROCEDURE DIVISION.OPEN INPUT KS-FILE01,KS-FILE02 --只可以WRITEI-O RR-FILE --可以REWRITEOUTPUT ES-FILE.READ KS-FILE01 NEXT RECORDAT END GO TO 100-TEST-ENDEND-READ.READ KS-FILE01 KEY IS TEST-NOINV ALID KEY GO TO 200-TEST-END --指定INV ALID语句END-READ.WRITE KS01-RCD FROM TEST1.REWRITE RR-RCD FROM TESTX.DELETE KS-FILE01 RECORD INV ALID KEY ... --删除START KS-FILE KEY < TEST-NO --指针定位DISPLAY '....'CLOSE KS-FILE01,KS-FILE02,RR-FILE,ES-FILE.VSAM文件CICS中:不用手工定义和打开,有CICIS中FCT-文件控制表统一管理。

如:DATA DIVISION01 FILE-AREA.05 RECL PIC S9(4) COMP.05 RECKEY PIC X(6).01 REC-FIELD.05 F-CODE PIC X(10) V ALUE SPACES.05 F-NAME PIC X(20) V ALUE SPACES....读:READEXEC CICS READ FILE('TESTF') --文件名INTO(REC-FIELD) --记录名RIDFLD(RECKEY) --KEY名(KSDS-KEY,ESDS-RBA,RRDS-RRN)LENGTH(RECL) --文件中逻辑记录长度RESP(ERR-CODE) --返回码END-EXEC.写:一般用REWRITE,先UPDATE锁定,再REWRITE.EXEC CICS READ FILE('TESTF')UPDATE--先UPDA TE锁定RIDFLD(RECKEY)INTO(REC-FIELD)LENGTH(RECL)RESP(ERR-CODE)END-EXEC.EXEC CICS REWRITE FILE('TESTF') --不用指定KEY了,上面UPDATE已经锁定,KEY 也不能被更改FROM(REC-FIELD)LENGTH(RECL)RESP(ERR-CODE)END-EXEC/浏览:STARTBR, READNEXT ,ENDBR.EXEC CICS STARTBR FILE('TESTF')RIDFLD(RECKEY)RESP(ERR-CODE)END-EXECIF ERR-CODE EQUAL DFHRESP(NORMAL)PERFORM UNTIL ERR-CODE EQUAL DFHRESP(ENDFILE)EXEC CICS READNEXT FILE('TESTF')INTO(REC-FIELD)LENGTH(RECL)RIDFLD(RECKEY)RESP(ERR-CODE)END-EXEC....END-PERFORMEXEC CICS ENDBR FILE('TESTF')END-EXEC.ONLINE:VSAM不用在COBOL中打开或关闭,在CICS下处理。

实现多终端操作,不必等待资源。

BATCH: VSAM在COBOL中必须打开和关闭,每次只能一个作业对文件操作。

/u/2630100442。

相关文档
最新文档