自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

COBOL

最新Cobol专著《精通COBOL——大型机商业编程技术详解 》

  • 博客(129)
  • 收藏
  • 关注

原创 精通Cobol:大型机商业编程技术详解 目录

第一篇  Hibernate技术第1章  COBOL简介1.1  背景知识1.2  语法格式1.3  Cobol学习环境配置1.3.1  模拟大型机系统——Hercules1.3.2  终端连接软件——PCOM1.4  创建第一个Cobol程序1.5  本章回顾第2章  程序结构2.1  标志部2.2  环境部2.2.1  配置节2.2.2  输

2008-04-18 10:44:00 7508 83

原创 精通COBOL--16.9 小结

   本章主要讲解了CICS的概念及应用。CICS通常以COBOL作为宿主语言,提供了界面功能和交互能力,因此在实际开发中应用十分广泛。本章首先讲解了CICS的基本概念及其编译处理过程。学习这部分内容,需要明确联机处理程序和批处理程序的概念及其区别;理解CICS中交易与任务的基本概念;掌握CICS中的日常操作;理解基于CICS的COBOL程序的编译流程;掌握实际开发CICS应用程序的步骤,

2008-04-29 13:49:00 2254 2

原创 精通COBOL--16.8 CICS中的队列

  CICS中的队列相当于一块临时缓冲区,用于以队列的形式存放临时数据。在CICS的队列中提供两种数据组织机制。这两种机制分别为瞬时数据(Transient Data)和临时存储(Temporary Storage)。下面重点只介绍临时存储。当将数据写入临时存储队列中时,是通过WRITEQ命令实现的。例如,以下代码将把文件“TESTF”中的数据依次写入到临时存储队列之中:IDENTIF

2008-04-29 13:48:00 2625 2

原创 精通COBOL--16.7.2 写入文件

  与使用READ命令读取文件相对应,可以使用WRITE命令将数据写入文件。不过通常是使用REWRITE命令对文件中的数据进行写入更新的。在使用REWRITE命令之前,需要通过READ UPDATE命令指定更新数据所在的位置。同时,记录中的关键字是不可被更改的。以下代码反映了REWRITE命令的大致用法:IDENTIFICATION  DIVISION.PROGRAM-ID.  FWR

2008-04-29 13:47:00 2781 1

原创 精通COBOL--16.7.1 读取文件

  CICS所支持的VSAM文件主要有KSDS、ESDS、RRDS。此外,文件在CICS中由FCT(File Control Table)所统一管理。因此,在相应的COBOL程序中不用手工定义和打开文件。假设某一文件的文件名为“TESTF”,则在程序中通过CICS读取该文件的代码通常如下:IDENTIFICATION  DIVISION.PROGRAM-ID.  FREADPG.   

2008-04-29 13:46:00 4620

原创 精通COBOL--16.7 CICS对于文件的操作

  在CICS中所处理的数据除用户输入的以外,绝大多数来自于外部文件。CICS所处理的文件主要为VSAM文件。下面分别对文件的读取和文件的写入进行讲解。

2008-04-29 13:26:00 1436

原创 精通COBOL--16.6.3 MAP的应用

  在COBOL中对MAP的应用,主要可分为发送MAP和接受MAP两种情况。其中发送MAP就是将MAP在CICS屏幕中显示出来。发送MAP时可选择只发送物理MAP还是只发送符号MAP。其中只发送物理MAP的代码如下:EXEC  CICS  SEND  MAP(‘TESTMA’)                      MAPSET(‘MAPSETA’)              

2008-04-29 13:25:00 2524 1

原创 精通COBOL--16.6.1 MAP的基本概念

  MAP是形成基于CICS程序的界面的一个实体,主要由BMS(Basic Mapping Support)提供支持。MAP存放于MAPSET中,一个MAPSET可以存放一到多个MAP。不过通常情况下,一个MAPSET中仅存放一个MAP。因此,有时也可使用MAP指代其所在的MAPSET。同时,MAP实际上是分为两种类型的。其中一种类型为物理MAP,另一种类型为符号MAP。理解MAP的基本概

