734
B1WW-6981-01Z0(00) Microsoft® Windows® 98 Microsoft® Windows® 2000 Microsoft® Windows® Me Microsoft® Windows® XP Microsoft® Windows NT® Microsoft® Windows Server™ 2003 NetCOBOL for Windows V8.0 COBOL文法書

COBOL文法書 - Fujitsu Japansoftware.fujitsu.com/jp/manual/manualfiles/M050003/B1WW6981/01/... · 日本語の文字列 利用者語、定数、picture

Embed Size (px)

Citation preview

  • B1WW-6981-01Z0(00)

    Microsoft Windows 98 Microsoft Windows 2000 Microsoft Windows Me Microsoft Windows XP

    Microsoft Windows NT Microsoft Windows Server 2003

    NetCOBOL for Windows V8.0

    COBOL

  • i

    Microsoft(R) Windows(R) operating system Version 3.1

    Windows(R) 3.1

    Microsoft(R) Windows(R) 95 operating system

    Windows(R) 95

    Microsoft(R) Windows(R) 98 operating system

    Windows(R) 98

    Microsoft(R) Windows(R) Millennium Edition

    Windows(R) Me

    Microsoft(R) Windows NT(R) Workstation operating system Version 4.0

    Windows NT(R)

    Microsoft(R) Windows NT(R) Server Network operating system Version 4.0

    Windows NT(R)

    Microsoft(R) Windows NT(R) Server Network operating system Version 4.0, Terminal

    Server Edition

    Windows NT(R)

    Microsoft(R) Windows NT(R) Server Network operating system, Enterprise Edition

    Version 4.0

    Windows NT(R)

    Microsoft(R) Windows(R) 2000 Professional operating system

    Windows(R) 2000

    Microsoft(R) Windows(R) 2000 Server operating system

    Windows(R) 2000

    Microsoft(R) Windows(R) 2000 Advanced Server operating system

    Windows(R) 2000

    Microsoft(R) Windows(R) XP Professional operating system

    Windows(R) XP

    Microsoft(R) Windows(R) XP Home Edition operating system

    Windows(R) XP

    Microsoft(R) Windows Server(TM) 2003, Standard Edition

    Windows Server(TM) 2003

    Microsoft(R) Windows Server(TM) 2003, Enterprise Edition

    Windows Server(TM) 2003

    FUJITSU NetCOBOLFUJITSU COBOL97FUJITSU COBOL85COBOL(COmmon Business

    Oriented Language)

    FUJITSU NetCOBOLFUJITSU COBOL97FUJITSU COBOL85

    NetCOBOL

    NetCOBOL

    NetCOBOL COBOL97 COBOL85

  • ii

    FUJITSU NetCOBOLFUJITSU COBOL97FUJITSU COBOL85 FUJITSU NetCOBOLFUJITSU COBOL97FUJITSU COBOL85JISCOBOL(JIS X

    3002-1992)FUJITSU NetCOBOLFUJITSU COBOL97FUJITSU COBOL85

    FUJITSU NetCOBOLFUJITSU COBOL97FUJITSU COBOL85

    FUJITSU NetCOBOL

    FUJITSU COBOL97

    FUJITSU COBOL85

    JISCOBOL

    (2, 1,2)

    (2, 1,2)

    (2, 0,2)

    (2, 0,2)

    (2, 1,2)

    (1, 0,1)

    (2, 0,2)

    (1, 0,1)

    (1, 0,1)

    (2, 0,2) *

    (2, 0,2) *

    FUJITSU NetCOBOL

    FUJITSU COBOL97

    FUJITSU COBOL85

    **

    Micro Focus

    **

    .NET

    *

    **COBOL2002

    JISCOBOL( )

    FUJITSU NetCOBOLFUJITSU COBOL97FUJITSU COBOL85COBOL

    COBOL

    COBOL COBOL

    (SQL)

    10 Micro Focus Micro Focus

    11

    COBOL

  • iii

    COBOL12

    COBOL311

    COBOL

  • iv

    COBOL

    PICTURE

    VALUE

    IS -1

    VALUE IS "XXXX"

    VALUE 12345

    -1FILLER

    -1-1

  • v

    COMMON

    INITIAL

    COMMON INITIAL

    INITIAL COMMON

    -1-1

    SECTION

    FUJITSU NetCOBOLFUJITSU COBOL97FUJITSU COBOL85

    FUJITSU NetCOBOLFUJITSU COBOL97FUJITSU COBOL85

    FUJITSU

    NetCOBOLFUJITSU COBOL97FUJITSU COBOL85

    COBOL

  • vi

    1985ANSI COBOL

    NetCOBOLCOBOL97COBOL85

    DS UXP/DS COBOL85 V20L11

    HP HP-UX COBOL85 V20L11

    Sun Solaris Operating System NetCOBOL V8.0

    Win Windows(R) 98 NetCOBOL V8.0L10

    Windows(R) Me NetCOBOL V8.0L10

    Windows NT(R) NetCOBOL V8.0L10

    Windows(R) 2000 NetCOBOL V8.0L10

    Windows(R) XP NetCOBOL V8.0L10

    Windows Server(TM) 2003 NetCOBOL V8.0L10

    Windows(R) 3.1 COBOL85 V20L11

    Windows(R) 95 COBOL85 V20L11

    Win16 Windows(R) 95 COBOL85 V20L11

    Windows(R) 3.1 COBOL85 V20L11

    Win32 Windows(R) 98 NetCOBOL V8.0L10

    Windows(R) Me NetCOBOL V8.0L10

    Windows NT(R) NetCOBOL V8.0L10

    Windows(R) 2000 NetCOBOL V8.0L10

    Windows(R) XP NetCOBOL V8.0L10

    Windows Server(TM) 2003 NetCOBOL V8.0L10

    Linux Linux NetCOBOL V7.2L10

    IPFLinux IPFLinux Linux for Itanium NetCOBOL V8.0L10

    .NET Windows(R) XP NetCOBOL V2.1

    Windows(R) 2000 NetCOBOL V2.1

    Windows Server(TM) 2003 NetCOBOL V2.1

    E

    HPHP-UXHewlett-Packard Company

    Micro FocusMicro Focus International Limited.

    SunSun MicrosystemsSunSolaris Solaris

    Sun Microsystems, Inc.

    WindowsWindows NTWindows ServerMSDNVisual Studio.NETMicrosoft

    Corporation

    LinuxLinus Torvalds

    UNIX

    IntelItaniumIntel Corporation

  • vii

    20056

    All Rights Reserved,Copyright(C) 1992-2005

  • viii

  • ix

    COBOL(COnference on DAta SYstems Languages)

    COBOLCOBOL

    COBOL

    FLOW-MATIC(),Programming for the Univac (R) I and II,Data

    Automation Systems, 1958,1959,.

    IBM Commercial Translator, F28-8013, IBM 1959,.

    FACT, 27A5260-2760, 1960,.

  • x

  • xi

    1 ..................................................................................... 1 1.1 ............................................................................... 2

    1.2 ............................................................................... 4

    1.2.1 ................................................................................... 4

    1.2.2 COBOL................................................................................ 5

    1.2.3 .................................................................................... 11

    1.2.4 ................................................................................ 15

    1.2.5 .................................................................................. 16

    1.2.6 ........................................................................ 17

    1.2.7 PICTURE....................................................................... 17

    1.2.8 .................................................................................. 17

    1.3 ............................................................................ 18

    1.3.1 ............................................................................ 18

    1.3.2 .............................................................................. 18

    1.3.3 ................................................................................ 18

    1.3.4 .......................................................................... 20

    1.3.5 ........................................................................ 20

    1.4 .................................................................................... 25

    1.4.1 .................................................................................... 25

    1.4.2 ................................................................................ 28

    1.4.3 ................................................................................ 30

    1.4.4 ............................................................................ 31

    1.4.5 .................................................................................. 33

    1.4.6 ........................................................................ 33

    1.4.7 .............................................................................. 34

    1.5 ...................................................................................... 35

    1.5.1 1............................................................................... 35

    1.5.2 AB.................................................................... 36

    1.5.3 .................................................................................. 36

    1.5.4 .................................................................................. 36

    1.5.5 .............................................................................. 37

    1.5.6 .............................................................................. 37

    1.5.7 ................................................................................ 38

    1.5.8 ........................................................................ 38

    1.6 ............................................................................ 40

    1.6.1 ........................................................................ 41

    2 COBOL................................................................................. 43 2.1 .................................................................................... 44

    2.1.1 ............................................................................ 45

    2.1.2 ................................................................................ 46

    2.1.3 .......................................................................... 47

    2.1.4 .............................................................................. 48

    2.1.5 .................................................................................. 49

    2.1.6 ...................................................................... 52

    2.1.7 .............................................................................. 53

    2.1.8 ................................................................................ 54

    2.1.9 .................................................................. 54

    2.1.10 ......................................................................... 54

    2.1.11 ..................................................................... 55

  • xii

    2.2 .................................................................................. 57

    2.2.1 .......................................................................... 57

    2.2.2 .......................................................................... 59

    2.2.3 .......................................................................... 59

    2.2.4 ...................................................................... 60

    2.2.5 ........................................................................ 60

    2.2.6 .................................................................... 60

    2.2.7 ........................................................................ 61

    2.2.8 .............................................................................. 62

    2.2.9 ............................................................................ 62

    2.2.10 ........................................................................... 63

    2.2.11 ........................................................................... 63

    2.3 ........................................................................ 64

    2.3.1 ................................................................ 64

    2.3.2 .......................................................................... 65

    2.3.3 ...................................................................... 65

    2.3.4 .......................................................................... 66

    2.3.5 .................................................................... 66

    2.3.6 .................................................................... 66

    2.3.7 ........................................................................ 67

    2.3.8 .............................................................................. 67

    2.3.9 ................................................ 68

    2.3.10 ........................................................................... 69

    2.4 ................................................................................ 70

    2.4.1 .............................................................................. 70

    2.4.2 .............................................................................. 71

    2.4.3 .............................................................................. 71

    2.4.4 .............................................................................. 71

    2.4.5 ...................................................................... 71

    2.4.6 ............................................................................ 71

    2.5 .............................................................................. 73

    2.6 ............................................................................ 74

    2.6.1 .............................................................................. 74

    2.6.2 .......................................................................... 75

    2.6.3 ................................................................ 75

    2.6.4 .......................................................................... 75

    2.6.5 .............................................................................. 75

    2.6.6 ............................................................................ 76

    2.7 .............................................................................. 78

    2.8 .......................................................................... 80

    2.8.1 .......................................................................... 80

    2.8.2 ........................................................................ 81

    2.8.3 ............................................................................ 81

    2.9 .......................................................... 82

    2.9.1 .................................................................... 82

    2.9.2 .......................................................................... 83

    2.10 ............................................................................. 84

    2.10.1 ......................................................................... 85

    2.10.2 ........................................................................... 85

    3 ............................................................ 87 3.1 IDENTIFICATION DIVISION................................................... 88

    3.1.1 PROGRAM-ID.......................................................... 88

  • xiii

    3.1.2 DATE-COMPILED........................................................... 89

    3.2 END PROGRAM....................................................... 90

    4 ...................................................................................... 91 4.1 ENVIRONMENT DIVISION........................................................ 92

    4.2 CONFIGURATION SECTION............................................................. 93

    4.2.1 SOURCE-COMPUTER..................................................... 93

    4.2.2 OBJECT-COMPUTER..................................................... 93

    4.2.3 SPECIAL-NAMES............................................................. 95

    4.3 INPUT-OUTPUT SECTION........................................................... 109

    4.3.1 FILE-CONTROL....................................................... 109

    4.3.2 I-O-CONTROL.......................................................... 133

    5 ................................................................................... 137 5.1 DATA DIVISION............................................................ 138

    5.2 ............................................................................. 142

    5.2.1 BLOCK CONTAINS................. 143

    5.2.2 CODE-SET................................................... 143

    5.2.3 CONTROL RECORDS........................................................ 144

    5.2.4 DATA RECORDS............................... 144

    5.2.5 EXTERNAL......... 145

    5.2.6 GLOBAL........... 145

    5.2.7 LABEL RECORDS.................. 145

    5.2.8 LINAGE................................................................. 146

    5.2.9 RECORD..................................... 148

    5.2.10 RECORD.............................................................. 150

    5.2.11 RECORD................................................................ 151

    5.2.12 REPORT................................................................ 151

    5.2.13 VALUE OF...................... 152

    5.3 ................................................................... 153

    5.4 ............................................................................... 154

    5.4.1 BLANK WHEN ZERO...................................................................... 156

    5.4.2 CHARACTER TYPE....................................................................... 157

    5.4.3 EXTERNAL............................................................................. 161

    5.4.4 GLOBAL............................................................................... 162

    5.4.5 JUSTIFIED............................................................................ 162

    5.4.6 OCCURS............................................................................... 163

    5.4.7 PICTURE.............................................................................. 166

    5.4.8 PRINTING POSITION.................................................................... 174

    5.4.9 REDEFINES............................................................................ 175

    5.4.10 RENAMES............................................................................. 176

    5.4.11 SIGN................................................................................ 178

    5.4.12 SYNCHRONIZED........................................................................ 179

    5.4.13 TYPE................................................................................ 180

    5.4.14 TYPEDEF............................................................................. 181

    5.4.15 USAGE............................................................................... 181

    5.4.16 VALUE............................................................................... 187

    5.4.17 BASED ON............................................................................ 189

    5.5 ........................................................................... 190

    5.5.1 AUTO................................................................................. 193

    5.5.2 BACKGROUND-COLOR..................................................................... 193

    5.5.3 BELL................................................................................. 194

    5.5.4 BLANK LINE........................................................................... 194

    5.5.5 BLANK SCREEN......................................................................... 195

  • xiv

    5.5.6 BLANK WHEN ZERO...................................................................... 195

    5.5.7 BLINK................................................................................ 196

    5.5.8 COLUMN NUMBER........................................................................ 196

    5.5.9 ERASE................................................................................ 197

    5.5.10 FOREGROUND-COLOR.................................................................... 197

    5.5.11 FULL................................................................................ 198

    5.5.12 HIGHLIGHT........................................................................... 199

    5.5.13 JUSTIFIED........................................................................... 199

    5.5.14 LINE NUMBER......................................................................... 200

    5.5.15 LOWLIGHT............................................................................ 201

    5.5.16 PICTURE............................................................................. 201

    5.5.17 REQUIRED............................................................................ 202

    5.5.18 REVERSE-VIDEO....................................................................... 203

    5.5.19 SECURE.............................................................................. 203

    5.5.20 SIGN................................................................................ 203

    5.5.21 UNDERLINE........................................................................... 204

    5.5.22 USAGE............................................................................... 204

    5.5.23 VALUE............................................................................... 204

    5.6 ............................................................................... 206

    5.6.1 CODE................................................................................. 207

    5.6.2 CONTROL.............................................................................. 207

    5.6.3 PAGE................................................................................. 208

    5.7 ............................................................................. 211

    5.7.1 COLUMN NUMBER........................................................................ 213

    5.7.2 GROUP INDICATE....................................................................... 213

    5.7.3 LINE NUMBER.......................................................................... 214

    5.7.4 NEXT GROUP........................................................................... 215

    5.7.5 SIGN................................................................................. 215

    5.7.6 SOURCE............................................................................... 216

    5.7.7 SUM.................................................................................. 217

    5.7.8 TYPE................................................................................. 219

    5.7.9 USAGE................................................................................ 222

    5.7.10 VALUE............................................................................... 222

    5.8 ......................................................................... 224

    5.8.1 ..................................................................... 224

    5.8.2 ......................................................... 225

    5.8.3 ......................................................... 226

    5.8.4 ..................................................................... 227

    5.8.5 ......................................................... 229

    5.8.6 ......................................................... 230

    6 ................................................................................... 233 6.1 PROCEDURE DIVISION....................................................... 234

    6.2 ........................................................................... 239

    6.3 ....................................................................... 241

    6.3.1 ................................................................................. 241

    6.3.2 ............................................................................... 242

    6.3.3 ................................................................................. 243

    6.3.4 ............................................................................. 254

    6.3.5 ............................................................................. 257

    6.3.6 ................................................................................. 259

    6.3.7 ............................................................... 260

    6.3.8 ROUNDED............................................................................ 260

  • xv

    6.3.9 ON SIZE ERROR...................................................................... 260

    6.3.10 CORRESPONDING..................................................................... 261

    6.3.11 ...................................................................... 262

    6.3.12 INVALID KEY....................................................................... 262

    6.3.13 AT END............................................................................ 263

    6.3.14 ........................................................................ 264

    6.4 ......................................................................................... 265

    6.4.1 ACCEPT....................................................................... 265

    6.4.2 ACCEPT............................................................. 266

    6.4.3 ACCEPT............................................. 268

    6.4.4 ADD.......................................................................... 269

    6.4.5 ALTER........................................................................ 271

    6.4.6 CALL............................................................. 271

    6.4.7 CANCEL........................................................... 277

    6.4.8 CLOSE............ 278

    6.4.9 COMPUTE...................................................................... 281

    6.4.10 CONTINUE.................................................................... 282

    6.4.11 DELETE................................................ 282

    6.4.12 DISPLAY..................................................................... 283

    6.4.13 DISPLAY........................................................... 285

    6.4.14 DISPLAY........................................... 286

    6.4.15 DIVIDE...................................................................... 287

    6.4.16 ENTRY........................................................... 290

    6.4.17 EVALUATE.................................................................... 291

    6.4.18 EXIT........................................................................ 295

    6.4.19 EXIT PERFORM................................................................ 296

    6.4.20 EXIT PROGRAM.................................................... 296

    6.4.21 GENERATE.............................................................. 297

    6.4.22 GO TO....................................................................... 298

    6.4.23 IF.......................................................................... 299

    6.4.24 INITIALIZE.................................................................. 301

    6.4.25 INITIATE.............................................................. 303

    6.4.26 INSPECT............................................................................. 304

    6.4.27 MERGE................................................................... 313

    6.4.28 MOVE........................................................................ 317

    6.4.29 MULTIPLY.................................................................... 319

    6.4.30 OPEN...................................... 320

    6.4.31 OPEN................................................................ 324

    6.4.32 OPEN.................................................................. 325

    6.4.33 PERFORM..................................................................... 326

    6.4.34 READ...................................... 336

    6.4.35 READ................................................................ 342

    6.4.36 RELEASE................................................................. 343

    6.4.37 RETURN.................................................................. 344

    6.4.38 REWRITE................................... 345

    6.4.39 SEARCH...................................................................... 348

    6.4.40 SET......................................................................... 353

    6.4.41 SORT.................................................................... 355

    6.4.42 START............................................................... 360

    6.4.43 START............................................................... 362

    6.4.44 STOP........................................................................ 367

    6.4.45 STRING...................................................................... 368

  • xvi

    6.4.46 SUBTRACT.................................................................... 371

    6.4.47 SUPPRESS.............................................................. 373

    6.4.48 TERMINATE............................................................. 373

    6.4.49 UNLOCK.................................... 374

    6.4.50 UNSTRING.................................................................... 374

    6.4.51 USE............. 381

    6.4.52 USE BEFORE REPORTING.................................................. 383

    6.4.53 USE FOR DEAD-LOCK................................................................... 384

    6.4.54 WRITE................................................................. 385

    6.4.55 WRITE................................................. 391

    6.4.56 WRITE............................................................... 394

    6.5 ............................................................................. 396

    6.5.1 ....................................................................... 396

    6.5.2 ............................................................................... 396

    6.5.3 ........................................................... 396

    6.5.4 ............................................................................... 397

    6.6 ....................................................................................... 398

    6.6.1 ACOS............................................................................... 398

    6.6.2 ADDR............................................................................... 398

    6.6.3 ANNUITY............................................................................ 399

    6.6.4 ASIN............................................................................... 399

    6.6.5 ATAN............................................................................... 400

    6.6.6 CAST-ALPHANUMERIC.................................................................. 400

    6.6.7 CHAR............................................................................... 400

    6.6.8 COS................................................................................ 401

    6.6.9 CURRENT-DATE....................................................................... 401

    6.6.10 DATE-OF-INTEGER................................................................... 402

    6.6.11 DAY-OF-INTEGER.................................................................... 402

    6.6.12 FACTORIAL......................................................................... 403

    6.6.13 INTEGER........................................................................... 403

    6.6.14 INTEGER-OF-DATE................................................................... 403

    6.6.15 INTEGER-OF-DAY.................................................................... 404

    6.6.16 INTEGER-PART...................................................................... 404

    6.6.17 LENG.............................................................................. 405

    6.6.18 LENGTH............................................................................ 405

    6.6.19 LOG............................................................................... 406

    6.6.20 LOG10............................................................................. 406

    6.6.21 LOWER-CASE........................................................................ 407

    6.6.22 MAX............................................................................... 407

    6.6.23 MEAN.............................................................................. 408

    6.6.24 MEDIAN............................................................................ 408

    6.6.25 MIDRANGE.......................................................................... 409

    6.6.26 MIN............................................................................... 409

    6.6.27 MOD............................................................................... 409

    6.6.28 NATIONAL.......................................................................... 410

    6.6.29 NUMVAL............................................................................ 410

    6.6.30 NUMVAL-C.......................................................................... 411

    6.6.31 ORD............................................................................... 412

    6.6.32 ORD-MAX........................................................................... 413

    6.6.33 ORD-MIN........................................................................... 413

    6.6.34 PRESENT-VALUE..................................................................... 414

    6.6.35 RANDOM............................................................................ 414

  • xvii

    6.6.36 RANGE............................................................................. 415

    6.6.37 REM............................................................................... 415

    6.6.38 REVERSE........................................................................... 416

    6.6.39 SIN............................................................................... 416

    6.6.40 SQRT.............................................................................. 416

    6.6.41 STANDARD-DEVIATION................................................................ 417

    6.6.42 STORED-CHAR-LENGTH................................................................ 417

    6.6.43 SUM............................................................................... 418

    6.6.44 TAN............................................................................... 418

    6.6.45 UCS2-OF........................................................................... 419

    6.6.46 UPPER-CASE........................................................................ 419

    6.6.47 UTF8-OF........................................................................... 419

    6.6.48 VARIANCE.......................................................................... 420

    6.6.49 WHEN-COMPILED..................................................................... 420

    7 ................................................................................. 423 7.1 COPY..................................................................................... 424

    7.2 REPLACE.................................................................................. 430

    8 SQL........................................................................ 433 8.1 SQL.......................................................................... 434

    8.1.1 ............................................................................... 434

    8.1.2 ............................................................................. 434

    8.1.3 COBOL............................................................ 434

    8.2 ................................................................................... 435

    8.2.1 SQL........................................................................ 435

    8.2.2 ......................................................................... 435

    8.2.3 ....................................................................... 438

    8.2.4 SQLSTATE/SQLCODE....................................................................... 438

    8.2.5 SQLMSG................................................................................. 438

    8.2.6 SQLERRD................................................................................ 438

    8.3 ................................................................................... 440

    8.3.1 ................................................................................... 440

    8.3.2 ................................................................................... 440

    8.3.3 ............................................................................... 442

    8.3.4 ................................................................................... 443

    8.3.5 ....................................................................... 444

    8.3.6 ................................................................................. 446

    8.3.7 ........................................................................... 446

    8.3.8 ................................................................................... 447

    8.3.9 ................................................................................... 448

    8.3.10 .............................................................................. 451

    8.3.11 .................................................................................. 451

    8.3.12 ............................................................................ 452

    8.3.13 .............................................................................. 453

    8.3.14 .............................................................................. 453

    8.3.15 FOR................................................................................. 453

    8.4 ............................................................................. 455

    8.5 ................................................................... 456

    8.5.1 SELECT............................................................................... 456

    8.5.2 DELETE....................................................................... 456

    8.5.3 INSERT............................................................................... 457

    8.5.4 UPDATE....................................................................... 458

    8.6 ..................................................................... 459

  • xviii

    8.6.1 ........................................................................... 459

    8.6.2 OPEN................................................................................. 460

    8.6.3 CLOSE................................................................................ 460

    8.6.4 FETCH................................................................................ 460

    8.6.5 DELETE................................................................... 461

    8.6.6 UPDATE................................................................... 461

    8.7 SQL.................................................................................... 463

    8.7.1 INTO/USING......................................................................... 463

    8.7.2 PREPARE.............................................................................. 463

    8.7.3 EXECUTE.............................................................................. 463

    8.7.4 EXECUTE IMMEDIATE.................................................................... 464

    8.7.5 SELECT........................................................................... 465

    8.7.6 ....................................................................... 465

    8.7.7 OPEN............................................................................. 465

    8.7.8 CLOSE............................................................................ 466

    8.7.9 FETCH............................................................................ 466

    8.7.10 DELETE.............................................................. 467

    8.7.11 UPDATE.............................................................. 467

    8.8 ............................................................................. 468

    8.8.1 COMMIT............................................................................... 468

    8.8.2 ROLLBACK............................................................................. 468

    8.9 ......................................................................... 469

    8.9.1 CONNECT.............................................................................. 469

    8.9.2 SET CONNECTION....................................................................... 470

    8.9.3 DISCONNECT........................................................................... 470

    8.10 ...................................................................... 471

    8.10.1 CALL................................................................................ 471

    9 ........................................................................... 473 9.1 DCSQL...................................................................... 475

    9.1.1 ......................................................................... 475

    9.1.2 ....................................................... 475

    9.1.3 ..................................................................... 475

    9.1.4 ............................................................................. 475

    9.1.5 ............................................................................. 476

    9.1.6 ........................................................................... 476

    9.1.7 ................................................................................... 476

    9.2 DCSQL........................................................................ 479

    9.2.1 ......................................................................... 479

    9.2.2 ............................................................................. 479

    9.2.3 COBOL............................................................ 479

    9.2.4 DCSQL...................................................................... 479

    9.3 DCSQL................................................................................ 480

    9.3.1 ............................................................................... 480

    9.3.2 ............................................................................... 483

    10 Micro Focus....................................................................... 485 10.1 .............................................................................. 486

    10.1.1 .............................................................................. 486

    10.1.2 ............................................................................ 486

    10.1.3 .......................................................................... 486

    10.2 16.............................................................................. 488

    10.3 ........................................................................ 489

    10.3.1 ................................................................................ 489

  • xix

    10.3.2 .............................................................................. 489

    10.3.3 .............................................................................. 496

    10.4 ................................................................................ 504

    10.4.1 .............................................................................. 504

    10.5 .................................................................................. 505

    10.5.1 .............................................................................. 505

    10.6 ...................................................................... 514

    10.6.1 .............................................................................. 514

    11 ........................................................ 517 11.1 ...................................................................................... 518

    11.2 ................................................................................ 519

    11.3 .................................................................................. 522

    11.3.1 ........................................................................ 522

    11.3.2 ...................................................................... 523

    11.3.3 .............................................................................. 523

    11.3.4 ................................................................................ 530

    11.4 ............................................................................ 531

    11.4.1 ...................................................................... 531

    11.4.2 ........................................................................ 537

    11.4.3 .................................................... 537

    11.4.4 .................................................................... 540

    11.4.5 .......................................................... 540

    11.5 .................................................................... 541

    11.5.1 IDENTIFICATION DIVISION............................................. 541

    11.5.2 .......................................................................... 545

    11.6 .................................................................................... 547

    11.6.1 CONFIGURATION SECTION....................................................... 547

    11.6.2 INPUT-OUTPUT SECTION...................................................... 549

    11.7 .................................................................................. 550

    11.7.1 FILE SECTION............................................................ 550

    11.7.2 LINKAGE SECTION............................................................. 550

    11.7.3 ........................................................................ 550

    11.7.4 .......................................................................... 550

    11.8 .................................................................................. 559

    11.8.1 PROCEDURE DIVISION.................................................. 559

    11.8.2 ...................................................................... 560

    11.8.3 .................................................................. 562

    11.8.4 .................................................................................. 562

    11.8.5 .................................................................................. 564

    11.8.6 .................................................................................... 569

    11.9 SQL....................................................................... 577

    11.9.1 SQL..................................................................... 577

    11.9.2 .............................................................................. 577

    11.9.3 ........................................................................ 577

    11.9.4 ................................................................ 577

    11.9.5 SQL............................................................................... 577

    11.10 COBOL...................................................................... 579

    11.10.1 FJBASE......................................................................... 579

    11.10.2 NULLNULL......................................................... 580

    A ................................................................................. 583 B ......................................................................... 597 B.1 ..................................................................................... 597

  • xx

    B.2 ............................................................................. 597

    B.3 ............................................................................. 597

    B.4 ................................................................................. 598

    B.5 ............................................................................... 598

    B.6 ............................................................................... 598

    B.7 ........................................................................... 598

    B.8 ................................................................................... 599

    B.9 ................................................................................. 599

    B.10 .............................................................................. 599

    B.11 ............................................................ 599

    C ................................................................................... 601 C.1 EBCDIC............................................................. 601

    C.2 ASCII.............................................................. 602

    C.3 JIS8..................................................... 603

    D ................................................................................... 605 D.1 ....................................................................... 605

    D.2 ......................................................................... 605

    D.2.1 ............................................... 605

    D.2.2 ............................................... 610

    D.3 ........................................................................... 610

    D.3.1 ................................................. 610

    D.3.2 ................................................. 611

    D.4 ......................................................................... 611

    E ..................................................................................... 613 E.1 ........................................................................... 613

    E.2 ................................................................................. 613

    E.3 ............................................................................. 613

    E.4 ....................................................................................... 613

    E.5 ............................................................................... 613

    E.6 ........................................................................... 613

    E.7 ......................................................................................... 614

    E.8 ....................................................................................... 614

    E.9 ............................................................................... 614

    E.10 .......................................................................... 614

    E.11 Micro Focus....................................................................... 615

    E.12 ........................................................ 615

    E.13 .NET.................................................................... 615

    E.14 ........................................................................ 615

    F ............................................................................... 617 F.1 I.............................................................................. 617

    F.2 S.............................................................................. 620

    G ............................................................... 623 G.1 ......................................................................................... 623

    G.1.1 ........................................................................... 623

    G.1.2 ........................................................................... 624

    G.2 ..................................................................................... 625

    G.3 ......................................................................... 628

    G.4 ....................................................... 629

    ....................................................................................... 631 ............................................................................................. 699

  • 1

    COBOL

  • 1

    2

    1.1

    COBOL

    COBOLCOBOLCOBOL

    4

    11

    (ABCZ26)

    (abcz26)

    11

    012345678910

    11

    +

    -

    *

    /

    =

    \

    ,

    ;

    .

    "

    (

    )

    >

    <

    :

    &

    _

    Win32SunLinuxIPFLinux.NET

    1

  • 1.1

    3

    JIS JIS JIS X0208-1990

    6349

    2965

    JIS JIS 6349

    JIS

    3384

    JIS JIS 10

    JIS

    JIS

    26

    JIS

    JIS

    26

    JIS

    JIS

    83

    JIS

    JIS

    86

    JIS

    - JIS

    JIS

    JIS

    COBOL

    COBOL

  • 1

    4

    1.2

    COBOLCOBOLPICTURE

    COBOL

    COBOL()

    1.2.1

    1

    1,1

    1;1

    1.1

    1(

    1)

    (XNCNNX

    B)

    1

    1:

    1

    1

    COBOLPICTURE

    .

    1616

    1.

    2. 16X

  • 1.2

    5

    3. NCN

    4. 16NX

    5. B

    2

    16

    PICTURE

    1.2.2 COBOL

    COBOLCOBOLCOBOL

    4

    COBOLCOBOL

    1. 30

    2. (AZaz)(09)()(_)

    3.

    1COBOL

  • 1

    6

    /

    1.2.2.1

    20

    12

    Win32SunLinuxIPFLinux.NET

    1. 30

    2. (AZaz)(09)()(_)

    3.

    4.

    5. 1

    6. 2

    1. 30

    2. JIS

  • 1.2

    7

    JIS

    3. JIS(-)JIS()

    4. 1JIS1JIS2JISJIS

    JIS()

    5.

    Win32SunLinuxIPFLinux.NET

    -n

    (

    )

    -n

    -n-n

    -n

    COBOL

    -n

    -n

    -n

    2

    1.

    2.

    1.

    1.SET

    1.SET

    2.2.

    SET

  • 1

    8

    SET

    -n

    -n-n

    -n

    -n

    -n-n

    -n

    -n

    COBOLCOBOL

    -n

    -n

    COBOL

    -n

    -n

    ()

    -n

    -n

    0149

    66778801

    09

  • 1.2

    9

    Win32SunLinuxIPFLinux.NET

    1.2.2.2

    4

    4.2.3

    (SPECIAL-NAMES)

    COBOL

    4.3.1.3 ASSIGN(

    )4.3.1.5 ASSIGN()

    1.2.2.3

    A

  • 1

    10

    12

    2

    (

    )

    LINAGE-COUNTER

    PROGRAM-STATUS

    RETURN-CODE (PROGRAM-STATUS)

    SORT-STATUS

    SORT-CORE-SIZE

    EDIT-MODE

    EDIT-OPTION

    EDIT-OPTION2

    EDIT-OPTION3

    EDIT-COLOR

    EDIT-STATUS

    EDIT-CURSOR

    LINE-COUNTER

    PAGE-COUNTER

    -n-n

    EDIT-OPTION2EDIT-OPTION3Win32SunLinuxIPFLinux.NET

    ALL SPACEALLSPACE

    1.2.2.4

    6.5

  • 1.2

    11

    1.2.3

    16

    16

    1.2.3.1

    1.

    2. .

    3. -1-209

    4. DSHPWin16118Win32SunLinux

    IPFLinux.NET119

    5.

    6.

    7.

    a) -n

    b) -n

  • 1

    12

    -n

    -n

    1

    (10)

    1. E

    2. .

    3. -1-309

    4. 115

    5. 12

    6.

    7. Win.NET

    1.18(1038)3.4(1038)0

    2.23(10308)1.79(10308)

    0SunDSHP

    1.18(1038)7.2(1075)0

    LinuxIPFLinux1.18(10

    38)3.4(1038)0

    8.

    9. -n

    10.

    a)

    b) 8

    11

    c) 2352

  • 1.2

    13

    1.2.3.2

    " "

    1. -1

    2. -1

    3. -112

    4. -11160-11160

    5. -1

    6.

    7. -n

    1.2.3.3 16

    1616

    16

    ""

    1. 16-1X

    2. 16-109AF16-1

    21

    3. 16-12320

    4. 1616-1()16

    5. 16

    6. 16-n

    16

    7. 16

    16

    0 0000

    1 0001

    2 0010

    3 0011

    4 0100

    5 0101

    6 0110

    7 0111

  • 1

    14

    8 1000

    9 1001

    A 1010

    B 1011

    C 1100

    D 1101

    E 1110

    F 1111

    1.2.3.4

    16

    ""

    ""

    1. 12

    2. -1NCN

    3. -1

    Win32SunLinuxIPFLinux.NETUnicode(ISO/IEC 10646-1)

    4. -1180

    5. -1

    6.

    7. -n

    16 1616

    ""

    1. 16-1NX

    2. 16-109AF16-1

    21

    3. 16-14320

    4. 1616-1(

    )16

  • 1.2

    15

    5. 16

    6. 16-n

    1.2.3.5

    ""

    1. -1B

    2. -101

    3. -11160

    4.

    5. -1

    6. -n

    1.2.4

    7

    ZERO

    SPACE

    HIGH-VALUE

    LOW-VALUE

    QUOTE

    ALL

    ZERO ALL ZERO

    ALL ZEROS

    ALL ZEROES

    SPACE ALL SPACE

    ALL SPACES

    HIGH-VALUE ALL HIGH-VALUE

    ALL HIGH-VALUES

    LOW-VALUE ALL LOW-VALUE

    ALL LOW-VALUES

    QUOTE ALL QUOTE

    ALL QUOTES

    "

    ALL ALL ALL

    ALL

  • 1

    16

    1. ALLALL

    2. SPACESPACES

    3. 16

    QUOTEABDQUOTE ABD QUOTE

    4. ALL16

    ALL

    5. SYMBOLIC CHARACTERS

    6. -n

    7. ALL2ALL

    8. VALUE

    JUSTIFIED

    1.2.5

    21

    1.

    2. -1-2

    a) 16SPACEHIGH-VALUELOW-VALUE

    QUOTEZERO1

    b) SPACE

    3. -1-2ALL

    4. -1-2

    a) 116

    1

    b) 1

    1

    5.

    6. ALLALL

    ALL

    7. -n

    8.

  • 1.2

    17

    1.2.6

    NetCOBOL

    -n

    ""

    NetCOBOL

    -n

    NetCOBOL

    -n

    1.2.7 PICTURE

    PICTUREPICTUREPICTURECOBOL

    PICTURE5.4.7 PICTURE

    1.2.8

  • 1

    18

    1.3

    1.3.1

    1

    1.3.2

    ------

    1.3.3

    TYPEDEF

    PICTUREUSAGESIGN

    SYNCHRONIZEDJUSTIFIEDBLANK WHEN ZERO

  • 1.3

    19

    TYPE

    Win32SunLinuxIPFLinux.NET.NET

    1.3.3.1

    1.3.3.2

    1. STRONG01

    2. VALUE

    3.

    a)

    b)

    c)

    d)

    4.

    a)

    b)

    c) DISPLAY

    d) INITIALIZE

    e) MOVE(CORRESPONDING)

    f) READ

    g) RELEASE

    h) RETURN

    i) REWRITE

    j) WRITE

    k) LENGTH

    l) LENG

    5.

    TYPE

    2

    a)

    b) TYPETYPE

    c)

    d) BLANK WHEN ZEROJUSTIFIEDPICTURESIGN

    SYNCHRONIZEDUSAGE

  • 1

    20

    1.3.4

    1.

    a)

    b)

    a.

    int2

    5-1 int2

    2.

    3.

    JUSTIFIED

    JUSTIFIED

    4.

    0

    1.3.5

    SYNCHRONIZED

    1.3.5.1

    2SYNCHRONIZED

    SYNCHRONIZED

    0

    2SYNCHRONIZED

    FILLER

    1.

    FILLER

    2.

  • 1.3

    21

    FILLER

    3. OCCURS

    1

    FILLER

    -----------------------------------------------------------------

    01 GRP-1.

    02 GRP-2.

    03 CHAR-1 PIC X(5).

    03 SYNC2-1 PIC S9(4) BINARY SYNC.

    03 SYNC2-2 PIC S9(4) BINARY SYNC.

    02 GRP-3 OCCURS 2.

    03 GRP-4.

    04 SYNC4-1 PIC S9(9) BINARY SYNC.

    04 CHAR-2 PIC X.

    03 CHAR-3 PIC X(2).

    02 CHAR-4 PIC X.

    ------------------------------------------------------------------

  • 1

    22

    1.3.5.2

    SYNCHRONIZED1

    1.

  • 1.3

    23

    a) SYNCHRONIZED

    b) SYNCHRONIZED

    (SYNCHRONIZED

    )

    c)

    2.

    a) 1.b.

    SYNCHRONIZED

    1.c.

    SYNCHRONIZED

    b) a.8

    c) b.00

    b.r8r

    3.

    FILLER

    4. OCCURS

    1.c.

    5.

    (1)

    ------------------------------------------------------------------

    01 RECORD-A.

    02 DATA-A1.

    03 DATA-A11 PIC 1(4) BIT.

    03 DATA-A12 PIC 1(3) BIT SYNC.

    03 DATA-A13 PIC 1(5) BIT.

    02 DATA-A2 PIC 1(4) BIT.

    ------------------------------------------------------------------

    DATA-A121DATA-A11DATA-A124

    DATA-A121DATA-A12DATA-A13

    5

    DATA-A13DATA-A1DATA-A133

    ------------------------------------------------------------------

    01 RECORD-A.

    02 DATA-A1.

    03 DATA-A11 PIC 1(4) BIT.

    03 FILLER PIC 1(4) BIT.

    03 DATA-A12 PIC 1(3) BIT.

  • 1

    24

    03 FILLER PIC 1(5) BIT.

    03 DATA-A13 PIC 1(5) BIT.

    03 FILLER PIC 1(3) BIT.

    02 DATA-A2 PIC 1(4) BIT.

    ------------------------------------------------------------------

    (2) OCCURS

    ------------------------------------------------------------------

    01 RECORD-B.

    02 DATA-B1 OCCURS 10 TIMES.

    03 DATA-B11 PIC 1(5) BIT.

    03 DATA-B12 PIC 1(5) BIT.

    ------------------------------------------------------------------

    DATA-B1DATA-B11

    DATA-B126DATA-B1

    SYNCHRONIZEDOCCURS

    DATA-C1

    ------------------------------------------------------------------

    02 DATA-C1 PIC 1(3) BIT OCCURS 6.

    ------------------------------------------------------------------

  • 1.4

    25

    1.4

    1.4.1

    2

    1

    2.3.8

  • 1

    26

  • 1.4

    27

    EDIT-OPTION2EDIT-OPTION3Win32SunLinuxIPFLinux.NET

    17 1. INOF

    2.

    3.

    4. INOF

    1 1.

    a) -1-2-2-1

    b) -1-2-2-1

    c) -1-2-2INDEXED BY-1

    d) -1-1-1-1

    -1(-1-1-1)

    2.

    3. -1-2

    4.

    2 1. 1

    2.

    3. -1SECTION

    4.

    3 2COBOL

  • 1

    28

    4 2LINAGELINAGE-COUNTER(

    )LINAGE-COUNTER

    5 1. 2LINE-COUNTER()

    LINE-COUNTER

    2. LINE-COUNTERLINE-COUNTER

    LINE-COUNTER

    LINE-COUNTER

    3. 2PAGE-COUNTER()

    PAGE-COUNTER

    4. PAGE-COUNTERPAGE-COUNTER

    PAGE-COUNTER

    PAGE-COUNTER

    6 1.

    a) -3-4-4-3

    b) -3-2-2-3

    2.

    7 1. EDIT-MODEEDIT-OPTIONEDIT-OPTION2EDIT-OPTION3EDIT-COLOR

    EDIT-STATUSEDIT-CURSOR

    2. -1

    NetCOBOL

    3. -1

    4. -1

    1.4.2

  • 1.4

    29

    ( )

    -1-1

    1. -1OCCURS

    2. -1()OCCURS

    3.

    SEARCH

    REDEFINES

    OCCURSKEY IS

    4. OCCURS

    2

    5. -1OCCURSINDEXED BY

    6. -2

    7. -2

    8. -1

    9. ALL-1

    ALL

    10.

    11. -1-1

    1. 11OCCURS1

    OCCURSn

  • 1

    30

    122

    n

    2. 7

    3. -1-2

    4. -1

    5. -1-1

    VARYINGPERFORMALLSEARCHSET

    PERFORMSEARCHSET

    6. -2-2()-2(

    )-2-2()

    7. -3-1()-3(

    )-1-3()

    8. ALL

    1.4.3

    -1FUNCTION -1[({-1})]

    1. -1

    2.

    3. -1

    4. -1WinSunHPLinux

    IPFLinux.NET

    5.

    6.

    1. -1(

    )()

    2. 1

  • 1.4

    31

    3.

    4.

    5. -1

    -1ALL

    6. JUSTIFIED

    7. 2

    8. 1

    a) -1

    b) -1

    c) -1

    d) -1

    9. 2

    1.4.4

  • 1

    32

    (

    )

    -3-1

    1. -1-2

    2.

    3. 22

    4. -1-2

    5. -3-1

    6. -3-1-3

    1. -3BASED ON

    -3

    2. -1BASED ON

    -1

    3. BASED ON

    4. BASED ON

  • 1.4

    33

    BASED ON

    1.4.5

    1. INOF

    2. -n

    -n

    3. -1

    1.4.6

    1. INOF

    2. -n

    -n

    3. -1

  • 1

    34

    1.4.7

    1. -1

    2.

    3. 6.5

    4. -1

    5. -1-1

    -1

  • 1.5

    35

    1.5

    COBOLCOBOL

    COBOL

    1.5.1 1

    1

    3

    Win32SunLinuxIPFLinux.NET

    1

    L1

    C167

    A178

    B11112

    R

    172

    11

    B

    LC6

    CA1/

    D

    /A

    B

    D

    A AAB4

    B BBR

  • 1

    36

    R(73)808

    1.5.2 AB

    COBOLAB

    A A

    (FDSDRD)

    0177

    (DECLARATIVES.)(END DECLARATIVES.)

    B B

    COPYREPLACEA

    0177

    A0177

    A

    1. 11

    212

    2. 112

    12

    3. 1212

    11

    4. 112

    12

    1.5.3

    AB

    1.5.4

    /

    AB

  • 1.5

    37

    1.5.5

    B

    COBOL

    PICTURE

    AB

    ()

    16

    1. B

    2. BB

    1

    (XNNCNXB)

    77 XX PIC X(60) VALUE "ABCDE12345ABCDE12345ABCDE12345ABCDE12345

    - "ABCDE12345ABCDE12345". [1]

    MOVE X

    - X TO YY. [2]

    MOVE XX TO

    YY. [3]

    []

    [1]

    [2] XX

    [3]

    1.5.6

    D

  • 1

    38

    ABCOBOLA

    B

    WITH DEBUGGING MODE

    WITH DEBUGGING MODE

    WITH DEBUGGING MODECOPYREPLACE

    1.5.7

    2R

    1.5.8

    Win32SunLinux

    IPFLinux.NET

    1.5.8.1 1

    10251(

    12)

    1.5.8.2

    1.5.8.3

    2COBOL

    01

    1COBOL1

    1.5.8.4

  • 1.5

    39

    01

    1

    21

    1.5.8.5

    3COBOL1

    01

    COBOL01

    WITH DEBUGGING MODE

    WITH DEBUGGING MODE

    WITH DEBUGGING MODECOPYREPLACE

  • 1

    40

    1.6

    4

    1

    1

    (A)

    (B)B

    (C)BA

    CA

    1.

    AB

    BCABC

    2.

    3.

    a)

    b)

    c)

    d)

  • 1.6

    41

    1.6.1

    RETURNING

    RETURNING

    CALLRETURNING

  • 1

    42

  • 2 COBOL

    COBOL10

    ()

  • 2 COBOL

    44

    2.1

    :

    MOVE

    :

    COMPUTEADDDIVIDEMULTIPLYSUBTRACT

    :

    IFEVALUATECONTINUE

    :

    GO TOALTER

    :

    PERFORMEXITEXIT PERFORM

    :

    SEARCHSET

    :

    INITIALIZE

    :

    INSPECTSTRINGUNSTRING

    :

    ACCEPTDISPLAY

    :

    STOP RUN

    :

    :

  • 2.1

    45

    2.1.1

    MOVEMOVE

    MOVE

    ------------------------------------------------------------------

    *

    77 S1 PIC X(4).

    77 R1 PIC X(6).

  • 2 COBOL

    46

    77 S2 PIC 9(2)V99.

    77 R2 PIC 9(4)V9(4).

    77 S3 PIC 9(6).

    77 R3 PIC ZZZ,ZZ9.

    *

    MOVE S1 TO R1. [1]

    MOVE S2 TO R2. [2]

    MOVE S3 TO R3. [3]

    ------------------------------------------------------------------

    [1]MOVES1R1(

    )

    [2]MOVES2R2()

    [3]MOVES3R3

    ()

    2.1.2

    ADDSUBTRACTMULTIPLY

    DIVIDECOMPUTECOMPUTE

    ADDSUBTRACTMULTIPLYDIVIDECOMPUTE

    ROUNDEDON SIZE

    ERROR

    ------------------------------------------------------------------

    ADD C TO A. [1]

    DIVIDE C BY D GIVING A ROUNDED. [2]

  • 2.1

    47

    COMPUTE A = C / D + E * 100. [3]

    COMPUTE Z = X AND Y. [4]

    ------------------------------------------------------------------

    []

    [1] ACA

    [2] CDA

    [3] CDE100A

    [4] XYZ

    2.1.3

    IFEVALUATEIF

    EVALUATE1

    GO TO

    IF IFTHENELSE

    IF

    ------------------------------------------------------------------

    IF X = Y THEN

    MOVE 0 TO Z [1]

    ELSE

    GO TO P1 [2]

    END-IF.

    P1.

    ------------------------------------------------------------------

    []

    [1] XYMOVE

    [2] XYGO TOP1

    EVALUATE EVALUATEWHENEVALUATEWHEN

    WHEN

    EVALUATE

    ------------------------------------------------------------------

    EVALUATE MARKS

    WHEN 85 THRU 100 MOVE "A" TO RESULT [1]

    WHEN 70 THRU 84 MOVE "B" TO RESULT [2]

    WHEN 55 THRU 69 MOVE "C" TO RESULT [3]

    WHEN OTHER MOVE "D" TO RESULT [4]

    END-EVALUATE.

    ------------------------------------------------------------------

    []

    [1] MARKS85100 MOVE A TO RESULT

    [2] MARKS7084 MOVE B TO RESULT

    [3] MARKS5569 MOVE C TO RESULT

    [4] MARKS[1][3] MOVE D TO RESULT

    EVALUATE

  • 2 COBOL

    48

    ------------------------------------------------------------------

    *

    01 MARKS PIC 9(3).

    88 RESULT-A VALUE 85 THRU 100.

    88 RESULT-B VALUE 70 THRU 84.

    88 RESULT-C VALUE 55 THRU 69.

    *

    EVALUATE TRUE

    WHEN RESULT-A MOVE "A" TO RESULT

    WHEN RESULT-B MOVE "B" TO RESULT

    WHEN RESULT-C MOVE "C" TO RESULT

    WHEN OTHER MOVE "D" TO RESULT

    END-EVALUATE.

    ------------------------------------------------------------------

    2.1.4

    PERFORMPERFORMPERFORM

    PERFORM

    PERFORM PERFORMPERFORM

    1

    PERFORM

    ------------------------------------------------------------------------

    MOVE 0 TO TBL-SUM.

    PERFORM P1 VARYING I FROM 1 BY 1 UNTIL I > 5

    AFTER J FROM 1 BY 1 UNTIL J > 10 [1]

    :

    PERFORM P2 THRU PX. [2]

    :

    P1. [1] PERFORM

    ADD TBL-X(I,J) TO TBL-SUM.

    P2.

    : [2] PERFORM

    PX.

    EXIT.

    -------------------------------------------------------------------------

    []

    [1] P1J1P1

    J1J10I (1)1

    I5

  • 2.1

    49

    [2] P2PX1EXIT

    PERFORM PERFORMPERFORM

    PERFORMPERFORMPERFORM

    [1]

    ------------------------------------------------------------------

    MOVE 0 TO TBL-SUM.

    PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5 [1]

    PERFORM VARYING J FROM 1 BY 1 UNTIL J > 10 [2]

    ADD TBL-X (I, J) TO TBL-SUM

    END-PERFORM

    END-PERFORM.

    ------------------------------------------------------------------

    []

    [1] UNTIL(PERFORM)I1

    I1I5

    [2] UNTIL(ADD)J1

    J1J10

    2.1.5

    OCCURS

    OCCURSDEPENDINGOCCURSDEPENDING

    OCCURS

    DEPENDINGOCCURS

    DEPENDING

    ------------------------------------------------------------------

    01 A.

    02 A1 PIC X.

    02 A2 PIC X(2) OCCURS 2. [1]

    02 A3.

    03 A31 OCCURS 1 TO 3 DEPENDING ON A31-REP. [2]

    04 A311 PIC X(4).

    04 A312 PIC X(5) OCCURS 2. [3]

    03 A32 PIC X(3). [4]

    01 A31-REP PIC 9. [5]

    ------------------------------------------------------------------

    []

    [1]

    [2]

  • 2 COBOL

    50

    [3]

    [4]

    [5]

    (n)(n,m)A312(n,m)nA31OCCURS

    mA312OCCURS

    XOCCURSDEPENDING

    nX

    1. X1n

    2. -1

    1n

    OCCURSINDEXED BY

    SET

    SET

    USAGE IS INDEX

  • 2.1

    51

    ------------------------------------------------------------------

    *

    77 B USAGE INDEX.

    01 C.

    02 C1 OCCURS 2 INDEXED BY IDX1.

    03 C11 PIC X(2).

    03 C12 PIC X(3) OCCURS 3 INDEXED BY IDX2.

    *

    SET IDX1 TO 1. [1]

    SET B TO IDX1. [2]

    SET IDX2 TO 2. [3]

    MOVE C12(IDX1, IDX2) TO . [4]

    ------------------------------------------------------------------

    []

    [1] 1C1IDX1

    [2] IDX1B

    [3] 2C12IDX2

    [4] C12IDX1IDX2

    SEARCH

    ALLSEARCH

    ALLSEARCH

    -------------------------------------------------------------------------------------

  • 2 COBOL

    52

    *

    01 TBL-VALUE.

    02 FILLER.

    03 FILLER PIC X(02) VALUE 01.

    03 FILLER PIC X(20) VALUE APPLE.

    02 FILLER. [1]

    03 FILLER PIC X(02) VALUE 10.

    03 FILLER PIC X(20) VALUE ORANGE.

    02 FILLER.

    03 FILLER PIC X(02) VALUE 12.

    03 FILLER PIC X(20) VALUE PEACH.

    01 TBL-REF REDEFINES TBL-VALUE.

    02 TBL-DATA OCCURS 3 TIMES ASCENDING KEY IS G-CODE

    INDEXED BY IDX. [3] [2]

    03 G-CODE PIC X(02). [4]

    03 G-NAME PIC X(20).

    *

    SEARCH ALL TBL-DATA

    AT END DISPLAY ERROR

    WHEN G-CODE (IDX) = 10 [5]

    DISPLAY G-NAME (IDX)

    END-SEARCH.

    -------------------------------------------------------------------------------------

    []

    [1] TBL-VALUE

    [2] TBL-REFTBL-REFTBL-VALUE

    [3] TBL-DATA3TBL-DATAIDXASCENDING KEY

    G-CODE

    [4] TBL-DATAG-CODEG-NAME

    [5] WHENWHEN

    (DISPLAY)AT END(DISPLAY)

    2.1.6

    INITIALIZE

    INITIALIZE

    ------------------------------------------------------------------

    *

    01 GRP1.

    02 A PIC X(8).

  • 2.1

    53

    02 B PIC S9(4) PACKED-DECIMAL.

    02 C PIC N(4).

    *

    INITIALIZE GRP1. [1]

    INITIALIZE GRP1 REPLACING NUMERIC DATA BY 1. [2]

    ------------------------------------------------------------------

    []

    [1] GRP1ABC

    [2] GRP1B1AC

    2.1.7

    INSPECT

    STRINGUNSTRING

    INSPECT INSPECT

    ------------------------------------------------------------------

    *

    77 A PIC X(10) VALUE "AB*DE*FGH*".

    77 B PIC 99.

    *

    INSPECT A TALLYING B FOR ALL "*". [1]

    ------------------------------------------------------------------

    []

    [1] AINSPECTB0

    INSPECTB3

    STRING STRING

    ------------------------------------------------------------------

    *

    77 A PIC X(5) VALUE "ABCDE".

    77 B PIC X(3) VALUE "123".

    77 C PIC X(2) VALUE "+-".

    77 D PIC X(10).

    *

    STRING A DELIMITED BY SIZE

    B DELIMITED BY SIZE

    C DELIMITED BY SIZE

    INTO D. [1]

    ------------------------------------------------------------------

    []

    [1] ABCDSTRINGD

    ABCDE123

    UNSTRING UNSTRING

  • 2 COBOL

    54

    ------------------------------------------------------------------

    *

    77 A PIC X(5).

    77 B PIC X(3).

    77 C PIC X(2).

    77 D PIC X(10) VALUE "ABCDE123+-".

    *

    UNSTRING D INTO A B C. [1]

    ------------------------------------------------------------------

    []

    [1] DABCUNSTRING

    ABCABCDE123

    2.1.8

    ACCEPT

    DISPLAYACCEPTDISPLAY

    ACCEPT

    ACCEPTDISPLAY

    ------------------------------------------------------------------

    DISPLAY "ERROR". [1]

    ACCEPT X. [2]

    ACCEPT C-TIME FROM TIME. [3]

    ------------------------------------------------------------------

    []

    [1] (ERROR)

    [2] X

    [3] C-TIME

    2.1.9

    STOP RUNSTOP RUN

    2.1.10

    ADDR

    USAGE IS POINTER

    BASED ON

    BASED ON

    ------------------------------------------------------------------

    *

    BASED-STORAGE SECTION.

  • 2.1

    55

    77 AA PIC X BASED ON P1. [1]

    77 BB PIC 9(4) BINARY.

    WORKING-STORAGE SECTION.

    77 CC PIC X(100).

    77 P3 USAGE IS POINTER. [2]

    LINKAGE SECTION.

    01 P1 USAGE IS POINTER. [3]

    01 P2 USAGE IS POINTER. [4]

    *

    PROCEDURE DIVISION USING P1 P2.

    IF AA = "A" THEN [5]

    MOVE ZERO TO P2->BB [6]

    MOVE FUNCTION ADDR(CC) TO P3. [7]

    CALL "SUB" USING P3.

    ------------------------------------------------------------------

    []

    [1] P1

    [2] P3

    [3] P1

    [4] P2

    [5] AA

    [6] BB

    [7] ADDRCC

    2.1.11

    (10)

    Win.NET1.18(1038)

    3.4(1038)02.23

    (10308)1.79(10308)0SunDS

    HP1.18(1038)7.2(10

    75)0LinuxIPFLinux

    1.18(1038)3.4(1038)0

    SYMBOLIC CONSTANT

    VALUEVALUE

    REDEFINESRENAMES

    /

    ADD/

    COMPUTE/

    DISPLAY/

  • 2 COBOL

    56

    :

    .9(8)E99

    :

    .9(17)E99

    REMAINDERDIVIDE/

    INITIALIZE/

    INITIALIZE

    REPLACINGINITIALIZE

    0

    REPLACINGNUMERIC

    MOVE/

    MULTIPLY/

    SUBTRACT/

    PROCEDURE DIVISIONUSING

    ENTRYUSING

    CALLUSING/USING BY VALUE

    COPYREPLACING/

  • 2.2

    57

    2.2

    1

    2.2.1

    4

    ORGANIZATION

  • 2 COBOL

    58

    ORGANIZATIONSEQUENTIALORGANIZATION

    ASSIGN

    WRITENetCOBOL

    FORMAT

    FORMATFORMATFORMAT

    FORMAT

    11

    1

    ORGANIZATIONLINE SEQUENTIAL

    1

    10

    19

    10

    ORGANIZATIONRELATIVE

    ACCESS MODERELATIVE KEY

    ()

    ORGANIZATIONINDEXEDRECORD KEY

    ALTERNATE RECORD KEYRECORD KEY

    ALTERNATE RECORD KEY

    RECORD KEYALTERNATE RECORD KEYDUPLICATES

  • 2.2

    59

    2.2.2

    SELECTASSIGN

    OPEN

    2.2.3

    (OPENREADWRITEREWRITESTARTDELETE

    CLOSE)

    OPEN

    CLOSEOPEN

    CLOSE

    3

    ACCESS MODE

    4

    OPEN

    OPEN

    INPUT

    OUTPUT

    I-O

    EXTEND

    READ

    WRITE

    REWRITE

    OPEN

    INPUT

    OUTPUT

    I-O

    EXTEND

    READ

    WRITE

  • 2 COBOL

    60

    REWRITE

    START

    DELETE

    READ

    WRITE

    REWRITE

    START

    DELETE

    READ

    WRITE

    REWRITE

    START

    DELETE

    2.2.4

    CLOSEOPENREAD

    CLOSEOPENREAD

    START

    2.2.5

    CLOSEOPEN

    READWRITE

    2.2.6

    ()

    1()COBOL

    LOCK MODE

    OPENLOCK MODEOPEN

    LOCK

    MODE

    LOCK MODE

    OPEN

    12

    1

    CLOSE

  • 2.2

    61

    OPEN

    WITH LOCK WITH LOCK

    LOCK MODE

    INPUT I-O OUTPUT EXTEND INPUT I-O OUTPUT EXTEND

    AUTOMATIC

    MANUAL *1

    EXCLUSIVE

    *1MANUAL

    2.2.7

    READ

    11

    112

    1

    LOCK MODEAUTOMATIC

    LOCK MODEMANUAL

    LOCK MODEAUTOMATIC LOCK MODEAUTOMATIC

    1WITH LOCKWITH[NO]LOCK

    READ

    WITH NO LOCKREAD

    WITH LOCKWITH[NO]LOCKREAD

    READWRITEREWRITEDELETE

    WRITE

    READ

    1. READWRITEREWRITEDELETESTART

    2. UNLOCK

    3. CLOSECLOSE

    LOCK MODEMANUAL LOCK MODEMANUAL

    WITH LOCKREAD

    WITH NO

    LOCKWITH[NO]LOCKREAD

    WITH LOCKREAD

    READWRITEREWRITEDELETE

    READ

    1. UNLOCK

    2. CLOSECLOSE

  • 2 COBOL

    62

    2.2.8

    2CLOSEDELETEOPEN

    READREWRITESTARTWRITE

    FORMAT

    4

    USE AFTER STANDARD EXCEPTION

    FILE STATUS

    1

    READ

    *1

    *1

    USE AFTER STANDARD EXCEPTION

    USE AFTER STANDARD EXCEPTION

    READ

    READ

    READAT END

    DELETEREAD

    REWRITESTARTWRITE

    INVALID KEY

    OPEN

    OPEN

    2.2.9

    2

  • 2.2

    63

    RECORDWRITE

    READRECORD

    RECORD

    1

    RECORD -1

    -1 -1

    2

    RECORD VARYING

    [FORM -2

    [TO -3]]

    [DEPENDING ON

    -1]

    -3

    3

    RECORD -4

    TO -5

    RECORD

    2

    OCCURS DEPENDING

    ON

    CHARACTER TYPE

    *2

    *1

    *1

    *1

    *2 HPDSSunLinuxIPFLinux

    2.2.10

    1

    SAME RECORD AREA

    2.2.11

    LINAGELINAGE-COUNTER

    LINAGE-COUNTERLINAGE-1-1

    LINAGE-COUNTER

    LINAGE-COUNTER

    LINAGE-COUNTER

  • 2 COBOL

    64

    2.3

    2CALL

    CALLCALL

    2.3.1

    CALL

    EXIT PROGRAM

    1

    1

    COBOLCOBOL

    COBOL

  • 2.3

    65

    CALLCALL

    1. CALL

    2. CALLENTRY

    ENTRYENTRY

    EXIT PROGRAMSTOP RUN

    EXIT PROGRAM

    STOP RUN

    2.3.2

    ()(

    )

    GLOBAL

    01GLOBAL

    01()

    01

    2.3.3

    ()

    EXTERNAL

    01EXTERNAL

    1

    1

  • 2 COBOL

    66

    1

    INDEXED BYEXTERNAL

    2.3.4

    COBOL

    Win32SunLinuxIPFLinux.NET

    2.3.5

    COMMON

    2.3.6

    1. VALUE

    VALUE

    VALUE

    2.

    3. PERFORM

    4. ALTERGO TO

    2

    CANCEL

    INITIAL

  • 2.3

    67

    INITIALINITIAL

    CALL

    CANCEL CANCEL

    CANCELCANCEL

    2.3.7

    1. CALLUSING

    RETURNING

    CRETURNING

    2. ENTRYUSING

    RETURNINGUSING

    RETURNINGUSING

    CALLUSING

    1.

    USING BY REFERENCEBYUSING

    2.

    USING BY CONTENTUSING BY VALUEUSING

    BY VALUEC

    2.3.8

    2

  • 2 COBOL

    68

    ()

    ()

    ()

    ()

    (A)(B)(

    X)2XB

    1. XBBX

    2. XBX

    AX

    X

    2.3.9

    1

    21

    CALLCANCEL

    2

  • 2.3

    69

    21

    CALLCANCEL

    CALLCANCEL

    1.

    2.

    3.

    2.3.10

    RETURNINGPROGRAM-STATUS

    (RETURN-CODE)PROGRAM-STATUSRETURN-CODE

    PROGRAM-STATUS

    PROGRAM-STATUSPICTURE S9(9) COMPUTATIONAL-5

    IPFLinuxPROGRAM-STATUSPICTURE S9(18)

    COMPUTATIONAL-5

    PROGRAM-STATUSPROGRAM-STATUS

    1.

    2. PROGRAM-STATUS

  • 2 COBOL

    70

    2.4

    SORT

    2

    MERGE2

    2.4.1

    4

    1.

    SORTUSINGGIVING

    2.

    SORTINPUT PROCEDURE

    GIVING

    3.

    SORTUSINGOUTPUT PROCEDURE

    4.

  • 2.4

    71

    SORTINPUT PROCEDURE

    OUTPUT PROCEDURE

    2.4.2

    2

    1.

    MERGEUSINGGIVING

    2.

    MERGEUSINGOUTPUT PROCEDURE

    2.4.3

    INPUT PROCEDURESORT

    1.

    2. RELEASERELEASE

    RELEASE

    2.4.4

    OUTPUT PROCEDURESORTOUTPUT PROCEDUREMERGE

    1. RETURNRETURN

    2.

    2.4.5

    MERGERELEASERETURNSORT

    2.4.6

    2

    SORT-STATUS

    SORT-CORE-SIZE

    2.4.6.1 SORT-STATUS

    SORT-STATUSPICTURE S9(4) COMPUTATIONAL-5

  • 2 COBOL

    72

    SORT-STATUS

    SORT-STATUSSORTMERGE

    SORTMERGESORT-STATUS

    0:

    16:

    SORT-STATUS1

    INPUT PROCEDURESORTOUTPUT PROCEDURESORTOUTPUT PROCEDURE

    MERGESORT-STATUS

    SORT-STATUS16RELEASESORT

    SORT-STATUS16RETURNSORTMERGE

    2.4.6.2 SORT-CORE-SIZE

    SORT-CORE-SIZE"PICTURE S9(8) COMP-5"

    PowerSORT

    MOVE 32 TO SORT-CORE-SIZE PowerSORT

    32(=32768)

    PowerSORT""

    SORT-CORE-SIZEsmsizeSMSIZE

    SORT-CORE-SIZE

    smsizeSMSIZE

    SORT-CORE-SIZEWin32SunLinuxIPFLinux.NET

  • 2.5

    73

    2.5

    COPYREPLACE

    COPYCOBOLCOBOL

    REPLACE

    COPYREPLACECOBOL

    COPY COPY

    REPLACE REPLACEREPLACE(REPLACE OFF)

    REPLACE

  • 2 COBOL

    74

    2.6

    IPFLinux.NET

    2.6.1

  • 2.6

    75

    SYMBOLIC DESTINATIONCLOSEOPEN

    READWRITE

    2.6.2

    FORMAT

    WRITE

    WRITE

    READ

    2.6.3

    ORGANIZATIONSEQUENTIAL

    ORGANIZATION

    ACCESS MODE

    SEQUENTIALACCESS MODE

    2.6.4

    (OPENREADWRITECLOSE)

    OPEN

    CLOSEOPEN

    CLOSE

    OPEN

    INPUT

    OUTPUT

    I-O

    READ

    WRITE

    2.6.5

    2CLOSEOPENREAD

    WRITE

    4

  • 2 COBOL

    76

    USE AFTER STANDARD EXCEPTION

    FILE STATUS

    1

    READ

    USE AFTER STANDARD EXCEPTION

    USE AFTER STANDARD EXCEPTION

    READ

    READ

    READAT END

    2.6.6

    7

    EDIT-MODE

    EDIT-OPTION

    EDIT-OPTION2

    EDIT-OPTION3

    EDIT-COLOR

    EDIT-STATUS

    EDIT-CURSOR

    71

    1.4.1

    NetCOBOL

    1. EDIT-MODEWRITE

    WRITE

  • 2.6

    77

    2. EDIT-OPTIONWRITE

    WRITE

    3. EDIT-OPTION2WRITE

    EDIT-OPTION2Win32SunLinuxIPFLinux.NET

    4. EDIT-OPTION3WRITE

    EDIT-OPTION3Win32SunLinuxIPFLinux.NET

    5. EDIT-COLORWRITE

    6. EDIT-STATUSREAD

    READ

    READ

    ()EDIT-STATUS

    7. EDIT-CURSORREAD

  • 2 COBOL

    78

    2.7

    ACOS

    ACP-OF ACP(Ansi Code Page)

    .NET

    ADDR

    ANNUITY

    ASIN

    ATAN

    CAST-ALPHANUMERIC

    CHAR

    COS

    CURRENT-DATE

    DATE-OF-INTEGER

    DAY-OF-INTEGER

    DISPLAY-OF

    .NET

    ENUM-AND

    .NET

    ENUM-NOT

    .NET

    ENUM-OR

    .NET

    FACTORIAL

    INTEGER

    INTEGER-OF-DATE

    INTEGER-OF-DAY

    INTEGER-PART

    LENG

    LENGTH

    LOG

    LOG10

    LOWER-CASE

    MAX

    MEAN

    MEDIAN

    MIDRANGE

    MIN

    MOD

    NATIONAL COBOL

  • 2.7

    79

    NATIONAL-OF

    .NET

    NUMVAL

    NUMVAL-C

    ORD

    ORD-MAX

    ORD-MIN

    PRESENT-VALUE

    RANDOM

    RANGE

    REM

    REVERSE

    SIN

    SQRT

    STANDARD-DEVIATION

    STORED-CHAR-LENGTH

    Win32SunLinuxIPFLinux.NET

    SUM

    TAN

    UCS2-OF UCS2

    Win32SunLinuxIPFLinux.NET

    UNICODE-OF UNICODE

    .NET

    UPPER-CASE

    UTF8-OF UTF8

    Win32SunLinuxIPFLinux.NET

    VARIANCE

    WHEN-COMPILED

  • 2 COBOL

    80

    2.8

    LinuxIPFLinux.NET

    2.8.1

    11

    2.8.1.1

    1211

    12LINE NUMBER

    COLUMN NUMBER

    /

    2.8.1.2

    21

    1ACCEPTDISPLAY

    ACCEPTDISPLAY

    4

  • 2.8

    81

    VALUEDISPLAYVALUE

    1

    1ACCEPT

    1

    1

    DISPLAY

    11

    DISPLAY

    ACCEPT

    2.8.2

    DISPLAYACCEPT

    DISPLAYACCEPT

    ACCEPT

    DISPLAY

    BLANKERASE

    2.8.3

    ACCEPT3

    ACCEPTACCEPT

    CRT STATUS

    4.2.3.6 CRT STATUS

  • 2 COBOL

    82

    2.9

    2

    COBOL

    ACCEPTDISPLAY

    ACCEPTDISPLAY

    2.9.1

    COBOL

    2.9.1.1

    ACCEPTACCEPTFROM

    ARGUMENT-NUMBERACCEPTACCEPT

    2.9.1.2

    2

    11

    0990