第一章 观念入门 1
1.1 概览:WANG 2200 VS COBOL语言 1
1.2 2200 VS硬体配置 2
1.3 2200 VS COBOL程式之键入与编译 2
1.4 LOG ON系统与键入COBOL原始程式 3
图1-1 USE I.D.及通行码画面 4
图1-2 处理控制画面 5
图1-3 程式执行画面 6
图1-4 输入定义画面 7
图1-5 原始程式编辑特别画面 8
图1-6 原始程式编辑功能画面 9
1.5 编译COBOL原始程式 10
图1-7 原始程式CREATE选择画面 11
图1-8 编辑选择画面 12
1.5.3 输出定义(OUTPUT Definition) 13
1.5.2 输入定义(INPUT Defintion) 13
1.5.1 选择(Options) 13
图1-9 利用COBOL编译程式直接编译的执行画面 14
图1-10 目的程式输出定义画面 15
图1-11 副程式的连接画面 16
图1-12 程式模组连接画面 17
图1-13 连接输出画面 18
图1-14 连接选择画面 19
1.5.5 由EDITOR直接编译原始程式 20
1.5.4 连接副程式的方法 20
图1-15 以EDITOR执行COBOL编译时的画面 21
图1-16 显示回覆码时之画面 22
1.6 执行COBOL目的程式 23
1.8 COBOL语言结论 24
1.7 2200 VS之档案型别 24
1.9 格式与标记(Format ant Notation) 25
1.10.1 字元串(Character-String)与隔离符号(Separator) 27
1.10 COBOL语言使用之字元集 27
1.10.2 标点所使用之字元 29
1.10.3 编辑所使用之字元 29
1.10.4 算术运算字元 30
1.10.5 关系及条件字元 30
1.11 COBOL语辞与名称 31
1.11.1 COBOL语辞与自定语辞(User-Defined Word) 31
1.11.2 阶层号数 33
1.11.3 保留字 33
1.11.5 常数(Constants) 34
1.11.4 名称(NAMES) 34
1.12 COBOL语言参考格式(Reference Format)之应用 38
图1-17 COBOL语言的COD ING FORM 39
1.12.1 秩序号码(Sequence Number) 40
1.12.2 A区与B区 40
1.12.3 连续线(Line of Continuation) 42
1.12.4 空白列(Blank Lines) 43
1.12.5 宣告与注释列(Declarative and Comment Lines) 43
第二章 档案结构与存取方式 45
2.1 简介 45
2.1.1 开档与关档(Opening And Closing a File) 46
2.1.2 输入输出状态 47
2.1.3 CURSOR POSITION 47
2.2 档案结构 47
2.2.1 循序档 47
2.2.2 索引档 48
2.3 录的型式(Record Type) 49
2.3.1 固定长度的录 49
2.3.2 变动长度的录 50
2.3.3 压缩的录(Compressed Record) 51
2.4 COBOL档案处理环境 51
2 4.1 档案处理所需的FILE-CONTROL子句 52
2.4.2 档案处理所需的FD资料 53
2.4.3 建档 54
2.4.4 利用VALUE OF子句设定档案位置 54
2.4.5 启始空间的设定(Specifying Initial Space Allocation) 55
2.5 COBOL循序档的处理 56
2.5.1 COBOL循序档的循序存取方式 56
2.5.2 COBOL循序档的随机存取方式 58
2.5.3 COBOL循序档的动态存取方式 59
2.6 COBOL索引档的处理 60
2.7 COBOL交替索引档的处理 62
2.8 共用档(SHARED FILES) 64
2.8.1 共用索引档 65
2.8.2 共用循序档 66
2.9 COBOL档案执行绩效的选择 67
2.9.2 索引档案的缓冲区 68
2.9.1 循序档案的大缓冲器 68
2.9.3 设定索引及资料组合密度 71
2.10 COBOL档案有关错误的处理 72
2.11 列表档的处理(Print File Processing) 76
2.11.1 定义COBOL列表档 76
2.11.2 利用BEFORE/AFTER ADVANCING子句控制列表机 77
2.11.3 利用象徵常数控制列表机 78
2.12.2 利用LABEL RECORDS子句处理磁带标记 80
2.12.1 磁带标记的处理(Tape Label Processing) 80
2.12 磁带档的处理 80
3.1 概论 83
第三章 识别部 83
3.2 结构(ORGANI ZAT ION) 83
3.2.1 程式识别段(PROGRAM-ID PARAGRAPH) 84
PROGRAM-ID Paragraph 84
3.2.2 可以取舍的段(OPTIONAL PARAGRAPH) 85
Comment-entry Paragraphs 85
3.2.3 编译日期段(DATE-COMPILED PARAGRAPH) 86
4.1 概说 87
第四章 设备部 87
4.2 结构 88
OBJECT-COMPUTER Paragraph 90
SOURCE-COMPUTER Paragraph 90
4.2.1 组态节 90
SPECIAL-NAMES Paragraph 91
EIGURATIVE-CONSTANS Paragraph 92
FILE-CONTROL Entry-for Consecutive Files 94
4.2.2 输入输出节 94
FILE-CONTROL Paragraph 94
FILE-CONTROL Entry-for Indexed Files 95
I/O-CONTROL Paragraph 102
第五章 资料部 103
5.1 与电算机型式独立的资料描述(Computer Independent Data Description) 103
Logical and Physical Records 103
5.1.1 逻辑录与档案概念(Logical Record and File Concept) 103
Concept of Levels 104
5.1.2 阶层的观念(Concepts of Levels) 104
5.2 资料部结构 105
File Description Entry 105
5.2.1 档案节(FILE SECTION) 106
BLOCK CONTAINS Clause 107
DATA RECORDS Clause 108
LABEL RECORDS Clause 109
RECORD CONTA INS Clause 109
VALUE OF Clause 110
5.2.2 工作储存节(WORKING-STORAGE SECTION) 113
5.2.3 资料描述项(The Data Discription Entry) 115
LEVEL-NUMBER Clause 116
DATA-NAME or FILLER Clause 118
PICTURE Clause 119
REDEF INES Clause 120
SIGN Clause 122
USAGE Clause 124
SYNCHRONIZED Clause 124
VALUE Clause 126
5.2.4 联系节(LINKAGE SECTION) 128
Linkage Section 128
第六章 资料类别及资料之移送 131
6.1 资料类别与移送时之关系 131
6.2 资料类别(Class of Data) 131
Classes of Data 131
Algebraic Signs 132
Character Representation and Radix 132
6.3 字元表示法与语根 132
6.4 算术符号(Algebraic Signs) 132
6.5 标准排列规则 133
Standard Alignment Rules 133
BLANK WHEN ZERO Clause 146
6.6 非标准排列规则 146
6.7 大量资料处理 147
JUSTIFIED Clause 147
OCCURS Clause 148
6.8.1 合格名称与注标(Qualification And Subscripting) 150
6.8 资料参照方法(Methods of Data Refererce) 150
Qualification and Subscripting 150
6.8.2 指标(Indexing) 151
Indexing 151
6.8.3 条件名称(Condition-Name) 152
Condition Names 152
6.8.4 识别号(Identifier) 153
Identifiers 153
第七章 程序部 155
Procedure Division Header 155
7.2 结构 155
7.1 概说 155
Procedure Division Body. 156
Statements and Sentences 156
7.2.2 指令与句子(Statements and Sentences) 156
7.2.1 程序体(PROCEDURE DIVISION BODY) 156
USE Statement 159
7.3 程序部宣告 159
7.4 基本动作叙述指令 161
OPEN Statement-for Consecutive Files 161
图7-1 CONSEC程式第一个显示之画面 165
图7-2 CONSEC程式所显示的第二个画面 166
图7-3 CONSEC程式所显示的第三个画面 167
OPEN Statement-for Indexed Files 168
图7-4 NAMEADDR档案中的最终资料,仅有一笔 170
READ Statement-for Consecutive Files 171
READ Statement-for Indexed Files 176
PERFORM Statement 179
EXIT Statement 183
SET Statement 184
SEARCH Statement 186
MOVE Statement 189
WRITE Statement-for Consecutive Files 193
WRITE Statement-for Indexed Files 200
CLOSE Statement-for Consecutive Files 203
CLOSE Statement-for Indexed Files 204
STOP Statement 204
ACCEPT Statement 207
8.2 少数资料输出入指令 207
8.1 少数资料输出入的方式 207
第八章 少数资料之输入与输出 207
DI SPLAY Statement 209
9.1 算术表示式(Arithmetic Expressions) 213
第九章 算术表示式 213
9.2 算术运算子(Arithmetic Operators) 213
9.3 排列与定数值规则(Formation and Evaluation Rules) 214
ROUNDED Phrase 215
SIZE ERROR Phrase 215
9.4 算术指令 215
ALTER Statement 216
ADD Statement 216
SUBTRACT Statement 217
MULTIPLY Statement 219
DIVIDE Statement 220
COMPUTE Statement 222
第十章 与IF指令有关的条件 225
10.1 程序逻辑类别 225
IF Statement 226
10.2 决定分岐点之指令 226
10.3.1 简单条件(Simple Conditions) 229
10.3 条件(Conditions) 229
Simple Conditions 229
Complex Conditions 233
10.3.3 负简单条件(Negated Simple Conditions) 233
10.3.2 复合条件(Complex Conditions) 233
10.3.4 组合与负组合条件(Combined and Negated Combined Conditions) 234
Condition Evaluation Rules 235
10.4 定值规则(Evaluation Rules) 235
10.5 缩写的组合关系条件(Abbreviated Combined Relation Conditions) 236
11.1 前言 239
COPY Statement 239
第十一章 档案控制指令 239
11.2 便利程式撰写之指令 239
ENTER Statement 240
11.3 消除档案内RECORD的指令 241
DELETE Statement 241
REWRITE Statement-for Consecutive Files 242
11.4 修改档案内RECORD的指令 242
REWRITE Statement-for Indexed Files 245
11.5 控制档案的指令 246
START Statement-for Consecutive Files 246
START Statement-for Indexed Files 247
第十二章 主程式与副程式的连接 251
12.1 主程式连接副程式之方式 251
CALL Statement 251
12.2 副程式被主程式连接之方式 252
EXIT PROGRAM Statement 253
12.3 COBOL主程式呼叫其他语言副程式之方法 256
第十三章 改变执行路程及结果的指令 261
13.1 前言 261
13.2 改变执行程序的指令 ALTER 261
GO TO Statement 262
13.3 转移程序执行控制权的指令GO TO 262
13.4 登录或代替资料项字元的指令INSPECT 263
INSPECT Statement 263
14.2.1 资源(Resources) 269
第十四章 进阶共用环境 269
14.1 进阶共用之需求 269
14.2 进阶共用之观念 269
14.2.3 事先声明(Preclaim)与需要时声明(Claim-as-needed)策略 270
14.2.2 HOLD以供更新(Update)与读取(Retrieval) 270
14.3.1 HOLD指令 271
14.3 COBOL的进阶共用 271
14.2.4 资源要求冲突的解决 271
HOLD Statement 271
14.3.2 HOLD LIST指令 275
14.3.3 HOLD EXTENSION-RIGHTS指令 276
FREE Statement 278
14.3.4 FREE指令 278
14.4 进阶共用撰写时的建议 279
14.5.1 通用的EXTENSION-RIGHTS 280
14.5.2 僵局的恢复 280
14.5 COBOL进阶共用未来的改进 280
15.1 简介 281
15.2 WORKSTATION FILE 281
第十五章 工作终端机(WORKSTATION)的程式设计 281
15.4 WORKTATION的写码(Coding) 282
15.3 栏属性字元 282
15.4.1 FAC与FIGURATIVE-CONSTANTS Paragraph 282
15.4.2 FILE-CONTROL Paragraph 283
15.5 CRT的控制 284
15.5.1 方法一,利用特定的Compiler子句控制CRT 284
图15-1 ACROSS程式执行时在CRT出现的画面 288
ROW Clause 289
COLUMN Clause 289
RANGE Clause 290
OBJECT Clause 292
SOURCE or VALUE Clause 292
OCCURS Clause 294
图15-2 DOWNT程式执行时CRT所显现的画面 296
图15-3 ACRSDOWN程式执行时所产生的画面 297
图15-4 WSOCCUR程式执行时於CRT上所显现的画面 301
DISPLAY AND READ Statement 302
15.5.2 方法二,经由WORKSTATION FILE控制CRT 313
15.5.4 WRITE控制字元及ORDER AREA的说明 320
15.5.3 DISPLAY AND READ与整个萤幕输出入的共存 320
15.5.5 工作终端机操作者与电算机的连系 330
16.2.1 三角编号法简介 333
16.1 前言 333
16.2 王安中文三角编号法 333
第十六章 三角号码(TCC)与中文档案结构 333
16.2.2 三角编号法的优点和用途 334
16.3 辅助「三角编号基本符号」记忆法 336
16.4 三角编号法规则 338
16.4.1 取角原则 338
16.4.2 取形原则 340
16.4.3 同号字、异体字的处理 344
16.5 王安中文简易输入法 345
16.5.1 简介 345
16.5.2 基本符号 345
16.5.3 输入法则 345
16.5.4 基本符号之异体字(括弧中为举例字) 347
图16-1 PARALLEL DIC的PATTERN的排列 350
图16-2 SERIAL DIC的PATTERN的排列 351
16.6.2 档案结构 352
16.6.3 档案名称及其所属之LI BRARY 352
16.6.1 档案内容 352
16.6 字典档案内容与结构 352
16.7 中文系统公用程式 353
图16-3 UPDICBO的输入档案画面 354
图16-4 UPDICBO选择修改路径的画面 355
图16-5 UPDICBO供修改的字型画面 356
图16-6 执行RAMGEN时所产生的操作画面 357
图16-7 PRTDICBO用以设定列表秩序及其相关资料之画面 359
图16-8 PRTDICBO执行时所需的DIC档案输入画面 360
图16-9 执行DISPDIC首先出现用以设定暂停时间的画面 361
图16-10 CDATENTR的选择画面 362
图16-11 定义资料档与CONTROL档的画面 363
图16-12 执行PDISPLAY的输入画面 364
图16-13 CREPORT的功能选择画面 366
图16-14 CREPORT报表定义画面 367
图16-15 CSORT功能选择画面 369
图16-16 CSORT输入档案画面 370
图16-17 CSORT定义中文SORT的位置,长度及秩序的画面 371
图16-18 CSORT完成时的输出画面 372
图16-19 IMENU的功能选择画面 374
图16-20 IMENU设定功能键的画面 375
图16-21 IMENU完成後的中文画面 376
图16-22 PRINTUTY程式执行时供SPOOL档案转换的画面 377
图16-23 CRTGEN的使用流程图 378
图16-24 CRTGEN功能图 379
图16-25 CVDMENU的选择画面 381
图16-26 CVD2TO3V输入资料档案的画面 383
图16-27 CVD2TO3V的转换位置及长度的输入画面 384
图16-28 CVD2TO3F的转换位置与长度的输入画面 385
图16-29 @GENDIC@维护字型档的选择画面 386
图16-30 @GENDIC@的维护、修改、删除字型的画面 387
图16-31 列印字型档所用的列表机的选择画面 388
图16-32 DICPRUTY选择所要列印的字型档的选择画面 389
图16-33 DICPRUTY列印字型档的秩序选择画面 390
图16-34 DICPRUTY所印出之中文字型 391
17.2 2221 VC及2 261 VC列表机 393
17.1 前言 393
17.2.1 性能及限制 393
第十七章 中文报表之印刷 393
17.2.2 程式控制码(Programming Control Code) 394
17.2.3 PRINTER RECORD长度及其限制 394
17.2.4 例题 395
17.3 5521 Ⅰ及9263 Ⅵ列表机 403
17.3.1 性能及限制 403
17.3.2 输出控制 404
17.3.3 中英文混合列印方法及其RECORD长度 407
17.3.4 例题 407
17.4 9563I与9580I列表机 413
17.4.1 性能及限制 413
17.4.2 输出控制 413
17.4.3 例题 417
第十八章 工作终端机之中文画面程式设计 431
18.1 前言 431
18.2 2246 PI终端机 431
18.2.1 性能及限制 431
18.2.2 中文萤光幕区之Order Area及中文Cursor之控制 431
18.2.3 例题 433
图18-1 CTYPING程序执行时,於英文萤幕上所显示之画面 441
18.3.1 性能及限制 442
18.3 2246 SI终端机 442
18.3.2 Order Area及Cursor之控制 443
图18-2 IDISPLAY副程式执行时出现的GETPARM画面 446
18.3.3 例题 448
图18-3 程式PRGNAME於执行MENU段时召唤IACCEPT所出现之中文画面 449
图18-4 程式PRGNAME於执行ADDR-1时召唤IACCEPT所产生的中文画面 450
图18-5 程式PRGNAME於执行MCONT段时召唤IACCEPT所产生的中文画面 451
图18-6 程式PRGNAME执行DISPLAY-MODSCREEN段时召唤IACCEPT所产生的中文画面 452
图18-7 程式PRGNAME执行DISPLAY-DELSCREEN时召唤IACCEPT所产生的中文画面 453
18.4 5324 I终端机 468
18.4.1 性能及限制 468
18.4.2 萤幕输出入的控制 468
18.4.3 例题 471
图18-8 执行MENU段召唤TACCEPT所产生的画面 472
图18-9 执行ADDR-1段召唤TACCEPT所产生的画面 473
图18-10 程式REALCO执行MCONT段时召唤TACCEPT所产生的中文画面 474
图18-11 程式REALCO执行DISPLAY-MODSCREEN段时召唤TACCEPT所产生的中文画面 475
图18-12 程式REALCO执行DCONT段时召唤TACCEPT所产生之中文画面 476
图18-13 程式REALCO执行DISPLAY-DELSCREEN段时召唤TACCEPT所产生之中文画面 477
18.5 2246SI与5324I终端机并存的技术 487
18.5.1 Release 6.10的IACCEPT副程式 487
18.5.2 2个Byte内码转换成3个Byte内码的副程式 490
18.5.3 3个Byte内码转换成2个Byte内码的副程式 490
18.5.4 例题 491
第十九章 2200 COBOL语言 493
19.1 简介 493
19.1.1 2200 COBOL语言特性 493
19.1.2 磁碟管理系统(Disk Management System) 493
19.1.3 列印录表(Print Spooling) 494
19.2 VS COBOL程式於2200系统之执行 494
19.2.1 不可用於2200 COBOL之述句 495
19.2.2 可使用,但不同於VS COBOL之2200 COBOL述句 496
19.3 2200 COBOL与VS COBOL之比较 497
19.3.1 COBOL核心之差异(Difference Within the Nucleus of COBOL) 497
19.3.2 循序输出入之差异(Difference Within Sequential I-O ) 500
19.3.3 索引输出入之差异(Differences Within Indexed I-O) 502
19.4 可用於2200 COBOL但不可使用於VS COBOL之叙句 504
19.4.1 COBOL核心之差异(Differences Within the Nucleus of COBOL) 504
19.4.2 循序输出入之差异(Differences Within Sequential I-O) 507
19.4.3 相对输出入之差异(Differences Within Relative I-O) 507
19.4.4 索引输出入之差异(Differences Within Indexed I-O) 516
附录A 保留字(RESERVED WORDS) 517
附录B ASCⅡ字元与其他系统之字元对照表 521
附录C FILE STATUS的键值 531
附录D Field Attribute Characters(FAC) 537
附录E COBOL编译的选择 539
附录F VS COBOL语法一般格式汇总 545
附录G 2200 COBOL语言指南 559
附录H 95801/92801列表机控制码 577
参考书籍 579