2008-04-29 13:24:00 3514

原创 精通COBOL--16.6.2 MAP的创建

  当前MAP主要是通过SDFⅡ(Screen Define Facility Ⅱ)工具所创建的。SDFⅡ工具是z/OS上的一个可选产品。该产品自动生成MAP的源代码,实现了对于MAP所编即所见的功能。当然,在没有提供SDFⅡ工具的情况下,也可以手工编写源代码生成MAP。下面只重点介绍如何使用SDFⅡ工具创建MAP。此处所说的MAP,即包含有物理MAP,也包含有符号MAP。创建步骤通常如下

2008-04-29 13:24:00 2274

原创 精通COBOL--16.6 CICS中的MAP

  CICS中的MAP实现了CICS应用程序的界面。由于CICS程序主要用于交互式的处理,因此界面对于CICS而言十分重要。在实际开发中,CICS程序往往会用到MAP。MAP可以说是CICS产品的一大特色。

2008-04-29 13:22:00 1433

原创 精通COBOL--16.5.2 使用XCTL命令进行程序调用

  使用XCTL命令调用程序时,两程序仍然处于同一个任务之下。并且,同样也可通过COMMAREA在两程序间传递参数。以下为在程序PGMC中,通过XCTL调用程序PGMD的部分代码:IDENTIFICATION  DIVISION.PROGRAM-ID.  PGMC.           ……PROCEDURE  DIVISION.……EXEC  CICS  LINK  

2008-04-29 13:19:00 1884

原创 精通COBOL--16.5.1 使用LINK命令进行程序调用

  使用LINK命令调用程序时,两程序将位于一个任务之下。同时,通过LINK命令中的选项COMMAREA可以实现在调用过程中的参数传递。例如,在以下程序PGMA中,将通过LINK命令调用程序PGMB。IDENTIFICATION  DIVISION.PROGRAM-ID.  PGMA.                              * ENVIRONMENT  DI

2008-04-29 13:18:00 1834

原创 精通COBOL--16.5 CICS中的程序调用

  在大型软件项目中,应用系统往往由多个程序所共同组成。程序之间必然存在着一个调用关系。在基于CICS的COBOL程序中,通常使用LINK和XCTL命令实现程序调用。下面分别予以讲解。

2008-04-29 12:16:00 1538

原创 精通COBOL--16.4.3 RETURN到相同的程序

  该方式实际上就是将同一个交易中的关联程序既作为参数的发送者,又作为参数的接受者。假设某一交易为ROLL,其关联的程序为ROLLPGM。根据这一条件,图反映了伪会话程序中先后任务对应同一个程序的情况。需要注意的是,在该方式下,参数的传递将形成一个闭环。同时,在第一次启动任务时,是没有参数传递进来的,因此此时COMMAREA中的内容将为空。当COMMAREA中的内容为空时,该任务的EI

2008-04-29 12:13:00 2304 1

原创 精通COBOL--16.4.2 RETURN到不同的程序

结合前面所讲的伪会话程序的基本概念,下面直接通过具体实例说明先后任务对应不同程序的情况。不妨假设CICS中某两个交易及其各自关联的程序分别如下:q      交易TRN0,关联的程序为PGM0。q      交易TRN1,关联的程序为PGM1。以上面这两个交易为例,图反映了伪会话程序中先后任务对应不同程序的情况。 下面给出程序PGM0和PGM1的具体示例代码,以说明该方

2008-04-29 12:11:00 1829

原创 精通COBOL--16.4.1 伪会话程序的基本概念

精通COBOL--16.4.1  伪会话程序的基本概念伪会话程序是相对于会话程序发展而来的。会话程序将会不间断地等待从终端接受数据,直到程序结束。而伪会话程序则只在终端有输入时才激活,并不会始终占用资源以等待从终端接受数据。图为二者的区别。由此可见,伪会话程序相对于会话程序最大的好处在于不会占据任务资源等待用户的输入。例如,在银行ATM自动取款机取款时,用户输入密码后有时会考虑究竟

2008-04-29 12:10:00 2886 3

