Google
 

Trailing-Edge - PDP-10 Archives - ap-c800d-sb - cbl12a.rnd
There are no other files named cbl12a.rnd in the archive.
.VARIABLE TWENTY 2 1
\\
.LM0.RM70.F.J.SP1.TS5.FLAG CAP
.TITLE <COBOL-68/COBOL-74 <V12A ^DOCUMENTATION
<CBL12A.DOC -- <COBOL-68/COBOL-74 <V12A ^DOCUMENTATION
.BR
^SEP 1979
.FG30
^^COPYRIGHT (C) 1979 BY
.BR
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
.B2
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
TRANSFERRED.
.B1
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
.B1
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL\\.
.PAGE
1.0	^^SUMMARY\\
.B 1
^THIS IS THE THE FIRST MAINTENANCE RELEASE OF <COBOL-68 ^VERSION 12 AND <COBOL-74 VERSION 12. ^IT IS THE FIRST RELEASE OF COMMON SOURCES FOR BOTH COMPILERS.
.B 1
<COBOL VERSION 12^A CONSISTS OF:
.BR;.LM 8
<COBOL####VERSION 12^A(726)
.BR
<CBL74####VERSION 12^A(726)
.BR
<LIBOL####VERSION 12^A(604)
.BR
<C74OTS###VERSION 12^A(604)
.BR
<COBDDT###VERSION 12^A(26)
.BR
<ISAM#####VERSION 12^A(161)
.BR
<LIBARY###VERSION 12^A(30)
.BR
<RERUN####VERSION 12^A(6)
.LM 0;.B 1
^THE ABOVE SOFTWARE WILL RUN ON ALL SUPPORTED MONITORS AND HAS BEEN TESTED UNDER
.IF TWENTY
<TOPS-20 RELEASE 3^A AND ^RELEASE 4.
.ELSE TWENTY
<TOPS-10 6.03^A AND 7.00.
.ENDIF TWENTY
.B 1
^THIS RELEASE CONTAINS THE COMMON SOURCES FOR BOTH <COBOL-68 AND <COBOL-74.
.B 1
<COBOL-74 VERSION 12^A CONFORMS TO THE FULL <ANSI HIGHEST LEVEL EXCEPT FOR:
.BR
<IDX	^NO MULTI-KEY <ISAM
.BR
<RPW	^IT CONTAINS <ANS-68 ^REPORT ^WRITER (SAME AS <COBOL-68)
.BR
<DEB	^NO ^DEBUG MODULE
.B 1
^SEE SECTION 3 FOR KNOWN DEFICIENCIES.
.B 1
^SEE ^^COBOL INSTALLATION GUIDE\\ FOR CONFIGURATION SWITCH SETTING
 AND COMPATIBILITY ISSUES.
