COBOL.BWR -- Beware file for COBOL-74 version 12B July 1981 COPYRIGHT (C) 1981 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 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. THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. COBOL.BWR -- Beware file for COBOL-74 version 12B Page 2 1. Loading COBOL-74 subroutines PCO Log Report [PCO Write-up] ********** [SYMPTOM] LINK erroneously generates the LNKCMC message whenever more than one COBOL-74 module is loaded. ********** [DIAGNOSIS] A POPJ P, was left out by edit 1174, causing the LNKCMC message if the load was in fact legal. ********** [CURE] Put the POPJ P, back in so that more than one COBOL-74 module can be loaded again. COBOL.BWR -- Beware file for COBOL-74 version 12B Page 3 PCO Log Report [FILCOM] File 1) DSKC:LNKHST.MAC[30,4507] created: 1650 12-Nov-1979 File 2) DSKC:LNKHST.MAC[12,4700] created: 1248 08-Jan-1980 1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 12-Nov-7 9 1) **** 2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 8-Jan-80 2) ************** 1)1 DECEVR==1226 ;DEC EDIT VERSION 1) **** 2)1 DECEVR==1227 ;DEC EDIT VERSION 2) ************** 1)6 SUBTTL THE END **** 2)5 ;1227 DZN 8-Jan-79 2) ; Allow multiple COBOL-74 modules to be loaded without rec eiving an 2) ; erroneous LNKCMC message. Broken by edit 1174. 2) ; Routine: LNKLOD 2) 2)6 SUBTTL THE END ************** COBOL.BWR -- Beware file for COBOL-74 version 12B Page 4 PCO Log Report [FILCOM] File 1) DSKC:LNKLOD.MAC[30,4507] created: 1710 12-Nov-1979 File 2) DSKC:LNKLOD.MAC[12,4700] created: 1244 08-Jan-1980 1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 12-Nov-7 9 1) **** 2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 8-Jan-79 2) ************** 1)1 DECEVR==1226 ;DEC EDIT VERSION 1) **** 2)1 DECEVR==1227 ;DEC EDIT VERSION 2) ************** 1)6 **** 2)6 ;1227 Allow multiple COBOL-74 modules to be loaded without LNK CMC. 2) ************** 1)61 **** 2)61 ;**;[1227] Insert before C74NAM+6L DZN 8-Jan-80 2) POPJ P, ;[1227] DONE 2) ************** [End PCO Write-up] COBOL.BWR -- Beware file for COBOL-74 version 12B Page 5 2. Differences between 12A and 12B COBOL-74 has been changed to conform to the standard so that if a file is opened for I/O the file must already exist. The file will no longer be created. The default for WRITE without any advancing information is different between COBOL-68 and COBOL-74. This is not a change, but the COBOL-74 documentation has been changed to correctly state that the default is AFTER ADVANCING 1 LINE. 3. Extra carriage-return problem To comply with Federal regulations for a FIPS certified compiler the following "feature" had to be provided. In general, if a record was written with WRITE AFTER ADVANCING and the next record was written with WRITE BEFORE ADVANCING, then the first record must be overprinted by the next record. In particular, if the last record in file-1 was written with WRITE AFTER ADVANCING and the first record in file-2 was written with WRITE BEFORE ADVANCING and file-2 was output to the same device (e.g. a LPT:) immediately after file-1, then the last record of file-1 must be overprinted by the first record of file-2. The FCTC has a test which does just that. Clearly we need an extra carriage-return between the two records. The two choices were, put it at the front of the BEFORE ADVANCING file, or at the end of the AFTER ADVANCING file. We chose the latter since we believe it is the less common case (even though it is the default in COBOL-74) and an extra carriage-return will do less harm at the end of a file. If, for some reason, you do not wish this "feature" then you can edit CBLIO.MAC to remove it. At location NOXCR. replace the current instruction by a JFCL. Note that we cannot support this change as it violates the Federal standard. 4. COBOL-74 old REL files At the REL file level (We doubt if anyone keeps COBOL REL files except in a LINK library file), the only problem is with COBOL-74 and COBDDT. The compiler output of Debug paragraph names was changed to be identical with COBOL-68. This means that COBDDT V12B would display an incorrect paragraph name for a COBOL-74 paragraph compiled with COBOL-74 V12A. We do not think that this is a problem since people tend to recompile before debugging, and working library files should not need to be debugged again. In any case all that has to be done is to recompile. 5. COBOL 12A and COBDDT 12B incompatibility Except for the above-mentioned problem, all programs compiled with version 12A of COBOL can be debugged with COBDDT 12B with no problems. However, COBDDT 12B supports qualification of variables by specifying the filename (e.g. "DISPLAY A IN FILE-1"). This is a feature of COBDDT 12B which was not supported by COBDDT 12A, and compiler support COBOL.BWR -- Beware file for COBOL-74 version 12B Page 6 needed to be implemented. Thus you cannot use this new feature of COBDDT 12B until you recompile the program module using COBOL 12B. COBOL.BWR -- Beware file for COBOL-74 version 12B Page 7 6. SIMULTANEOUS UPDATE: There is currently an incompatibility between TOPS-10 and TOPS-20 that causes a problem for simultaneous update under TOPS-20. Under TOPS-10 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 TOPS-20 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 be fixed in TOPS-20 Release 5. The necessary changes have been made to version 12B, however they are under a feature test switch TOPS2X which is currently turned off as the code has not yet been extensively tested. It is not possible to patch Release 4 so version 12B will ship with TOPS2X turned off. At some time after Release 5 has shipped and the code in CBLIO tested we will inform the customers of the pros and cons of turning on TOPS2X. 7. SIMULTANEOUS UPDATE: 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. This fix 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... A special purpose utility SETEOF.EXE is included in the BINARY 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. Conversly, 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). COBOL.BWR -- Beware file for COBOL-74 version 12B Page 8 8. Name of cobol-74 compiler PCO Log Report ********************* *PCO #:20-EXEC -096* ********************* [Program Data] System: EXEC Component:EXEC [Validity] THIS PCO SUPERSEDES 20-EXEC-092 [Date Entered] 22-APR-81 [Programmer] DONAHUE [Routines] EXECCS PRTAB [Key Words] CBL74 74-COBOL [Source Before Edit] %4 (000585) [Source After Edit] %4 (000586) [Test File Data] : [ ] [Miscellaneous] DOC changes: N SER/SPR Number:20-16025 Critical: N OTHER PRODUCT: AUTOPATCH TAPE # ************************************************************************ COBOL.BWR -- Beware file for COBOL-74 version 12B Page 9 PCO Log Report [PCO Write-up] ********** [SYMPTOM] When 74-COBOL is set as the default Cobol compiler, the compile command will fail with a "Cannot find process" error. ********** [DIAGNOSIS] The EXEC looks for a compiler with the name 74-COBOL. ********** [CURE] Make the EXEC look for CBL74.EXE. COBOL.BWR -- Beware file for COBOL-74 version 12B Page 10 PCO Log Report [EDIT] @ENA $GET SYSTEM:EXEC $I MEM 81. pages, Entry vector loc 6000 len 3 0 EXEC.EXE.7 1 R, CW, E 6-125 EXEC.EXE.7 2-121 R, E $SET PAGE 6:125 COPY-ON-WRITE $DDT DDT ;NOTE: OPEN LOCATION PRTAB+7 AND USE THE ADDRESS IN THE LEFT HAL F PRTAB+7[ 57532,,57536 57532/ HRLZM 14,@335156(12) "/SYS:CBL74.EXE/ ^Z $SET PAGE 6:125 NO COPY-ON-WRITE NO WRITE $SAVE SYSTEM:EXEC 0 125 EXEC.EXE.8 Saved [END OF PCO 20-EXEC -096] COBOL.BWR -- Beware file for COBOL-74 version 12B Page 11 9. Labeled tape problem PCO Log Report ********************* *PCO #:20-MONITO-308* ********************* [Program Data] System: MONITO Component:MONITO [Validity] 4, REQUIRED FOR COBOL 12B TAPES [Date Entered] 30-APR-81 [Programmer] ZIMA [Routines] TAPE MTMTOP [Key Words] MTOPR .MOSTA LABELED TA [Source Before Edit] %4 (001857) [Source After Edit] %4 (001858) [Test File Data] : [ ] [Miscellaneous] DOC changes: N SER/SPR Number:20-16146 Critical: N OTHER PRODUCT: AUTOPATCH TAPE # ************************************************************************ COBOL.BWR -- Beware file for COBOL-74 version 12B Page 12 PCO Log Report [PCO Write-up] ********** [SYMPTOM] Certain MTOPRs to labeled tapes, notably .MOSTA and .MOOFL do not work unless the JFN is open, contrary to documentation. ********** [DIAGNOSIS] MTOPR dispatch table for labeled tapes is wrong. ********** [CURE] Correct the table. COBOL.BWR -- Beware file for COBOL-74 version 12B Page 13 PCO Log Report [EDIT] @! PATCH TO RELEASE 4 SYSTEMS TO CORRECT THE HANDLING OF @! CERTAIN MTOPRS TO LABELED TAPES. @ @ENABLE (CAPABILITIES) $GET SYSTEM:MONITR $START 140 DDT TAPE$: MTMTOP+37/ SETZ MTMTCM 600000,,MTMTCM MTMTOP+40/ SETZ MTMTCM 600000,,MTMTCM ^Z $SAVE SYSTEM:MONITR MONITR.EXE.2 Saved $ [END OF PCO 20-MONITO-308] [End of CBL12B.BWR]