原创 精通COBOL--16.4 伪会话程序

  伪会话程序是CICS开发中十分重要的一个概念,绝大多数CICS上的程序都是采用的伪会话程序。伪会话程序充分体现了CICS的交互能力,形成了区别于批处理作业最大的特征。同时,伪会话程序也避免了长时间的独占任务资源,从而提供了程序的并发执行能力。

2008-04-29 11:01:00 1335 1

原创 精通COBOL--16.3.7 获取CICS的日期信息

  获取CICS的日期信息同获取时间信息比较类似。日期信息也是依次通过CICS的命令ASKTIME和FORMATTIME得到的。不过在FORMATTIME中,需要指明获取的为日期信息,同时设置日期信息的相应输出格式。例如,以下程序将用于获取日期信息:IDENTIFICATION  DIVISION.PROGRAM-ID.  DATEPGM.* ENVIRONMENT  DIVI

2008-04-29 11:00:00 2356

原创 精通COBOL--16.3.6 获取CICS的时间信息

   获取CICS的时间信息也是关于CICS的一项最基本的应用。该应用主要分为两步操作。其中第一步是通过ASKTIME得到时间的数据。第二步是通过FORMATTIME得到时间的格式。例如,以下代码将根据用户的请求而获得相应的时间信息:IDENTIFICATION  DIVISION.PROGRAM-ID.  TIMEPGM.* ENVIRONMENT  DIVISION.*

2008-04-29 10:59:00 2562

原创 精通COBOL--16.3.5 获取CICS的终端信息

  在第一节中曾讲到,每一个任务都有一个与之对应的EIB。CICS的终端信息正是通过EIB得到的。需要注意的是,由于任务可以在不同的终端上启动,因此得到的终端信息也是不同的。也就是说,终端信息是基于任务而言的,这点同每一任务中EIB的惟一性是相对应的。此处所说的终端信息,主要是指终端在CICS中的设备编号。终端编号是通过EIB中的信息EIBTRMID提供的。以下程序将直接通过EIBTR

2008-04-29 10:58:00 1644

原创 精通COBOL--16.3.4 输出过程中的光标定位

前面曾讲到,CICS中默认的输出是以当前光标所在位置作为起始位置的。不过,光标的实际位置在程序中也是可以进行更改。若要在程序中更改光标的位置,需要提供更改后光标的位置值。在CICS支持的标准终端屏幕上,光标的位置值如图所示。由上图可以看出,光标的位置值是一个一维数字,而并非由行数和列数形成的一个二维向量。通常在程序要求中只给出直观的行列数,需要通过计算将其转换为程序中的光标位置值。

2008-04-29 10:57:00 1385

原创 精通COBOL--16.3.3 输入过程中的异常处理

  CICS中的异常处理有很多种情况,此处主要只针对在输入过程中的异常处理。异常处理是通过在相应的CICS命令中使用RESP选项实现的。RESP选项后为一个8位长度的有符号数,用以表明异常的种类。例如,以下代码在输入数据大于指定长度时,将对所抛出的异常进行处理。处理方式为在屏幕上输出相应提示信息。代码如下:IDENTIFICATION  DIVISION.PROGRAM-ID.  RE

2008-04-29 10:56:00 2452

原创 精通COBOL--16.3.2 使用CICS进行输入输出

  基于CICS的COBOL程序最基本的功能便是输入和输出。在CICS中,输入是通过RECEIVE命令实现的,而输出则是通过SEND命令实现的。下面分别予以讲解。1.使用RECEIVE命令进行输入使用RECEIVE命令进行输入时,关键需要指定输入的存储位置以及输入数据的长度。例如,以下代码将通过终端接受输入数据,并存放在变量INAREA中:IDENTIFICATION  DIVIS

2008-04-29 10:55:00 2218 2

原创 精通COBOL--16.3.1 基本程序结构

  基于CICS的COBOL程序同样是通过EXEC标识符将CICS命令嵌入其中的。一下为CICS命令在COBOL中的表示方式:EXEC  CICS       ……                         /*此处为嵌入的相关CICS命令*/      END-EXEC.此外,基于CICS的COBOL程序在结构上同普通COBOL程序略有不同。在基于CICS的COBOL程