.B 2
.LM 0
1.1	^BIBLIOGRAPHY
.BLANK 1
^^COBOL-68  LANGUAGE MANUAL AA-5057A-TK
.BR
^^COBOL-74  LANGUAGE MANUAL AA-5059A-TK
.BREAK
COBOL INSTALLATION GUIDE (COBOL.INS)
.BREAK
CBL12A.DOC, NEWCOB.MEM, AND SRT4B.DOC
\\
.LM 0;.B 3
1.2	^REQUIRED ^SOFTWARE
.B 1
^THE FOLLOWING SOFTWARE IS REQUIRED TO BUILD <COBOL <V12^A.
.B 1;.LM 5;.TS 20
^NAME	^VERSION
.BREAK
----	-------
.BREAK
<MACRO	53(1020)
.BREAK
<LINK	#4(765)
.BREAK
<MAKLIB	#2(20)
.IF TWENTY
.BR
<PA1050	3^A(307)
.BR
<MACREL	^PRE-^RELEASE 4
.B 1
^NOTE, THIS IS NOT THE OFFICIAL ^RELEASE 4 <MACREL AND SHOULD ONLY BE USED TO BUILD <COBOL AND <SORT. ^IT CAN BE REPLACED BY THE OFFICIAL ^RELEASE 4 VERSION WHEN ^RELEASE 4 IS SHIPPED.
.ELSE TWENTY
.BR
<UUOSYM	13^A(406)
.ENDIF TWENTY
.TS 5;.LM 0
.PAGE
.LEFT MARGIN 0
.SUBTTL <EXTERNAL <CHANGES AND <OPTIONS
2.0	^^EXTERNAL ^CHANGES AND ^OPTIONS\\
.J
.LM 5;.B 2;.I-5
2.1	<COBOL <BUG <FIXES <SINCE <COBOL-74 <V12(601)
.B 2
.I -5
^NOTE, EDIT 617 HAS BEEN TEMPORARILY REMOVED SINCE IT CAUSES OTHER PROBLEMS.
.B 1
.LM 9;.I -9
^EDIT 726 ^FIX <COPY <REPLACING WHEN REPLACED ITEM IS AN EXACT MULTIPLE OF SIX CHARS.
.B 1;.I -9;^EDIT 725 ^MAKE SURE <FFATAL IS ON IF FATAL ERRORS EXIST.
.B 1;.I -9;^EDIT 724 ^FIX ERROR IN EDIT 722.
.B 1;.I -9;^EDIT 723 ^FIX EDIT 706 TO POINT TO CORRECT RECORD.
.B 1;.I -9;^EDIT 722 ^FIX <COBOL-74 <MOVE <HIGH-VALUES OR <LOW-VALUES WHEN <PROGRAM <COLLATING <SEQUENCE HAS BEEN SPECIFIED.
.B 1;.I -9;^EDIT 721 ^FIX <COBOL-74 SUBSCRIPTED <IF WHEN <PROGRAM <COLLATING <SEQUENCE HAS BEEN SPECIFIED.
.B 1;.I -9;^EDIT 720 ^FIX <COBOL-74 COMPARE TO <SPACES WHEN <PROGRAM <COLLATING <SEQUENCE HAS BEEN SPECIFIED.
.B 1;.I -9;^EDIT 717 ^FIX <IF A <NOT = <SPACES FOR A <ALPHANUMERIC AND LONGER THAN 2040 CHARACTERS.
.B 1;.I -9;^EDIT 716 ^FIX BAD CHECK FOR <EBCDIC MODE IN SUBSCRIPTING.
.B 1;.I -9;^EDIT 715 ^CORRECT EDIT 566.
.B 1;.I -9;^EDIT 714 ^BREAK UP LONG LINES DUE TO <SIRUS BUG.
.B 1;.I -9;^EDIT 713 ^DO <TMPCOR <UUO IN THE RIGHT ADDRESS IF <CORE <UUO IS NEEDED.
.B 1;.I -9;^EDIT 712 ^NOT REQUIRED, ALREADY IN 12^A IN A DIFFERENT FORM.
.B 1;.I -9;^EDIT 711 ^FIX EDIT 674 FOR INDEX ITEMS.
.B 1;.I -9;^EDIT 710 ^SET FLAG SHOWING <WORKING-STORAGE <SECTION SEEN.
.B 1;.I -9;^EDIT 707 ^FIX EDIT 670 - IT BROKE NESTED <IF<S.
.B 1;.I -9;^EDIT 706 ^CHECK <RECORD <CONTAINS CLAUSE AGAINST MAXIMUM RECORD SIZE.
.B 1;.I -9;^EDIT 705 ^PUT OUT <PERIOD <ASSUMED MESSAGE IN RIGHT PLACE.
.B 1;.I -9;^EDIT 704 ^FIX MULTIPLE <COPY <REPLACING ORDERING BUG.
.B 1;.I -9;^EDIT 703 ^BAD CODE GENERATED FOR <SIXBIT <SORT WHERE KEY STARTS ONE CHARACTER INTO A WORD (NON-^^BIS\\ CASE ONLY).
.B 1;.I -9;^EDIT 702 ^LIST COMMENTS IN <DATE-COMPILED PARAGRAPH.
.B 1;.I -9;^EDIT 701 ^DON'T DO IMPROPER OPTIMIZATIONS - FIX TO <SAMACM ROUTINE IN <PMATCH.
.B 1;.I -9;^EDIT 700 ^FIX UNDESERVED ERROR FOR <COMP-1 ITEMS WITH EDIT 674.
.B 1;.I -9;^EDIT 677 ^TABLES EXPANDING MAY CAUSE <DBMS <USE <PROCEDURES TO GET MESSED UP.
.B 1;.I -9;^EDIT 676 ^FIX EDIT 517, GET LISTING RIGHT WHEN SPACE IN COLUMN 7.
.B 1;.I -9;^EDIT 675 ^CHECK <FIND <RSE 3 SYNTAX THAT COULD LOOK LIKE <FIND <RSE 5.
.B 1;.I -9;^EDIT 674 ^GENERATE ERROR FOR BAD VALUE CLAUSE OF 88 LEVEL ITEM.
.B 1;.I -9;^EDIT 673 ^FIX QUAD-WORD ROUNDING PROBLEM.
.B 1;.I -9;^EDIT 672 ^FIX ^ILL ^MEM ^REF WHEN SOMEONE DEFINES A DATANAME <TALLY.
.B 1;.I -9;^EDIT 671 ^FIX PROBLEM WITH LINKAGE SECTION SUBSCRIPTS.
.B 1;.I -9;^EDIT 670 ^FIX NESTED <IF . <ELSE PROBLEM.
.B 1;.I -9;^EDIT 667 ^WRONG CODE FOR <EBCDIC <KEYS WITH 2 BYTES IN LAST WORD.
.B 1;.I -9;^EDIT 666 ^FIX EDIT 661 (LABEL <BADSB4 WAS ALREADY DEFINED IN MAINTENANCE SOURCES).
.B 1;.I -9;^EDIT 665 ^RECOVER CORRECTLY FROM <PROCEDURE <DIVISION MIS-SPELLED.
.B 1;.I -9;^EDIT 664 ^FIX MULTIPLY WITH 4-WORD INTERMEDIATE PROBLEM.
.B 1;.I -9;^EDIT 663 ^FIX <SKIPA OPTIMIZATION IF PREVIOUS INSTRUCTION IS <JRST .+3.
.B 1;.I -9;^EDIT 662 ^FIX EDIT 557, DEFINE <PICNXT COMMON TO PHASES ^B, ^C, AND ^D.
.B 1;.I -9;^EDIT 661 ^GIVE ERROR MESSAGE RATHER THAN GENERATING BAD CODE FOR <COMP-1 SUBSCRIPTS.
.B 1;.I -9;^EDIT 660 ^FIX ERROR MESSAGE POINTS TO WRONG PLACE FOR <WRONG <NUMBER <OF <SUBSCRIPTS.
.B 1;.I -9;^EDIT 657 ^FIX PROBLEM WITH LOOKAHEAD IN <COPY <REPLACING INTEGER.
.B 1;.I -9;^EDIT 656 ^FIX PROBLEMS WITH <DBMS <USE <PROCEDURES.
.B 1;.I -9;^EDIT 655 ^CHECK FOR PREMATURE <EOF ON LIBRARY FILE.
.B 1;.I -9;^EDIT 654 ^FIX BAD CODE GENERATED SOMETIMES FOR <MOVE OF ITEM WITH TWO OR MORE SUBSCRIPTS.
.B 1;.I -9;^EDIT 653 ^TURN ON <FFATAL ON ASSEMBLY ERRORS IN PHASE ^G.
.B 1;.I -9;^EDIT 652 ^ALLOW NULL PARAGRAPH PROCEEDING <END <DECLARATIVES.
.B 1;.I -9;^EDIT 651 ^WRONG BYTE POINTER USE IN <RPW <CONTROL FOOTER CODE.
.B 1;.I -9;^EDIT 650 ^FIX ^ILL ^MEM ^REF WHEN COMPILER EXPANDS TABLES FOR <DBMS PROGRAM WITH <USE <PROCEDURES.
.B 1;.I -9;^EDIT 647 ^WRONG CODE GENERATED FOR <FILLER ^X(5), <KEY ^X(8) IN <SIXBIT <SORT.
.B 1;.I -9;^EDIT 646 ^FIX ERROR MESSAGE ALWAYS POINTS TO LINE 371 IF ERROR WAS IN SUBSCRIPTED <COUNT ITEM IN <UNSTRING STATEMENT.
.B 1;.I -9;^EDIT 645 ^FIX ERROR RECOVERY IN <SORT STATEMENT; ALSO
 ADD RESTRICTION TO <MERGE STATEMENT TO NOT ALLOW SUBSCRIPTING.
