GB/T 4092.12-1992
标准分类号
标准ICS号:信息技术、办公机械设备>>35.060信息技术用语言
中标分类号:电子元器件与信息技术>>信息处理技术>>L74程序语言
相关单位信息
首发日期:1983-12-26
复审日期:2004-10-14
起草单位:南京大学
归口单位:全国信息技术标准化技术委员会
发布部门:国家技术监督局
主管部门:国家标准化管理委员会
标准简介
GB/T 4092.12-1992 程序设计语言 COBOL 程序间通信模块 GB/T4092.12-1992 标准下载解压密码:www.bzxz.net
标准内容
1引言
1.1功能
中华人民共和国国家标准
程序设计语言COBOL
程序间通信模块
I'rogramming language COBOL
Inter-program communication moduleGB/T4092.12-92
代替GB4092.12—83
程序间通信模块提供了·个程序与另一个或多个程序通信的功能。这种通信通过下面两个厅面提供:(a)在·个运行单位内把控制从一个程序转到另个程序的能力。(b)在程序间传送参数的能力使某些数据值对被调用程序可用。
程序间通信模块也允许两程序间通过数据其享和文卷共享通信。1.2级别特征
1级程序间通信提供了把控制转到一个或多个名字在编译时是已知的程序的功能以及在这些程序之间的数据共享的功能。
2级程序间通信提供了把控制转到一个或多个名字在编译时是未知的程序的功能,以及确定控制将转到的程序的日标存储空间的可用性的能力。2级程序间通信也提供了外部属性,全程名和源程序的嵌套。
1.3语言概念
1.3.1嵌套的源程序
一个COHO)L源程序是一个语法上正确的(COBOL语句集。一个COBOL.源程序可以包含其它CC>ROI.源程序,而这些被包含的程序可以引用包含它们的程序的某些资源。当一个程序B包含在另一个程序A中,它可以是被直接包含或间接包含。如果没有被包含丁A文包食B的程序,则程序B被直接包含丁程座A中。如果存在个被包含丁A中又包含B的程序,则程序B被间接包含于程序A中。
1.3.2文卷连接区
一个文卷连接区是包含有关一个文卷的信息,且用作文卷名与物理文卷之间以及文卷名与它的相关的记录区之间的联结的存储区域。1.3.3全程名和局部名
一个数据名命名,个数据项。-个文卷名命名一个文举连接区。这些名分为全程的或同部的。个全程名可以用来引用与之相关的日标,要么从说明该全程名的程序中引用,要么从包含十说明该全程名的程序中的任何其他程序中引用。而个局部名只可从说明该局部名的程序中引用与之相关的日标。某些名总是全程的,基些名总是局部的,而某些名既可为全程的又可为局部的,这依赖上这些名在程序中的说明。国豪技术监督局1992-08-04批准1993-D5-01实施
GB/T4092.12—92
对记录名,如果在说明记录名的记录描述款中指出了GLOBAL子句,或者,在文卷节的记录捕述款的情况下,如果在与记录描述有关的文卷名的文描述款中指出了GLOBAL子,则该记录名是全程的。对数据名,如果在说明该数据名的数据描述款中指出了GLOBAL子,或者在该数据描述款下属的另一个描述款中指出了GI.OBAL 子句,则该教据名是全程的。对在-一个数据描述款中说明的条件名,如果该描述款下属于一个指出了 GLOBAL 子句的另一个描述款时,则它是全程的。但是某些特定规则有时禁止对一些特定的数据描述款、文卷描述款和记录描述款指定GLOBAI子句。对文卷名,如果在该文卷名的文卷描述款中指出了GLOBAL子句,则它是全程的。如果在一个数据描述款中说明的数据名,文卷名或条件名不是全程的,则该名是局部的。全程名可在包含在其它程序中的程序之间传逆。1.3.4外部标和内部月标
存取的数据项通常要求存储数据以特定的表示,文卷连接区通常要求存储某些与文卷有关的特定信息。与数据项或文卷连接区有关的存储对说明日标的程序来说可以是外部的或内部的。对数据项或文连接区,如果与那个标有关的存储基与运行单位相关而不悬与运行单位中的某个特定程序相关,则它是外部的。一个外部日标可被描述该目标的运行单位中的任何程序所引用。对外部口标的引总是对同一个目标的引用,在不同程序中使用各自的目标描述。在一个运行单位中,外部目标只有种表示。
一个目标,如果与它有关的存储只与描述它的程序相关联,则它是内部的。外部和内部目标既可有全程名也可有局部名。
工作存储节中描述的数据记录通过它的数据描述款的EXTERNAL子句给定外部属性。任何由从属于描述外部记录的描述款的数据描述款描述的数据项也获得外部属性。如果一个记录或数据项不具有外部属性,则它是描述它的程序的内部数据的一部分。文卷接区通过相关的文卷描述款中的EXTERNAL子句给定外部属性。如果一·个文卷连接区不具有外部属,则它对描述关文卷名的程序来说是内部的。描述为隶属于不包含EXTERNAI.子句的文卷描述款或排序-合并文卷描述款的数据记录,以及描述为隶属于这些记录的数据描述款的任何数据项,对描述该文名的程序而言总是内部的。如果在文卷描述款中包含了EXTERNAL子句,则数据记录和数据项取得外部属性。在一个程序的连接节,通信节和报表节中描述的数据记录,下属数据项以及各种有关的控制信息被认为对描述该数据的程序来说总是内部的。对连接节中描述的数据有特殊的考虑,在那里建立了所描述的数据与对其它程序可存取的其他数据项之间的联系。1.3.5公用程序和韧始程序
组成~个运行单位的所有程序可以不具有或具有一个或多个下列属性,公用的和初始的。公用程序是这样的程序,尽管它直接包含在另一个程序中,但它可被直接或间接包含在另个程序中的任何程序所调用。公用腾性通过程序的标识部中指定COMMONV子句状得。COMMON子句简化了将被包含在同一程序中的所有程序使用的子程序的写。初始程序是这样的程序,当它被调用时,它的程序状态被初始化。于是,个初始程序且被调用,则它的程序状态与在那个运行单位中第一欲被调用时的状态一样。在初始化个初始程序的处理中,那个程序的内部数据被初始化,因此描述中含有VALUE子句的程序的内部数据顷初始化为所定义的值,但描迷中不含VALUE子句的数据项初始化为一个元定义的值。与程序有关的内部文卷连接区的文卷不处于打开方式。程序中包含的所有FERFORM语句的控制机制被为它们的初始状态。初始属性通过在程序的标识部中指定INITIAL子句获得。1.3.6共享数据
GB/T 4D092.12—92
个运行单位中的两个程序在下列情况下中可以引用公用数据:(1)如果程序中描述了一外部数据记录,则可从该程序中引用该外部数据记录的数据内容。(2)如果一个程序包含在另··个程序中,那么这两个程序都可引用这样的数据,该数据在包含程序中或在直接或间接地包含该被包含程序的任何程序中具有全程属性(3)从调用程序到被调用程序通过引用传递参数的机制建立公用数据项:被调用程序可以使用不同的标识符,去引用调用程序中的数据项。1.3.7共享文卷
在个运行单位中的两个程序在下列情况下可以引用公用文卷连接区:(1)外部文卷连接区可由描述该文卷连接区的任何程序引用。(2)如果个程序包含在另一个程序中,那么这两个程序都可通过在包含程序中或在任何直接或间接地包含该包含程序中引用有关的仑程文誉名来引用公用文卷连接区,1.3.8名的作用域
当程序直接或间接包含在别的程序中时,各个程序可以使用相同的用户自定义字去命名对象,而与其他程疗使用这些用户自定义字无关(见GB/T4092-1中6.4.2.2.1.1用户自定义字)。当存在相同命名的对象时,程序对这种名字的引用,即使它是不同的用户自定义字类型,也是对那个程序描述的对象的引用,而不是对在另一一个程序中描述的具有相同名字的对象的引用。下列类型的用户白定义字只可由说明该用户自定义字的程序中的语句和描述款引用:cd名
下列类型的用户自定义字可由任何CO)RO),程序引用,假设编译系统支撑相应的库或其他系统并且所引用的实体对那个系统是已知的库名
正文名
当在还信节中定义了下列类型的用户自定义字时,它们只可由包含该通信节的程序中的语句和描述款引用:
条件名
数据名
记录名
当在配置节巾定义了下列类型的名时,它们只可由包含配管节的那个程序或由该程序所包含的程序中的语句或描述款引用:
字母名
类别名
条件名
助忆名
符号字符
当上列条件不适用时,对说明和引用,特定的约定将应用于下列类型的用户自定义字:条件名
数据名
文卷名
位标名
程序名
记录名
报表名
1. 3. 8. 1 程序名的约定
GB/T4092.12—92
.个程序的程序名在该程序的标识部的程序标识(PROGRAM-ID))段中说明。程序名只可由CALL评句、CANCEL语句和程序未端标题引用。分配给组成一个运行单位的程序的程序名不必唯一,促是,当一个运行单位的两个程序同名时,这两个程序中至少有一个直接或间接包含在另·个分别编译的程序中,而该分别编译的程序不包含这两个程序中的另一个下列规则规定了程序名的作历喊:(1)如果该程序名是不具备公用属性而又被直接包含在另一个程序中的程序的名字,则该程序名只可由那个包含该程序的程序中的语句所引用。(2)如果该程序名是具备公用属性而又被直接包含在另一个程序中的程序的名字,则该程序名只可出那个包含该程序以及任何被直接或接包含于其中的程序(但具有公用属性的程序及包含于其中的程序除外)中的语句所引用,
(3)如果一个程序名是一个分别编译的程序的名字,则该程序名可由运行单位中的任何其它程序(除去它直接或间接包含的程序)中的语句引用。1.3.8.2条件名、数据名.文卷名、记录名和报表名的约定当条件名、数据名、文卷名、记录名和报表名在一个源程序中被说明时,这些名只可出该源程序引用,但个或多个名是全程名或该程序包含其他程序时的情况除外由单个程序分配的作为条件名、数据名。文卷名、记录名和报表名的唯--性的管理要求在这说明的其他部分解释(见GB/T1092.1中6.4.2.2.1.1用户自定义字)。一个程序不能引用它所包含的托一程序中说明的条件名、数据名、文卷名,记录名和报表名。一个全程名可在说明它的程序中或在直接或间接被包含下该程序的任何程序中引用。当个程序B被直接包含在另一个程序^中时,两个程序可使用同一个用户定义字定义的个条件名、数据名、文卷名、记录名或报表名。当在程序B中引用这样的重名时,使用下列规则决定所引用的对象:
(1)用丁决定所引用的对象的名集合由程序B中定义的所有名,在程序A及任何直接或间接包含A的程序中定义的全程名组成。使用这个名集合·采用通常的限定规则及其他使引用唯的规则,直至标识出一个或多个对象为止。(2)如果只标识山一个对象,则它就是引用的对象。(3)如果标识出的对象多于1个,则具有局部于程序B的名的对象不会超过1个。如果零个或1个对象有局部于程序B的名,则下列规则适用:a、如果名在程序B中说明,则程序B中的对象是引用的对象。b、否则、如果程序A包含在另一个程序中,则引用的对象是:1)如果该名在程序A中说明,则为程序A中的对象,2)如果该名个程序A中未说明而在包含程序A的程序中说明,则为包含程序中的对象。这个规[则适用于更上一层的包含程序,直至找到一个唯一的有效的名为止。1.3.8.3位标名的约定
如巢个具有外部或全程属性之或二老兼有的数据项包含一个使用位标的表,则该位标也相应地具有属性之或二荐。因此,该位标名的作用域与命名该表(表的位标由该位标名命名)的数据名的作用域租间,并且该数据名的名的作用域规则适用于该位标名。位标名不可以被限定。嵌套源程序
一般描述
GB/T4092.12—92
个COBOL源程序是语法正确的COBOL语句的集合。一个COBOL源程序可以包含其它COBOL源程序,并且这些被包含的程序可以引用包含它们的程序的某些资源。2.2组织
除COPY和REPLACE语句及程序末端标题外,一个COBOL源程序的语句、描述款,段和节分为四个部,以下列次序排列:
标识部
环境部
数据部
过程部
一个COBOL源程序的未尾由程序末端标题(如果指定的话),或以无附加源程序行来标志。2.3结构
下面给出组成一个COBOL源程序的描述款和语句出现的一般格式和次序。通用术语标识部、环!境部,数据部、过程部、源程序和程序末端标题分别表示COBOL程序的标识部,COBOL程序的环境部、COBOL程序的数据部、COBOL程序的过程部COBOL源程序和COBOL程序的程序未端标题。2:3.1—般格式
标识部
[环境部]
[数据部]
[过程部]
[源程序]
[程序末端标题]
2.3.2语法舰则
(1)程序末端标题在下列情况下必须存在:a.
该COBOI.源程序包含一个或多个其它COBOL源序,或该C()B>I,源程序包含在另一个COBOL源程序中。一般规则
(1)程序中一个部的开始由适当的部首指出。一个部的结束由下列之一指出:程序中后继部的部首。
指出另个源程序开始的标识部首。程序末端标题。
d、在其后无其它源程序行出现的那个物理位置。(2)被直接或间接包含在另一个程序巾的COBOL源程序(被认为层一个单独的程序)的规格说明可以额外地引用在包含程序中定义的某些资源。(3)由编译包含在另:个程序中的一个程序得到的月标代码,在规格说明方面被认为是与由编译包含程序产生的月标代码不可分割的。2.4程序的初始状态
程序的初始状态是该程序在运行单位中第一次被调用时的状态。2.4.1程序的特性
(1)程序中包含在工作存储节和通信节中的内部数据被初始化。如果在数据项描述中使用了GB/T 4092. 12-92
VALUE子句,则该数据项初始化为所定义值。如果一个数据项无VALUE子句,则该数据项的初始值无定义。
(2)与该程序有关的具有内部文卷连接区的文卷不处于打开厅式。(3)该程序中所有PERFORM语句的控制机制被置为它们的初始状态。(4)包含在该同一程序中由ALTER语句引用的GOTO语句被置为它的初始状态。2.4.2初始状态程序
一个程序在下列情况下处于初始状态,(1)在一-个运行单位中该程序第一次被谢用。(2)在引用该程序的CANCEL语句或引用直接或间接包含该程序的程序的CANCEL语句执行之后第一次调用该程序。
(3)每次调用具有初始属性的程序。(4)在引用具有初始属性的程序或引用直接或间接包含该程序的CALL语句执行后,第:次调用该程序。
2.5程序末端标题
2.5.1.功能
程序未端标题指出右名的COBOL源程序的结束。2.5.2一般格式
END IROGRAM 程序名。
2.5.3语法规则
(1)程序名必须符合形戚用户自定义字的规则。(2)程序名必须与前面 FROGRAM-II)段中说明的某程序名相同。(3)如果说明一个特定的程序名的PROGRAM-ID段在说明和引用另..个程序名的PRO-GRAM-ID 段和程序末端标题之问陈述,则引用较前程序名的程序末端标题必须先于引用较后程序名的程序末端标题出现。
2.5.4一般规则
(1)程序末端标题必须出现在每一个程序中,不管它包含另一个程序还是被包含在另一个程序中
(2)程序末端标题指明所指定的COBOL源程序的结束。(3)如果一个以程序末端标题终结的程序包含在另一个程序中,则下个语句必须要么是标识部首,要么是终结外包程序的程序末端标题。(4)如果以程序来端标题终结的程序并不包含在另一个程序中,并且下一个源语句是一条COBOI语句,则该语句必须是和以程序末端标题终结的程进行分别编译的程序的标识部首。程序间通信模块的标识部
3.1PROGRAM-ID段和嵌套源程序
3. 1. 1功能
PROGRAM-ID段指定标识-个程序的名并把所选取的程序属性指派给该程序。3-1.2一般格式
PROGRAM ID.
3.1.3语法规则
程序名
COMMON
INITLAL
(1)程序名必须符合形成用户自定义字的规则。PROGRAM
GB/T 4D92. 12—92
(2)·:个包含在另个程序中的程序不可指派马包含它的分别编译的程序所包含的任何其他程序名相同的名。
(3)任选的COMMON子句仅当该程序包含在另-个程序中时使用。3.1.4—般规则
(1)程序名标识与某…特定程序有关的源程序,目标程序和所有列表,(2)COMMON子句指出该程序是公用的。一个公用程序包含在另一个程序中但可以从不是包含它的程序中调用它(见1.3.8名的作用域)。(3)INITIAI子句指出该程序是初始的。当一个初始程序被调用时,它及任何被它包含的程序敏置为它们的初始状态(见2.4程序的初始状态)。4程序间递信模块的数据部
4.1连接节
连接节位丁源程序的数据部。连接节出现在被调用程序中,描述由调用程序和被调用程序引用的数据项。
程序中的连接节当且仅当在下列情况下有意义:对象程序在.CAII.语句的控制下起作用,调用程序中的CALL语句包含USING短语。连接节用来描述通过调用程序使之成为可用,但在调用和被调用程序中都将引用的数据。在被调用程序的连接节中描述的数据项和调用程序中描述的数据项之间建立对应关系的机制在其他地方描述(见5.1过程部首和5.2CALL语句)。在位标名情况下,不建立这样的对应关系,而且被调用程序和调用程序中的位标名总是指向不同的位标,连接节的结构与前面描述的工作存储节相同,以节首开始,后跟独立数据项和/或记录描述款。连接节的一-般格式如下所示。
LINKAGE
77层描述款
SECTION
L记录描述款一
如果连接节中的数据项被一个非被调用程序的程序存取,结果无定义。4.1.1独立连接存储
连接节中彼此无层次关系的数据项不必组成为记录,它们被划分和定义为独立初等项,每个这样的项在以特定层号77开始的单独的数据播述款中定义。在每个数据描述款中,下列数据子句是必需的:层号77
数据名
PRCTURE子句或USAGEISINDEX子句。其它数据描述子句是任选的,在露要时可用来完备数据项的描述。4.1.2连接记录
连接节中彼此具有一定层次关系的数据元素必须按照组成记录描述的规则组成记录。连接节中与其他数据项无层次关系的数据元素也可描述为单个初等项的记录。4.1.3初值
连接节中除条件名描述款(88层)外不可指定VALUE子句。4.2程序间通信模块的文卷描述款4.2.1功能
在程序间通信模块中,文卷节中的文卷描述款确定文卷连接区、相关的数据记录及相关的数据项的内部或外部属性,文卷描述款也决定个文卷名是局部名还是全程名。4.2.2
一般格式
格式1:
FD文卷名 1
EXTERNAL
GB/T 4092. 12 -92
CONTAINS[整数1
TO 数 2
RECORDS
CHARACTERS
CONTAINS整数3CHARACTERS
RECORD
ISVARYINGINSIZE[[FROM熬数4][TO 整数 5] CHARACTERSJ[DEPENDING ON 数据名1[CONTAINS 整数 6 TO 整数 7 CHARACTERSRECORD IS
RECORDS ARE
VALUE'OF
STANDARD
IOMITTED
「数据名2]
【实现名】IS【
字值1
RECORDS
RECORDS ARE!
数据名41
LINAGE IS
整数8
[LINES AT TOP|数据名6]
[CODE-SETIS字母表名17
格式2:
FD 文卷名 1
[ISEXTERNAL
GLOBA!
(数据名3]
了数据名51
[WITH FOOTING AT.
整数9
LINES AT BOTTOM
BLOCK CONTAINS [整数】
整数2
数据名71
整数11
RECORDS
CHARACTERS
CONTAINS 整数 3 CHARACTERS
RECORD
IS VARYING IN SIZE [[FROM 整数 4][TO 整数 5
[DEPENDINGON数据名1]
CHARACTERST
(CONTAINS整数6 TO 整数7 CHARACTERSRECORD IS
RECORDS ARE
[STANDARD
OMITTED
格式3:
VALUE OF
FD文卷名1
[IS EXTERNAL ]
FIS GLOBALJ
GB/T 4092. 12—92
【实现名】TS
RECORDIS
RECORDS AREbZxz.net
数据名21
学值1
(数据名3)
BLOCK CONTAINS [ 整数 1 TO] 整数 2RECORDS
CHARACTER
(CONTAINS 整数3 CHARACTERS
RECORD
IS VARYING IN SIZE [[FROM 整数 4 TO 整数CHARACTERSJDEPEADING ON 数据名 1]ICONTAINS 整数 6 TO 整数7 CHARACTERSRECORD IS
(STANDARD)
IRECORDS ARE: IOMITTED
YALUE OF
实现名1IS
[CODE-SETIS字母表名1]
[REPORT IS
[REPORTS ARE,
4.2.3语法规则
数据名21
字值1
f报表名 1}-.
(1)格式1是顺序文卷的文卷描述款。在这个文卷描述款中特定子句的可用性侬赖于实现所支撑的顺序J-模块的级别(见GB/T4092.4)。(2)格式2是相对文卷或素引文卷的文卷描述款。在这个文卷描述款中特定子句的叮用性依赖于实现所支撑的对1-O模块或索引I-O模块的级别(见GB/T1092.5和GB/T4092.6)。(3)格式3是报表文卷的文卷描述款。报表文卷的文卷描述款的可用性取决丁实现是否支撑报表编制模块(见GB/T4092.8),
4.2.4一般规则
(1)妞果顺序文卷的文裁描迷款包含LINAGE子句和EXIERNAL子句,卿LINAGECOUNTER数据项是一个外部数据项。如果顺序文卷的文卷描述款包含LINAGE子句和GLOBAL 子句,则特殊寄存器 LINAGE-COUNTER是全程名。(2)EXTERNAL 子句在 4.5给出。GLOBAL 子句在 4. 6给出。文卷描述款中的所有其他子句在适当模块的说明中给出。
43程序间通信模块的数据描述款4.3.1功能
程序间通信模块中,工作存储节或文卷节中的01层数据描述款决定数据记录及其下属数据项具有局部名还是全程名。
程序间通信模块中,工作存储节中的01层数据描述款决定数据记录及其下属数据项具有内部性还是外部属性。
一般格式
5数据名1
LFILIER
[REDEFINES
'IS EXTERNAL
[IS GLOBAL
[PICTURE
USAGE IS]
[SIGN IS
GB/T4092.12—92
数据名2]
BINARY
COMPUTATIONAL
DISPLAY
PACKED-DECIMAL!
LEADING
TRAILING
OCCURS整数2TIMES
TASCENDING
IDESCENDING
[SEPARATE CHARACTER
KEY IS (数据名 3)
[INDEXED BY位标名1}
OCCURS整数-1TO整数2TIMES
DEPENDINGON数据名4
ASCENDING
IDESCENDING
KEYIS(数据名3)
INDEXEDBY:(位标名1)
[SYNCHRONIZED)
LJUSTIFIED
[BLANK WHEN ZERO]
[VALUE IS 字值 1].
4.3.3语法规则
(1)数据描述款中特定子句的可用性依赖于实现所支撑的核心模块的级别(见核心模块)。(2)EXTERNAL子句只可在工作存储节中层号为01的数据描述款中指出。(3)EXTERNAI,了句和REDEFINES子句在一个数据描述款中不可同时指出。(4)GLOBAL子句只可在层号为01的数据描述款中指出。(5)对任何包含GLOBAL子句或EXTERNAL子句的描述款,以及与包含EXTERNAL子句或GLOBAL子句的文卷描述款相关的记录描述,都必须指出数据名1。4.3.4
一般规则
1)EXTERNAL子句在4.5中给出。GLOBAL 于句在4.6中给出数据描述款的所有其他子句在核心模块中给出。
4.4程序问通信模块的报表描述款4.4.1功能
GB/T 4092.12--9.2
程序间通信模块中,报表节中的报表描述款决定,个报表名是局部名还是全程名。4.4.2一般格式
RD报表名1
[IS GLORAT
[(ODE 字值 1]
CONTROL IS
ICONTROLS ARE!
FIIMIT' Is
数据名1}
[FINAL[数据名]
整数1
LIMITS ARE
[HEADING整数2]
FIRSTDETAIL整数3JLASTDETAIL整数4][FOOTING 整数 5]
4.4.3语法规则
(1)报表描述款的可用性依赖于实现是否支撑报表编制模块。4.4.4
(1)如果报表描述款包含GLOBAL子句,则特殊寄存器LINE-COUNTER和FAGECOUINTER是全程名。
(2)GLOBAL了可在4.6中给出。报表描述款中的所有其它子旬在报表编制模块中给出。4.5EXTERNAL字
4.5.1功能
EXTERNAL了句指明一个数据项或一文卷连接区是外部的。一个外部数据记录的成分数据项利组合数据项对运行单位中描述那个记录的所有程序是可用的。4.5.2
般格式
IS EXTERNAL
4.5.3语法规则
(1)EXFERNAL了句只可在文卷描述款或在工作存储节的记录描述款中指定。(2)在同一个程序中,作为层号为01 且包含EXTERNAI.子句的描述款的主怀指定的数据名不可与任何其他包含EXTERNAL 子句的数据描述款指定的数据名相同。(3)在包含FXTFRNAI.子句的数据描述款及其下属的数据描述款中不可使用VALUE了句。仙对与这些数据描述款相关的条件名可使用VALUE子句。4.5.4一般规则
(1)由数据名子句命名的记录中所包含的数据是外部的,它们可被运行单位中描述它或服从下面的一般规则地重定义它的任何程序存取和处理。(2)在一个运行单位中,如果两个或多个程序描述广同一个外部数据记录,则相关的记录描述款的各个记录名必须相同,且记录必须定义相同个数的标准数据格式字符。促是,描述外部记录的程序可以包含个包括REI)FFINES子句的数据描述款,它重定义该完整的外部记录而这完整的重定义不必在运行单位中的其他程序中同样出现(见GB/T4092.2中5.10REDEFINES了们)。(3)EXTERNAL子)的使用并不意味着相关的文卷名或数据名是一个全程名(见4.GG).OBAI了句。
(4)与这个描述款相关的文卷连接区是外部文卷连接区4.6GLOBAL字句
4.6-1功能
GB/T 4092. 12—92
GLOBAL子句指明数据名、文卷名或报表名是全程名。一个全程名对包含于摘述它的程序中的每个程序均是可用的。
4.6.2般格式
IS GLOBAL
4.6.3语法规则
(1)GLOBAL子句只可在文卷节或工作存储节的层号为01的数据描述款中指出,或在文卷描述款中或报表描述款中指出。
(2)在同--个数据部中,在指定了相同数据名的两个数据项的数据描述款中不可包括GLOBAL子句。
(3)如果为若干文卷指定了SAMERECORDAREA子句,则这些文卷的记录描述款或文卷描述款中不可包括GLOBAL子间。
4. 6. 4一般规则
(1)使用GLOBAL子句描述的数据名、文卷名或报表名是一个全程名。下属丁一个全程名的所有数据名是全程名。与全程名相关的所有条件名是全程名。(2)直接或间接包含在描述余程名的程序中的程序的语句可不再描述而直接引用该名(见1.3.8名的作用域)。
(3)如果在包含REDEFINES子句或RFNAMES子句的数据描述款中使用了GLOBAL子,只有REDEFINES或RENAMES子句的主体具有全程属性,5序间通信模块的过程部
5.1过程部前
过程部由下列部首来标识,并且必须以它开始:PROCEDURE DIVISION [ USING 数据名 1) ]USING短语只在该程序将由 CALL 语句调用目, CALL 语句中包含 USING 短语才是必须的。过程部首的USING短语标识出程序将使用的由调用程序传递来的参数的名字。传递给被调用程序的参数在调用程序的CALL语句的 USING短语中标识出来,两个名字表之间基于位置关系建立对应。
数据名1必须在连接节中以01层描述款或7了层播述款定支。感:特定的用户自定义学不可以数据名1的形式出现多次。数据名 1的数据描述款不可含有REDEFINES子句,但是,数据名1可以在连接节中的其他位置作为REDEFINES子句的客体出现。有下列附加的规则要应用:
(1)如巢CALL语句中对于对应数据项的引用把参数说明为按内容传递,则在CAIL.语句执行时把数据项的值传递过去并且送入逆接节中为数据名1说明的具有该属性的系统定义的存储项中。CALL语句的BYCONTENT短语中的各个参数的数据描述必须与过程部首的USING短语中对应参数的数据描迷完全相同,即不必转换,扩展或截断(见5.2CALI.语向)(2)如果CALL语句中对于对应数据项的引用把参数说明为按引用传递,则目标程序执行时就好象被调用程序中的数据项与调用程序中的数据项占据相问的存储区域。被调用程序中的数据项描述与调用程序中对应的数据项描述必须描述相同个数的字符位置。(3)被调用程序执行的任何时刻,对数据名1的用一定按照被调用程序连接节中给出的数据项描述来进行。
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。