2008-04-29 10:54:00 1731

原创 精通COBOL--16.3 CICS在COBOL中的基本应用

  CICS在实际应用方面的功能最终还是通过程序实现的。这些程序同操作DB2的程序类似,也是将某一程序语言作为宿主语言,并将CICS命令嵌入其中。相关宿主语言可以为COBOL语言、大型机汇编语言、PL/1语言等等。目前最常用的还是COBOL语言。

2008-04-29 10:53:00 1191

原创 精通COBOL--16.2.4 使用CEDF调试程序

  当定义并安装完成相关资源后,便可通过输入交易号以生成任务,启动并运行所编写的应用程序了。最后所剩下的工作便是对程序进行调试。调试程序主要是通过CEDF实现的。使用CEDF调试程序与使用CEMT更新程序往往是交替进行的。同时,CEDF还可调试在另一终端上正在运行的程序。CEDF相当于CICS中的一个程序调试器。使用CEDF时,首先在屏幕左上角输入“CEDF”,然后清空屏幕,输入被调试程序

2008-04-29 10:52:00 2573

原创 精通COBOL--16.2.3 使用CEMT查询和设置资源

  CEMT主要用于对定义后的资源进行查询以及设置,通常和CEDA的联系最为紧密。例如,以下操作将查询在CICS上定义的所有程序资源。CEMT  INQUIRE   PROGRAM(*)  CEMT  I           PROG(*)         /*此条为上条的简写方式,当熟练后通常采用此条表达方式,下同*/以上操作执行后,将会把CICS上所有定义过的程序列表出来。该列

2008-04-29 10:51:00 1712

原创 精通COBOL--16.2.2 使用CEDA定义资源

  CICS子系统中包含有很多类型的资源。对于不同的应用,将会用到其中不同部分的资源。这些资源通常有以下几种:q      交易q      程序q      MAPSETq      文件q      队列q      数据库q      终端以上这些资源一般来说需要在CICS子系统中先定义之后方能使用。CICS中的资源主要是通过CEDA进行定义的。前面曾提到

2008-04-29 10:50:00 1570 1

原创 精通COBOL--16.2.1 CICS程序编译流程

涉及到CICS的程序从源代码到可加载模块之间的编译流程通常需要经历3个处理步骤。这3个步骤依次如下:(1)CICS转换(CICS Translation)。(2)编译(Compilation)。(3)连接编辑(Link Edit)。在以上每一个步骤中,又分别包含有多个相应的具体操作。图16.3为这3个步骤及其所包含的具体操作。前面曾讲到,CICS还是可以结合DB2使

2008-04-29 10:49:00 2333

原创 精通COBOL--16.2 CICS编译处理过程

  涉及到CICS的程序在编译连接时与普通程序是有所不同的。此外,关于CICS在实际中所用到的各种资源,都是需要在CICS子系统上进行定义的。CICS任务的执行及程序的调试也同样是在CICS子系统上进行的。下面分别对以上相关内容进行讲解。

2008-04-29 10:48:00 1306

原创 精通COBOL--16.1.3 CICS的基本操作

  关于CICS的基本操作,首先需要清楚CICS的开启与关闭。作为一个子系统,CICS的开启和关闭都是通过在终端,或控制台输入相关命令实现的。在PCOM主界面登录CICS系统,则与登录TSO类似,通常是使用以下命令登录的:L  CICSCICS的重启与JES2的重启类似,也是分为3种类型的重启的。关于这3种类型的重启的名称及方式分别如下:q      冷启动:正常关闭CICS,并全

2008-04-29 10:47:00 2559

原创 精通COBOL--16.1.2 CICS中的交易和任务

  交易(Transaction)和任务(Task)是CICS中的两个最基本的概念。这两个概念实际上也是基于CICS面向事务处理的特点而产生的。1.CICS中的交易在CICS中,一个交易是指一组相关联的操作序列或为了完成一个特定功能的一组步骤。交易通常产生于终端和数据库之间,属于一种应用过程。一个交易中既可能只有一个操作,也可能存在一组操作。例如,在ATM机上完成的取款过程便可视作一个