.B 1;.I -9;^EDIT 644 ^MORE ERROR RECOVERY FOR 88 LEVEL WHERE 01 IS NOT DEFINED UNIQUELY.
.B 1;.I -9;^EDIT 643 ^FIX <?SIZTE <RETURNED 0.
.B 1;.I -9;^EDIT 642 ^FIX ^^MOVE CURRENCY STATUS OF RUN-UNIT\\ TO SUBSCRIPTED-ITEM.
.B 1;.I -9;^EDIT 641 ^FIX INCORRECT TEST FOR OPERAND IS <ACC AT <LASTOP IN <EXPGEN.
.B 1;.I -9;^EDIT 640 ^FIX ILL MEM REF WHEN EXPANDING TABLES IN PHASE ^O.
.B 1;.I -9;^EDIT 637 ^FIX <COMPUTE WITH <COMP-1 RESULT.
.B 1;.I -9;^EDIT 636 ^FIX VARIOUS ERRORS WHEN COMPILING PROGRAMS WITH FATAL ERRORS.
.B 1;.I -9;^EDIT 635 ^FIX SIZE ALLOCATION FOR AN ITEM WHICH <RENAMES ITEM-1 <THRU ITEM-2.
.B 1;.I -9;^EDIT 634 ^FIX PROBLEMS WITH 4-WORD <COMP ARITHMETIC.
.B 1;.I -9;^EDIT 633 ^GIVE BETTER WARNING ON LINE NUMBER WRAP-AROUND.
.B 1;.I -9;^EDIT 632 ^REMOVE SECOND (WRONG) DEFINITION OF <ARGSGN IN <IPCGEN.
.B 1;.I -9;^EDIT 631 ^DON'T USE <ARG2 AT <PA258. THUS PREVENTING CATASTROPHE IN PHASE ^D.
.B 1;.I -9;^EDIT 630 ^FIX EDIT 562 FOR NON-^^BIS\\ CASE.
.B 1;.I -9;^EDIT 627 ^WRONG CODE GENERATED FOR <EBCDIC 8 BYTE <KEY WITH 1 OR 3 BYTES IN FIRST WORD.
.B 1;.I-9;^EDIT 626 ^FIX <MOVE OF 3 CHAR <EBCDIC FIG-CONST (<COBOL-68 ONLY).
.B 1;.I-9;^EDIT 625 ^FIX BAD TEST FOR TWO WORD <TEMP IN <PUTEMP.
.B 1;.I-9;^EDIT 624 ^RECORD SIZE MUST MATCH <RECORD <CONTAINS IN ^F MODE FILE.
.B 1;.I-9;^EDIT 623 ^GIVE ERROR IF <SORT <KEY CONTAINS <OCCURS CLAUSE.
.B 1;.I-9;^EDIT 622 ^WRONG CODE GENERATED FOR <FILLER ^X, <KEY <X(9) IN <SIXBIT.
.B 1;.I-9;^EDIT 620 ^STORE ^SEQ. ^NO. CORRECTLY FOR <DATE-COMPILED PARAGRAPH.
.B 1;.I-9;^EDIT 617 ^IF <FGTPER IS ON DON'T TEST FOR REPLACEMENT IN <COPY.
.B 1;.I-9;EDIT 616 ^FIX <SUBI/ADDI OPTIMIZATION IN <LINKAGE <SECTION.
.B 1;.I-9;^EDIT 615 ^PUT REMAINING FIXES FROM <BWR FILE INTO OFFICIAL SOURCES.
.B 1;.I-9;^EDIT 614 ^DECREMENT ^TAG COUNT CORRECTLY FOR <IF <D.P. TEST (THIS WAS IN <BWR FILE).
.B 1;.I-9;^EDIT 613 ^MAKE IT POSSIBLE TO BUILD COMPILER WITH <DBMS=0 (THIS WAS IN <BWR FILE).
.B 1;.I-9;^EDIT 612 ^INITIALIZE <FNOSUB AT THE START OF PHASE ^D (THIS WAS IN THE <BWR FILE).
.B 1;.I-9;^EDIT 611 ^FIX <IF <DBMS<-STATEMENT TO GENERATE CORRECT CODE (THIS WAS IN <BWR FILE).
.B 1;.I-9;^EDIT 610 ^FIX INCORRECT CODE GENERATED IN ARRAY WHERE TOP LEVEL IS <COMP AND IS REFERENCED VIA CONSTANT SUBSCRIPT.
.B 1;.I-9;^EDIT 607 ^FIX ^^?NPCIN BECAME NEGATIVE\\ WHEN DELETING CODE THAT CAN'T BE REACHED.
.B 1;.I-9;^EDIT 606 ^FIX ^^?INTERNAL COMPILER ERROR\\ IF 01 ITEM <OCCURS USAGE IS NON-^^DISPLAY\\.
.B 1;.I-9;^EDIT 605 ^MAKE VARIABLE LENGTH READS WORK USEFULLY.
.B 1;.I-9;^EDIT 604 ^PUT OUT CORRECT ERROR MESSAGE ON <STRING OF NON-^^NUMERIC\\ TO <NUMERIC.
.B 1;.I-9;^EDIT 604 ^CLEAR <ATEND FLAG ON <CLOSE <REEL.
.B 1;.I -9;^EDIT 603 ^FIX ^^?ILL UUO.\\ WHEN <CONTROL IN <RD REFERS TO EDITED ITEM.
.B 1;.I-9;^EDIT 602 ^ALLOW NULL SECTION IN ^PROCEDURE ^DIVISION.
.PAGE;.LM 0
2.2	<COBOL <BUG <FIXES <SINCE <COBOL-68 <V12(530)
.B 2;.LM 9;.I-9;^EDIT 601 ^CORRECT EDIT 546.
.B 1;.I-9;^EDIT	600 ^ADJUST <D.P. OF <"A" IN ACCS IF LESS THAN <D.P. OF <"B".
.B 1;.I-9;^EDIT	577 ^FIX <SET <DOWN <BY 262144 (I.E. _<-1,,0>).
.B 1;.I-9;^EDIT	576 ^FIX ^^?BAD LITAB CODE\\ - IN <ENABLE STMT CODE GEN.
.B 1;.I-9;^EDIT	575 ^FIX ^^MOVE ALL 'A' TO DISPLAY-ITEM (SUBSCRIPTED)\\.
.B 1;.I-9;^EDIT	574 ^DON'T SET BIT 1 FOR USER-NAME EXTERNAL ENTRY (BIT WENT AWAY).
.B 1;.I-9;^EDIT	573 ^ALLOW NULL PARAGRAPHS IN <DECLARATIVES.
.B 1;.I-9;^EDIT	572 ^MAKE TABLES BE SIZE 1 IF <DBMS OR <MSC/TCS TURNED OFF.
.B 1;.I-9;^EDIT	571 ^FINALLY FIX EDITS 531 AND 517.
.B 1;.I-9;^EDIT	570 ^ADD QUAD-WORD ROUNDING FUNCTION.
.B 1;.I-9;^EDIT	567 ^FIX DECIMAL POINT ALIGNMENT IN QUAD-WORD MULTIPLIES.
.B 1;.I-9;^EDIT	566 ^FLOAT OPERANDS WHEN TARGET IS <COMP-1.
.B 1;.I-9;^EDIT	565 ^PASS <NUMERIC <EDITED FIELDS TO A SUBROUTINE CORRECTLY.
.B 1;.I-9;^EDIT	564 ^FIX BUG IN EDIT 537 - NON-^^BIS\\ ONLY PROBLEM.
.B 1;.I-9;^EDIT	563 ^ILL. ^MEM. ^REF. FOR <FILLER ^X(3) OR ^X(4), <KEY ^X(8) IN <ASCII.
.B 1;.I-9;^EDIT	562 ^FIX <SIXBIT 6 CHAR <FIG-CON COMPARE WHEN SIGN GETS IN THE WAY.
.B 1;.I-9;^EDIT	561 ^FIX <GO <DEPENDING - /^O PROBLEM.
.B 1;.I-9;^EDIT	560 ^WRONG CODE GENERATED FOR <FILLER ^X(3), <KEY ^X(7) IN <SIXBIT.
.B 1;.I-9;^EDIT	557 ^FIX VARIOUS <COPY <REPLACING BUGS.
.B 1;.I-9;^EDIT	556 ^FIX <GETTAB 135 IF <FILDAEMON IS TURNED OFF IN <TOPS-10 MONITOR.
.B 1;.I-9;^EDIT	555 ^FIX MISCELLANEOUS PROBLEMS WITH <COBOL <SORT.
.B 1;.I-9;^EDIT	554 ^GIVE ERROR MESSAGE IF <KEY IN <SORT STATEMENT IS IN THE WRONG FILE.
.B 1;.I-9;^EDIT	553 ^GIVE WARNING IF <RECORDS/RERUN TOO LARGE.
.B 1;.I-9;^EDIT	552 ^GIVE ERROR IF <DECLARATIVES BUT NO <END <DECLARATIVES.
.B 1;.I-9;^EDIT	551 ^FIX ^CATASTROPHE IN ^PHASE ^E.
.B 1;.I-9;^EDIT	550 ^FIX <IF SUBSCRIPTED ITEM IS <ALPHABETIC.
.B 1;.I-9;^EDIT	547 ^FIX <EXAMINE <REPLACING <HIGH-VALUES <BY.
.B 1;.I-9;^EDIT	546 ^FIX <MULTIPLY -1 <BY <X GENERATES A <SETZM.
.B 1;.I-9;^EDIT	545 ^FIX STATEMENT AFTER <SUBTRACT 1 IS COMPILED WRONG.
.B 1;.I-9;^EDIT	544 ^FIX <HIGH-VALUES COMPARES FOR <SIXBIT VARIABLES.
.B 1;.I-9;^EDIT	543 ^FIX BAD LITERAL TABLE OFFSETS.
.B 1;.I-9;^EDIT	542 ^FIX <NUMERIC COMPARE OF FIELD WITH DECIMAL PLACES WITH EXPRESSION WITH NO DECIMAL PLACES.
.B 1;.I-9;^EDIT	541#^FIX ^CATASTROPHE IN ^PHASE ^O IF NULL <INPUT OR <OUTPUT PROCEDURES.
.B 1;.I-9;^EDIT	540 ^FIX <CONTROL <HEADING PRINTED PAST LINE SPECIFIED AS LAST <DETAIL <LINE.
.B 1;.I-9;^EDIT	537 ^FIX SUBSCRIPTED <MOVE WITH "^A" IN ACS.
.B 1;.I-9;^EDIT 536 ^FIX <MOVE OF <COMP ITEM TO <DISPLAY TO ONLY MOVE THE NUMBER OF CHARACTERS IN THE <COMP <PIC.
.B 1;.I-9;^EDIT 535 ^FIX EDIT 273 FOR ^^IF SET NOT EMPTY\\.
.B 1;.I-9;^EDIT 534 ^FIX <COMPUTE GETS ANSWER FROM WRONG AC.
.B 1;.I-9;^EDIT 533 ^MAKE <STOP <RUN WORK FOR <WHEN IN <SEARCH.
.B 1;.I-9;^EDIT 532 ^FIX 511 TO PROCESS ERRORS CORRECTLY.
.B 1;.I-9;^EDIT 531 ^FIX 517 TO COMPILE COPIES CORRECTLY.
.B 1;.I-9;^EDIT 517 ^IMPROVE READABILITY OF <.LST FILE.
.LM 0;.PAGE
2.3	<OTS <BUG <FIXES <SINCE <COBOL-74 ^V12(543)
.B 2
.L M 9
.I-9;^EDIT 603 ^TAKE OUT CALL TO <CLWSMU IN <CLSWEL (FROM EDIT 576).
.B 1;.I -9;^EDIT 602 ******* <NOT <USED *******
.B 1;.I -9;^EDIT 601 ^MAKE <COBOL-74 <FILE <STATUS FIXES AVAILABLE FOR <COBOL-68.
.B 1;.I -9;^EDIT 600 ^CORRECTLY SHUFFLE <SIXBIT RECORDS IN <SHFREC.
.B 1;.I -9;^EDIT 577 ^PUT IN CHECK FOR NO <CR-LF IN BLOCKED 1 <ASCII <MTA FILE, ALLOW IT WITH WARNING.
.B 1;.I -9;^EDIT 576 ^PUT CHECKPOINT <FILOP IN <CLSWEL FOR 10'S <SMU TYPE <CLOSE (FLUSHES BUFFERS).
.B 1;.I -9;^EDIT 575 ^FIX <OPEN FOR SPOOLED <CDR WHEN FILE IS EMPTY OR NONEXISTENT.
.B 1;.I -9;^EDIT 574 ^CHECK RECORD POINTER AS WELL AS KEY DESCRIPTION OF <ISAM FILE.
.B 1;.I -9;^EDIT 573 ^FIX EDIT 571 TO SAVE AC 7,14 BEFORE CALL TO <SU.CL.
.B 1;.I -9;^EDIT 572 ^FIX INFINITE LOOP OF TYPING OUT 0'S IF FIRST <CORE <UUO FAILS IN <RESET.
.B 1;.I-9;^EDIT 571 ^AT <C.CLOS, DO NOT CALL <SU.CL UNTIL ALL BUFFERS ARE OUT.
.B 1;.I-9;^EDIT 570 ^TAKE OUT EDIT 557 AND REPLACES IT WITH CODE TO FORCE THAWED ACCESS <COMPT. <LOOKUP FOR ALL <READ <ONLY <OPENS.
.B 1;.I-9;^EDIT 567 ^FIX THREE PROBLEMS WITH THE LEVEL IN <PERF.MAC.
.B 1;.I-9;^EDIT 566 ^PUT IN <LKPSIZ DEFINITION THAT SHOULD HAVE BEEN IN EDIT 565. ^THIS EDIT IS NOT NEEDED FOR THESE SOURCES, BUT IS ADDED TO CONFORM WITH <HOSS SOURCES, WHICH WERE THE ONES THAT MISSED IT.
.B 1;.I-9;^EDIT 565 ^FIX <OPNELO TO CALCULATE FILE SIZE WHEN CALLED FROM <LFENQ., BUT NOT AFTER.
.B 1;.I-9;^EDIT 564 ^FIX OPTIONAL FILE ROUTINE <YES.NO TO EAT WHOLE ANSWER LINE UP TO <EOL.
.B 1;.I-9;^EDIT 563 ^CHECK FOR ILLEGAL FILE NAME AND GIVE FATAL ERROR IF FOUND.
.B 1;.I-9;^EDIT 562 ^DUMMY EDIT TO GET 10 AND 20 SOURCES BACK IN SYNC.
.B 1;.I-9;^EDIT 561 ^FIX <MTA LABEL PROCESSING TO ALLOW FOR <ANSI LABELS IN MONITOR VERSION 4.
.B 1;.I-9;^EDIT 560 ^FIX EDIT 544.
.B 1;.I-9;^EDIT 557 ^REMOVE <EXTENDED <LOOKUP IN <OPEN AND ALLOW FOR <OPEN <READ <ONLY WHEN ANOTHER PROGRAM HAS <OPENED THE FILE FOR SIMULTANIOUS UPDATE.
.B 1;.I-9;^EDIT 556 ^FIX <RESET WITH SHARED BUFFER AREAS TO WORK FOR <ISAM "SAVE" AREAS.
.B 1;.I-9;^EDIT 555 ^FIX READ OF <EBCDIC FILE WITH RECORDING MODE OF BINARY READ WRONG NUMBER OF CHARACTERS.
.B 1;.I-9;^EDIT 554 ^ENCLOSE QUAD-WORD ROUTINES IN <BIS CONDITIONAL.
.B 1;.I-9;^EDIT 553 ^ALLOW NO DIGITS FOLLOWING A DECIMAL POINT.
.B 1;.I-9;^EDIT 552 ^FIX <ISAM ^SEQUENTIAL <READ AFTER A <WRITE WHICH SPLITS BOTH A DATA BLOCK AND AN INDEX BLOCK.
.B 1;.I-9;^EDIT 551 ^FIX <E0.6.1, <E0.7.1, <E0.9.1 NOT FOUND IN </R CASE.
.B 1;.I-9;^EDIT 550 ^FIX NULL CONVERSION IN <LRDEQ.
.B 1;.I-9;^EDIT 547 ^NOT USED.
.B 1;.I-9;^EDIT 546 ^FIX SMASHING OF AC WHEN <INSPECT <REPLACING.
.B 1;.I-9;^EDIT 545 ^STORE NO. OF CHARACTERS IN VAR. LEN. RECORD IN FILE TABLE.
.B 1;.I-9;^EDIT 544 ^CHECK FOR MISSING HALF OF <PPN AND FILL IN DEFAULT.
.LM 0;.PAGE
2.4	<OTS <BUG <FIXES <SINCE <COBOL-68 ^V12(525)
.B 2
.L M 9
.I-9;^EDIT 543	^MOVE CODE TO SETUP <.JBHRL FROM <CBLIO TO <COBST. ^THIS IS REQUIRED FOR OVERLAYS ON <TOPS-20.
.B 1;.I-9;^EDIT 542	^FIX <ASCII TO <EBCDIC RECORD CONVERSION TO RECOGNIZE <E-O-L CHARACTERS.
.B 1;.I-9;^EDIT 541	^FIX <BYTE MODE TO <EBCDIC TAPE (GAVE ^ILL. ^ADDR. IN <UUO).
.B 1;.I-9;^EDIT 540	^ADD QUAD-WORD ROUNDING FUNCTION.
.B 1;.I-9;^EDIT 537	^FIX EDIT 521, USE <TMP.DP.
.B 1;.I-9;^EDIT 536	^MAKE <LIBOL IDENTIFY AN OVERLAY FILE IT CAN'T FIND.
.B 1;.I-9;^EDIT 535	^FIX <LIBOL-12 TO RUN WITH <IQL.
.B 1;.I-9;^EDIT 534	^FIX <EOF FOR <LOW-VALUES <READ OF <ISAM FILES IN <SIMULTANEOUS <UPDATE.
.B 1;.I-9;^EDIT 533	^FIX <DISPLAY DOESN'T DISPLAY TRAILING SPACES.
.B 1;.I-9;^EDIT 532	^FIX ILLEGAL INSTRUCTION FROM <LSU FOR <SIMULTANEOUS <UPDATE.
.B 1;.I-9;^EDIT 531 ^FIX ERROR ON <WRITE OF <NON-STANDARD <LABELS TO <NUL:
.B 1;.I-9;^EDIT 530 ^FIX DEVICE NOT AVAILABLE ERROR TO GIVE THE CORRECT DEVICE NAME.
.B 1;.I-9;^EDIT 527 ^TEST FOR <OVERFLOW AND <UNDERFLOW BEFORE FIXING A FLOATING POINT NUMBER.
.B 1;.I-9;^EDIT 526 ^FIX <ASCII WRITES TO <RANDOM FILE MAY PUT BIT 35 ON <TOPS-20.
.PG;.LEFT MARGIN 5
.I-5
2.5	<LIBARY <BUG <FIXES
.B 1
.LM 9
.I-9;^NOTE, THE EDITOR COMMANDS HAVE BEEN REMOVED FROM <LIBARY.
.B 1;.I-9;^EDIT 30 ^PREVENT LOOPING "?^INCORRECT COMMAND" ERROR.
.B 1;.I-9;^EDIT 27 ^ADD <SFD SUPPORT AND IMPROVE ERROR MESSAGES.
.B 1;.I-9;^EDIT 26 ^FIX BUG IN /^D CAUSED BY EDIT 24.
.B 1
.I-9;^EDIT 25 ^PUT TAB AFTER LINE NUMBER ON LISTING FILE.
.B 1
.I-9;^EDIT 24	^PUT PAGE NUMBER ON LISTING OF LIBRARY.
.B 2
.LEFT MARGIN 5
.I-5
2.6	<ISAM <BUG <FIXES
.LM 9;.B 1;.I-9;^EDIT 161 ^FIX TAPE LABEL ERROR ROUTINE AT <LTCTST:.
.B 1;.I -9;^EDIT 160 ^ISSUE WARNING ^U BEFORE ^X IN <KEY DESCRIPTOR.
.B 1;.I-9;^EDIT 157 ^FIX <FILOP.#UUO<#FOR LARGE FILES.
.B 2;.LM 5;.I-5
2.7	<COBDDT <BUG <FIXES
.LM 9;.B 1;.I-9
^NOTE, ^THIS VERSION OF <COBDDT WILL NOT WORK WITH VERSIONS OF <COBOL PRIOR TO V12^A.
.B 1;.I-9;^EDIT 26 ^ADD MORE NEW FEATURES. ^SEE <NEWCOB.MEM.
.B 1;.I-9;^EDIT 25 ^ADD BETTER COMMENTS, MINOR BUG FIXES.
.BR
^ADD REQUIREMENT THAT <STOP COMMAND BE TYPED IN FULL.
.B 1;.I-9;^EDIT 24 ^ADD <NEXT _<INTEGER_> COMMAND.
.B 1;.I-9;^EDIT 23 ^FIX BREAKPOINT INSERTION AFTER <.REENTER.
.B 1;.I-9;^EDIT 22 ^FIX ^^?ITEM TOO LARGE FOR TEMP\\ ERROR TO <DISPLAY CORRECTLY.
.PG;.LEFT MARGIN 5
.I-5
2.9	<SYNTACTIC AND <SEMANTIC <CHANGES <NOT <YET <DOCUMENTED
.B 1
.LM 9
.I-9;<COMPUTE ^STATEMENT
.B 1
^INTERNAL SUPPORT FOR DOUBLE PRECISION FLOATING POINT HAS BEEN ADDED TO BOTH THE COMPILER AND <OTS. ^THERE IS A NEW FEATURE TEST SWITCH <BISCMP WHICH, IF ON, CAUSES ALL <COMPUTE STATEMENTS TO COERCE THE DATA INTO DOUBLE PRECISION FLOATING POINT. ^IN THIS VERSION THE FEATURE TEST IS <OFF.
 ^THIS IS BECAUSE THE CODE HAS NOT HAD SUFFICIENT TESTING, HOWEVER IF ANYONE TURNS IT ON AND TRIES IT OUT, WE WILL FIX ANY BUGS FOUND. ^THIS CODE WILL ONLY WORK ON <KL <CPU<S. ^THERE ARE NO PLANS TO ADD DOUBLE PRECISION FLOATING POINT AS AN EXTERNAL DATA TYPE.
.B 1;.I-9;<VARIABLE <LENGTH <SEQUENTIAL <RECORDS
.B 1
^VERSION 12^A CORRECTLY READS AND WRITES VARIABLE LENGTH SEQUENTIAL RECORDS.
.BR
^THE SIMPLEST WAY TO DESCRIBE THE RECORD IS AS:
.BR
01 RECORD <PIC ^X <OCCURS N <TIMES <DEPENDING <ON DATA-NAME-1.
.BR
^WHERE DATA-NAME-1 IS NOT PART OF THE RECORD.
.BR
^ON <WRITE ALL THAT HAS TO BE DONE IS TO SETUP DATA-NAME-1 TO THE CORRECT SIZE AND DO THE <WRITE. ^ON <READ DATA-NAME-1 WILL BE SETUP CORRECTLY AFTER THE <READ SO THAT THE USER CAN TELL HOW BIG THE RECORD WAS.
.IFN TWENTY
.B 1;.I-9;<OPEN <EXTEND
.B 1
^THIS IS THE <COBOL-74 <OPEN <EXTEND SYNTAX. ^IT ALLOWS THE USER TO APPEND TO A SEQUENTIAL FILE TO EITHER <DSK OR <MTA.
.ENDIF TWENTY
.B 1;.I-9;<DISPLAY <IS <DISPLAY-6/7/9
.B 1
^THIS CLAUSE HAS BEEN ADDED TO THE <OBJECT <COMPUTER PARAGRAPH TO ALLOW THE USER TO SET THE DEFAULT <DISPLAY MODE. ^IT IS SIMILAR TO /^X BUT ALSO ALLOWS <DISPLAY-7.
.B 1;.I-9;<WRITE RECORD <FROM <SPACES
.B 1
^THIS IS AN EXTENSION OF <WRITE RECORD <FROM DATA-NAME.
.BR
^IT IS EQUIVALENT TO
.BR
<MOVE <SPACES <TO RECORD.
.BR
<WRITE RECORD.
.B 1;.I-9;<CHECKPOINT <OUTPUT
.B 1
^THE ORIGINAL SYNTAX WAS:
.BR
<ACCESS <MODE <IS <INDEXED <CHECKPOINT <OUTPUT
.BR
AT USER'S REQUESTS THE SYNTAX WAS EXPANDED TO COVER <RANDOM AND <SEQUENTIAL ALSO.
.BR
^THE ACTION IS TO DO A <CHECKPOINT <FILOP AFTER EVERY OUTPUT WHICH IS EQUIVALENT TO, BUT MUCH FASTER THAN, A <CLOSE FOLLOWED BY AN <OPEN. ^THIS SHOULD GREATLY INCREASE THE RELIABILITY OF <ISAM FILES AT THE EXPENSE OF PERFORMANCE.
.IFN TWENTY
.B 1;.I -9;<BYTE <MODE
.B 1
^THIS WAS IN VERSION 12 BUT UNDOCUMENTED. ^THE SYNTAX IS
.BR
<RECORDING <MODE <IS <BYTE <MODE [<ASCII, <SIXBIT, ...]
.BR
^IF <BYTE <MODE IS USED, THE EXACT NUMBER OF BYTES IS WRITTEN ON THE TAPE, IT DOES NOT ROUND UP TO THE THE WORD BOUNDARY. ^THIS IS VALID ONLY ON MAGNETIC TAPE.
.ENDIF TWENTY
.B 1;.I-9;<DENSITY <IS 6250
.B 1
^ALLOW THE SYNTAX FOR MAG TAPE DENSITY OF 6250 BPI.
.B 1;.I-9;<SELECT FILE-NAME <ASSIGN <TO LITERAL-1
.B 1
^THIS IS AN EXTENSION OF THE <SELECT STATEMENT TO ALLOW DEVICES THAT LOOK LIKE <COBOL RESERVED WORDS TO BE USED. ^NOTE THE LITERAL MUST BE A LEGAL <TOPS-10 STYLE DEVICE NAME, NO "-" FOR EXAMPLE.
.PAGE
.SUBTTL <DEFICIENCES
.LEFT MARGIN 0
3.0	<DEFICIENCIES
.B 2
3.1	<NEW ^DEFICIENCIES FROM <COBOL V12
.B 2;.LM 5
<COPY <REPLACING HAS SOME PROBLEMS IN THAT IT IS NOT POSSIBLE TO REPLACE EITHER PART OF <PIC XYZ WITHOUT REPLACING THE WHOLE.
.BR
I.E. ^^REPLACING ==PIC S9(10)==\\
.BR
WILL WORK
.BR
BUT
.BR
^^REPLACING ==PIC==\\ OR ^^REPLACING ==S9(10)== \\ WILL NOT.
.B 1
^NOTE, IT WAS NEVER THE INTENT (AND IT CONTRAVENES THE <ANSI STANDARD) FOR <COPY <REPLACING TO REPLACE PART OF A DATA-ITEM.
.BR
<REPLACING <AA BY <BB SHOULD NOT TURN <AA-XYZ INTO <BB-XYZ.
.IF TWENTY
.B 1
^There is currently an incompatibility between <TOPS10 and <TOPS20 that causes
a problem for simultaneous update under <TOPS20. ^Under <TOPS10
it is possible to have one program open a file for INPUT (only) without
simultaneous update control while at the same time another program is running
that opens the same file for simultaneous update. ^Currently <TOPS20 does
not support the open mode that allows this, so that the first program to open
the file will stop the other, with its different mode, from running (it will
die with an open error). ^This incompatibility will not be addressed by <TOPS20
until a future release.
.ENDIF TWENTY
.B 1
^PROGRAMS WHICH CONTAIN NESTED <SEARCH STATEMENTS GENERATE INSTRUCTIONS WHICH JUMP TO THEMSELVES. ^THESE INSTRUCTIONS NEVER GET EXECUTED SO THE PROGRAM WORKS, HOWEVER THE OPTIMIZER DOES NOT KNOW HOW TO HANDLE THEM
 AND GOES INTO AN INFINITE LOOP. ^FOR NOW DO NOT OPTIMIZE PROGRAMS WHICH CONTAIN NESTED <SEARCH<ES.