2008-04-29 10:46:00 1980 1

原创 精通COBOL--16.1.1 CICS简介

  CICS的全称为Customer Information Control System,即客户信息控制系统的意思。CICS最初为S/370上的一个程序产品,迄今已有将近40年的发展历史。CICS同DB2一样,也是支持多种操作系统的,但目前仍然主要用于大型机的操作系统z/OS。CICS在大型机上的版本依次经历了1.7版、2.1版、3.1.1版、3.1.2版、3.3版、4.1版等等。当CI

2008-04-29 10:44:00 2416 9

原创 精通COBOL--16.1 基本概念

  CICS作为一个独立的子系统,其本身的知识涵盖是十分丰富的。同时,CICS在大型机程序开发方面的应用也是十分广泛的。实际上,很大一部分COBOL程序都是涉及到CICS的。此处仅从应用开发的角度,简要介绍一下CICS的相关基本概念。

2008-04-29 10:43:00 932

原创 精通COBOL--第16章 CICS扩展

   CICS是大型机上的一个中间件,主要提供了一个面向事务处理的联机应用环境。在应用程序开发方面,CICS同DB2类似,通常也是以COBOL作为宿主语言的。对于要求拥有界面的在线交互式程序开发,必然需要用到CICS。

2008-04-29 10:42:00 896

原创 精通COBOL--11.8 小结

  本章在学习完单一COBOL程序的基础上,介绍了如何在多个程序之间进行互相调用的概念和方法。COBOL中程序的调用通常也称为子程序调用。本章首先介绍了子程序调用的基本作用和特点,其后分别从三个方面对子程序调用进行了讲解。第一个方面是从调用关系的角度出发,将调用过程中所涉及到的程序分为两类。其中一类为主调用程序,另一类为被调用程序。关于主调用程序和被调用程序,需要掌握各自程序中参数的定义、

2008-04-29 10:39:00 1104

原创 精通COBOL--11.7.2 嵌套子程序的调用权限

  在嵌套子程序中,程序通常只能调用其直接包含的子程序。若要调用其他子程序,必须在该子程序的标志部定义的程序名后面加上COMMON选项。例如,下面为一段嵌套子程序的大体结构。为便于观察,其中只显示其程序名及结束标志。该结构如下。PROGRAM-ID.  P.PROGRAM-ID.  P1  IS  COMMON.   END PROGRAM  P1.PROGRAM-ID.  P

2008-04-29 10:38:00 1201

原创 精通COBOL--11.7.1 嵌套子程序的结构

  所谓嵌套,实际上也可以理解为一种包含关系。在COBOL中的嵌套子程序,存在两种包含关系。其中一种为直接包含,另一种为间接包含。直接包含对应于一层嵌套,间接包含对应于多层嵌套。下面,首先看一段嵌套子程序的代码示例。IDENTIFICATION  DIVISION.PROGRAM-ID  PGM-A.PROCEDURE DIVISION.    DISPLAY  ‘THIS I

2008-04-29 10:37:00 1577

原创 精通COBOL--11.7 嵌套子程序

  嵌套子程序是指在一个程序代码段内嵌套有多个子程序。由于嵌套的子程序是写在主程序的代码内部的,因此有的书上也将其称为内部子程序。相对于内部子程序,则前面所讲解的都称作外部子程序。本节将主要就嵌套子程序的结构,及调用权限这两方面进行讲解。

2008-04-29 10:36:00 1104

原创 精通COBOL--11.6.2 动态调用程序示例

  下面通过具体的程序示例,以便更好地说明动态调用的特点及用法。首先,假设在动态调用中,某一主程序代码如下。IDENTIFICATION   DIVISION.PROGRAM-ID      DYNAMIC-MAIN.AUTHER           XXX.*ENVIRONMENT   DIVISION.*DATA  DIVISION.WORKING STOR

2008-04-29 10:35:00 1934

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除