.IF TWENTY
.B 1
<OPEN <REVERSED IN <COBOL-74 DOES NOT WORK CORRECTLY.##*(1)
.BR
^THERE ARE TWO PROBLEMS, ONE IN <LIBOL WHICH CHECKS THE RECORD SEQUENCE IN THE WRONG DIRECTION, AND ONE IN THE COMPATIBILITY PACKAGE <PA1050
WHICH LOSES THE REVERSED INFORMATION SO THAT THE FILE IS READ FORWARDS FROM THE END OF FILE THUS READING NO DATA.
^THE <PA1050 BUG WILL BE FIXED IN ^RELEASE 4.
.B 1
^IF <PA1050 GETS CONTROL ON A <QUOTA <EXCEEDED INTERUPT DURING COMPILATION A VARIETY OF STRANGE THINGS MAY HAPPEN. ^THIS IS A <PA1050 BUG WHICH IS FIXED BY <SIRUS <PCO <20-PA1050-20 AND WILL BE IN ^RELEASE 4.
.ELSE TWENTY
.B 1
^THE <LINK SUPPLIED WITH 7.00 FOR LOADING THE MONITOR WILL NOT LOAD <COBOL-74 SUBROUTINES, <COBOL-68 IS <OK. ^USE FIELD IMAGE <LINK FOR THIS CASE.
.ENDIF TWENTY
.B 1
^IN <COBOL-74 THE STATEMENT
.BR
<PROGRAM <COLLATING <SEQUENCE <IS <EBCDIC 
.BR
IS NOT SUPPORTED EVEN THOUGH THE MANUAL IMPLIES THAT IT IS.
.B 1
<MULTIPLY ^A <BY ^B <GIVING ^C <ON <SIZE <ERROR ...##*(1)
.BR
WHERE ^A, ^B AND ^C ARE DOUBLE PRECISION 
.IFN TWENTY
(<BIS ONLY) 
.ENDIF TWENTY
HAS A PROBLEM IN THAT THE COMPILER GENERATES CODE WHICH, BECAUSE OF THE <ON <SIZE <ERROR CODE, ASSUMES THAT THE CONVERSION FROM 4-WORDS TO <COMP HAS ALREADY TAKEN PLACE SO THE WRONG DATA IS STORED. ^CORRECT CODE IS GENERATED IF <ON <SIZE <ERROR IS NOT USED OR THE INTERMEDIATE TEMP IS NOT BIGGER THAN 18 DIGITS.
.B 1
<DIVIDE ^A <BY ^B <GIVING ^C##*(1)
.BR
WHERE ^A, ^B AND ^C ARE DOUBLE PRECISION <COMP AND HAVE SUFFICIENT DECIMAL PLACES SO THAT ^A MUST BE ADJUSTED TO BE BIGGER THAN 18 DIGITS SO AS NOT TO LOSE PRECISION 
.IFN TWENTY
(<BIS ONLY) 
.ENDIF TWENTY
THEN THE COMPILER GENERATES WRONG CODE FOR THE DIVIDE BY ^B. ^NOTE, THIS ONLY HAPPENS IF ^B IS <COMP.
.B 1
<MULTIPLY/DIVIDE ^A <BY ^B <GIVING ^C##*(1)
.BR
WHERE ^A, ^B AND ^C ARE DOUBLE PRECISION AND WHERE THE INTERMEDIATE TEMP IS 4-WORDS 
.IFN TWENTY
(<BIS ONLY) 
.ENDIF TWENTY
AND HAS MORE DECIMAL PLACES THAN ^C THEN WRONG RESULTS ARE GENERATED WHEN ^A AND ^B HAVE OPPOSITE SIGN.
.B 1
<CATASTROPHE <IN <PHASE ^C##*(1)
.BR
^IF THE <FD HAS A <RECORD <CONTAINS CLAUSE BUT NO DATA RECORD THEN THE COMPILER WILL GET A FATAL ERROR WHEN IT TRIES TO DIAGNOSE THE USER ERROR.
.B 1
<SOURCE-COMPUTER WITH NO COMMENT FOLLOWING IT CAUSES A FATAL ERROR.##*(1)
.FN 5
.B 1
---------------
.BR
\\*(1)##
^UNTESTED PATCHES EXIST FOR THESE PROBLEMS. ^THEY WILL BE PUBLISHED AFTER VERSION 12^A IS RELEASED WHEN THEY HAVE HAD MORE TESTING.
!
.PG
.CENTRE
********
.CENTRE
*#<NOTE#*
.CENTRE
********
.BR
^WE DO NOT RECCOMEND THAT THIS CHANGE BE INSTALLED UNLESS YOUR INSTALLATION IS HAVING PROBLEMS TRANSFERING DATA <TO AN <IBM MACHINE.
.B 1
^THE <ASCII TO <EBCDIC TRANSLATION TABLE WAS CHANGED IN VERSION 12 (AS THE RESULT OF SEVERAL <SPR<S) SO THAT THE TRANSLATION OF GRAPHICS WAS MORE CORRECT. ^HOWEVER IT IS STILL NOT CORRECT ACCORDING TO <IBM DOCUMENTATION, WE ARE CURRENTLY INVESTIGATING WHAT <VAX DOES TO SEE IF THERE CAN BE A <DEC TO <IBM STANDARD WE CAN LIVE WITH. ^HOWEVER IT SEEMS THAT WE NOW IN SOME CASES GENERATE INCORRECT <EBCDIC CHARACTERS FOR MINUS ZERO. ^THE INTERIM SOLUTION FOR THOSE WHO SEE THIS PROBLEM IS TO PUT THE TRANSLATION TABLE BACK THE WAY IT WAS IN VERSION 11 KNOWING THEN THAT THE TRANSLATION OF SOME GRAPHICS WILL BE WRONG.
.BR
^IN <CHREQV.MAC CHANGE
.BR
^E 133,255 TO ^E 133,340
.BR
^E 134,340 TO ; 134
.BR
^E 135,275 TO ^E 135,320
.BR
^E 136,137 TO ; 136
.BR
^E 140,171 TO ; 140
.BR
^E 175,320 TO ^E 175,260
.BR
^E 176,241 TO ; 176
.B 1
AND BEFORE <CAE INSERT
.BR
<DSAE 134,155
.BR
<DSAE 136,117
.BR
<DSAE 140,174
.BR
<DSAE 176,155
.B 1
.LM 0
.PG
3.2	<OLD ^DEFICIENCIES FROM BEFORE <COBOL V12
.B 2;.LM 5
^PROGRAM <ID SAME AS FILENAME, PROCEDURE NAME OR DATA NAME RESULTS IN SPURIOUS ERROR MESSAGES.
.B 1
^IF <A=B AND <C=D OR ^E FOR SUBSCRIPTED ^A AND ^C GIVES WRONG CODE, CAUSE "<SUBSCRIPT NOT <POSITIVE" RUN TIME MESSAGE IF SUBSCRIPTS NOT <COMP OR <INDEX.
.B 1
^USING ARGUMENT MISSING IN CALL STATEMENT GIVES WRONG ERROR MESSAGE.
.B 1
^MISSPELLED COLUMN NOT HANDLED PROPERLY IN THE REPORT SECTION.
.B 1
^ERROR NOT DETECTED.
.BR
^A <RESET <FINAL CLAUSE IS LEGITIMATE ONLY WHEN <FINAL IS GIVEN
AS A CONTROL. ^VIOLATION OF THIS RULE GOES UNDIAGNOSED.
^A <RESET CLAUSE CAN ONLY ACCOMPANY A SUM CLAUSE.
^A <RESET CLAUSE ACCOMPANYING A SOURCE CLAUSE
RECEIVES NO DIAGNOSTIC.
.B 1
^INCORRECT ERROR MESSAGE.
.BR
<DATA-NAME <RC WHICH IS DEFINED ON LAST LINE OF THE
WORKING-STORAGE SECTION IS INCORRECTLY DIAGNOSED AS
UNDEFINED IN THE DECLARATIVES AREA OF PROCEDURE DIVISION.
^IT IS CONSIDERED TO BE DEFINED OK 
IN THE REPORT SECTION, HOWEVER.
.B 1
^INCORRECT ERROR MESSAGE.
.BR
<COBOL RULES MAKE THE PRESENCE OF A DATA-NAME OPTIONAL IN THE
CONTROL FOOTING REPORT DESCRIPTION  PROVIDED
 THERE IS NO NEED TO REFERENCE THE REPORT GROUP.
^IN THE CASE WHERE THE DATA-NAME IS PRESENT THE
PROGRAM COMPILES WITHOUT ERROR. ^IN THE CASE WHERE THE DATA
NAME IS NOT PRESENT THE COMPILER SEEMS TO BE
DISALLOWING SECTIONS IN THE PROCEDURE DIVISION.
.B 1
<DBMS ERROR HANDLING
.BR
^ERRORS WHICH RELATE TO THE SCHEMA ARE NOT TABULATED
IN THE ERROR COUNT, AND THEY GO ONLY TO THE <TTY.
.S 1
^IF "^^USE AFTER ERROR PROCEDURE ON \\X" WHERE X IS "<INPUT", "<OUTPUT\ OR "^I-^O" AND "^^USE AFTER ERROR PROCEDURE ON \\FILE-NAME" ARE BOTH SPECIFIED, THEN FILE-NAME MAY NOT BE <OPEN<ED FOR X.
.PG;.LM 0
.IF TWENTY
3.3	<SIMULTANEOUS <UPDATE:
.B 2;.LM 5
^Because of a problem in the <TOPS-20 monitor, records updated in a  file
via <SMU mode which cause the length of the file to be extended by one
program will not be found by other users until both programs close and
reopen  the  file. ^To  overcome this restriction for <ISAM files, the
<ISAM utility sets the file size for <.IDX and <.IDA files  to  +infinity
(2**35  -1)  in the File Descriptor Block <(FDB). ^Please note that the
files physical length is the correct number  of  bytes  written. ^The
file's size in pages is displayed correctly by <VDIRECTORY.
.B 1
^This patch allows Simultaneous Update  users  to  process <ISAM  files
correctly. ^However  some programs or <TOPS20 commands (such as <FILCOM
or <QUEUE <LPT:  = <file/PRINT:OCTAL) which attempt to  access  the  file
sequentially will run improperly - they will run and run and run...
.B 1
^A special purpose utility <SETEOF.EXE is included in  the  second  save
set. <SETEOF  may  be  used  to  extend the file size in the <FDB to a
large, user specified size or to reduce a file with an  extended  file
size  to the actual file size (rounded upward to the next page). ^This
will allow users of random files in simultaneous update mode to extend
the  file  size  before  processing. ^ConversEly,  if a user wishes to
sequentially process a file with an extended file size, the  user  may
use <SETEOF  and  specify a file size of "0" to reduce the file to the
actual file size (rounded upward to the next page).
.PG;.LM 0
.ENDIF TWENTY
4.0	^INSTALLATION ^INSTRUCTIONS
.BLANK 2
^SEE THE <COBOL-68/74 ^INSTALLATION ^GUIDE (<COBOL.INS) FOR COMPLETE INSTALLATION INSTRUCTIONS.
.B 3
.LEFT MARGIN 0
5.0	<INTERNAL <CHANGES
.BLANK 2
5.1	<I/O ^PERFORMANCE ^METERING
.B 1
^A NEW FEATURE TEST SWITCH, <LSTATS AND TWO NEW MODULES, <METUNV.MAC AND <METIO.MAC HAVE BEEN ADDED TO DO <OTS PERFORMANCE ANALYSIS. ^THE FEATURE TEST SWITCH IS <OFF IN THIS RELEASE, HOWEVER THE SAVE SET <LSTATS CONTAINS A
.IFN TWENTY
<KL-10 
.ENDIF TWENTY
VERSION OF THE <OTS WITH THIS FEATURE TURNED ON. ^SEE <IOPERF.MEM FOR DETAILS.
.B 2
5.2	^MISC.
.LM 3
.B 1;.I -3
1.#^THE <DATE AND <TIME ROUTINES HAVE BEEN MOVED FROM <CBLIO.MAC TO A NEW ROUTINE <TODAY.MAC.
.BR;.I -3
2.#^THE FLOATING POINT CONVERSION ROUTINES <FLOT.1 AND <FLOT.2 HAVE BEEN COMBINED INTO ONE MODULE <FLOAT.
.BR;.I -3
3.#^MOST OF THE NUMERIC CONSTANTS IN <CBLIO.MAC HAVE BEEN REPLACED BY SYMBOLIC CONSTANTS AND THE <TX AND <MOVX MACROS HAVE BEEN USED.
.BR.I -3
4.#^WHEREVER POSSIBLE SYMBOL DEFINITIONS HAVE BEEN MOVED FROM <CBLIO AND OTHER MODULES INTO THE APPROPRIATE <UNV FILE.
.BR.I -3
5.#^THE MODULE <UUO.MAC IS NO LONGER REQUIRED AND HAS BEEN DELETED.
.LM 0;.S 1
[^^END OF FILE CBL12A.DOC]\\