HP 3000 Manuals

Documentation Changes [ HP Micro Focus COBOL/iX Implementation Notes ] MPE/iX 5.0 Documentation


HP Micro Focus COBOL/iX Implementation Notes

Documentation Changes 

Language Reference Manual 

The pages listed in this section refer to pages of the COBOL/HP-UX 
Language Reference Manual.

   *   On page 1-4, replace text from the heading "Source Format" through
       "72 columns." by:

              Source Format 

              Source code can be in free format or fixed format.

              Fixed Format 

              In fixed format, each COBOL source record is divided into
              72 columns.

   *   On page 1-4, add the following to the end of the section
       "Indicator Area" and box it with an "MF" bubble:

       A "$" in the indicator area indicates a special line for setting
       directives or conditional compilation.

   *   On page 1-6, add the following after Figure 1-1:

              Free Format 

              Free format COBOL is selected by means of the directive
              SOURCEFORMAT"FREE".

              The first six characters are considered part of the normal
              source line and may contain COBOL source code.  Column 1
              takes over the role of indicator area as follows:

              *           comment line

              /           comment line starting on a new page in the
                          listing file

              D or d      followed by space debugging line

              $           special line (directive, conditional
                          compilation and so on)

              any other   normal source line
              character

              Note:  There are no continuation lines.  Continuation of
              alphanumeric literals is achieved through concatenation
              (for example, "A" & "B").

              There is no distinction between area A and area B.

              There is no fixed margin R, though for practical purposes
              this implementation restricts the maximum length of a
              source line to 160 characters.

   *   On page 2-8, the paragraphs introduced by the words "System-Names"
       and "Reserved Words" should be reformatted to match the paragraph
       introduced by "User-Defined Words" earlier in the chapter.

   *   On page 2-8, the following text should be added below the first
       paragraph on System-Names and the second line should be boxed and
       marked "MF":

       System-names must contain at least one alphabetic character
       or one occurrence of the hyphen character.

   *   On page 2-11, the following text should be added as number 4 to
       the section "Conventions for Program-Names":

       4.     You must not use any of the following combinations of
              character as program-names:

              ad, al, ar, as, at
              du, dv, dx, dy, dz
              n1, n2, n3
              any program-name beginning "cg"

   *   On page 2-23, SORT-CONTROL should be in a separate box with a VSC2
       bubble.

   *   On page 3-5, General Rule 3 of the END PROGRAM Header should be
       replaced with the following two General Rules:

       3.     If the program terminated by the END PROGRAM header is
              contained within another program, the next statement must
              be either an IDENTIFICATION DIVISION header or another END
              PROGRAM header which terminates the containing program.

       4.     If the program terminated by the END PROGRAM header is not
              contained within another program and if the next source
              statement is a COBOL statement, it must be the
              IDENTIFICATION DIVISION header of a program to be compiled
              separately from that program terminated by the END PROGRAM
              header.

   *   On page 3-11, a new paragraph should be added below Syntax Rule 5,
       not boxed, as follows:

              The program-name cannot be the same as another user-defined
              word.

   *   On page 3-21, the phrase PROCEDURE DIVISION statement should read
       PROCEDURE DIVISION header.

   *   On page 3-32, the reference in General Rule 18a of The
       Special-Names Paragraph to General Rule 4 should be deleted.

   *   On page 3-42, add identifier-1 below data-name 1 in Format 1 of
       the Data Description Entry.  Add the IS TYPEDEF phrase below IS
       GLOBAL. Add identifier-2 to the list of parameters following the
       USAGE IS clause.

   *   On page 3-43, the following syntax should be added to General
       Format 3 of the Data Description:

[]
* On page 3-59, the following text should be added to Syntax Rule 10: If the OCCURS DEPENDING ON slide directive is set, data-name must have a fixed location. * On page 3-59, The reference in General Rule 2 to General Rule 2 should be to General Rule 20 of the section "Data Description Engries Other Than Condition-Names and Constant-Names". * On page 3-75, the OSVS bubble should be removed from Syntax Rule 1 of the REDEFINES Clause. * On page 3-92, Syntax Rule 12 of The VALUE Clause should be amended to read: 12. All identifiers must have been defined before the declaration of the level 78 item. If either identifier-1 or identifier-3 (LENGTH parameters) is a group item, the definition of that group must have been completed before the level 78 declaration, by the appearance of another data item at the same or lower level number. * On page 3-128, add a new General Rule to the LINE clause as follows: 6. If PLUS, "+" or "-" is specified in the LINE clause, and an ACCEPT or DISPLAY statement referencing the Screen Section item includes the AT LINE NUMBER phrase, the line number at which this item is presented is the sum or difference of the two numbers. * On page 3-143, General Rule 3 of the SIZE clause should be replaced with the following textL 3. If the size specified in the SIZE clause is less than that implied by the associated PICTURE or VALUE clause, only the left-hand portion of the screen item appears on the screen. If the JUSTIFIED clause is present in an ACCEPT statement, then only the right-hand portion of the screen item appears. The remainder of the screen item can be considered to contain spaces or zeros, as appropriate. * On page 3-147, the first sentence in both of the General Formats for the Procedure Division should be amended to read: [procedure division header] Place a box around this phrase. * On page 3-147, the following text should be added below General Format 2 of the Procedure Division: The generic term "PROCEDURE DIVISION header" represents both of the two formats for the PROCEDURE DIVISION Header shown on the next page. * On page 3-148, add the following text as Syntax Rule 2 under Format 1 of the PROCEDURE DIVISION Head, and box it and mark it with OSVS, CSC2, and SAA bubbles: 2. You can specify the same parameter more than once in a PROCEDURE DIVISION USING clause. Subsequent rules should be renumbered accordingly. * On page 3-158, the following sentence should be added below the section Comparison of Numeric Operands: Note: Numeric edited items are of class alphanumeric, and comparisons involving them follow the rules for comparison of nonnumeric operands as below. * On page 3-175, the section Overlapping Operands should read:
[]
* On page 3-182, add a new Syntax Rule boxed MF, to the ACCEPT statement, as follows: 20. No elementary item within identifier-1 may be longer than 8191 bytes. If the MODE IS BLOCK phrase is used, the whole of identifier-1 must be no longer than 8191 bytes. * On page 3-197, add the OMITTED parameter to the General Format of the CALL statement, after the BY REFERENCE parameter. * On page 3-198, add a new paragraph to Syntax Rule 4, as follows: Note: If you call non-COBOL language programs using level-numbers other than 01 or 77, you may experience alignment problems. You should use the IBMCOMP directive and the SYNCHRONIZED clause in order to avoid this. See the section The SYNCHRONIZED Clause earlier in this chapter. * On page 3-200, add a new General Rule as follows: 4. The OMITTED parameter is used to pass unused parameters to a subprogram without having to declare a dummy data item. * On page 3-211, General Rule 4 of The COMPUTE Statement should be replaced with the following text: 4. The COMPUTE statement allows the user to combine arithmetic operations without the need to explicitly store intermediate results in temporary data items, as would be necessary using the arithmetic statements ADD, SUBTRACT, MULTIPLY and DIVIDE. The expression is evaluated to as many digits as possible, and truncated or rounded to fit into identifier-1. The intermediate results obtained during the expression evaluation are truncated as if they were moved to data items whose PICTURE is determined by the COBOL system. This behavior is selected using the ARITHMETIC directive. See your COBOL System Reference for details. The second paragraph beginning with "The intermediate results..." should be boxed and marked with OSVS and VSC2 bubbles. * On page 3-216, add a new Syntax Rule boxed MF, to the DISPLAY statement, as follows: 14. No elementary item within identifier-1 may be longer than 8191 bytes. If the MODE IS BLOCK phrase is used, the whole of identifier-1 must be no longer than 8191 bytes. * On page 3-218, General Rule 7c. should be deleted. * On page 3-267, in the last boxed paragraph of Syntax Rule 5, the last sentence should read: If the data item contains data which does not conform to the edited picture, zero is moved to the target. * On the same page, the previous paragraph should be amended to read: When the receiving item is numeric and the sending item is defined as alphanumeric, if the content of the sending item is not an integer, results of the move are undefined. If the alphanumeric sending item is a literal whose contents do not represent an integer, an error will be reported, and zero moved to the target. See the section Incompatible Data earlier in this chapter. * On page 3-269, in table 3-10, MOVE Statement Data Categories, a footnote should be added to the box Alphanumeric (sending item) / Numeric integer/Non-integer (receiving item), as follows: 2 An error will be reported if a non-integer alphanumeric literal sending item is used. * On page 5-24, Syntax Rule 24 should be changed to read:
[]
* On page 5-30, additional General Rules should be added before the existing General Rule 33, as follows: 33. If the file has more than one record description entry, data-name-1 need be described only in one of these record description entries. The identical character positions referenced by data-name-1 in any one record description entry are implicitly referenced as keys for all other record description entries of that file. 34. If the associated file connector is an external file connector all file description entries in the run unit which are associated with that file connector must specify the same data description entry for data-name-1 with the same relative location within the associated record. * On page 5-30, a new Syntax Rule should be added to the File Control Entry, as follows: 39. The ASSIGN phrase is documentary only. * From page 5-31 to 5-35, the whole of The I/O-CONTROL Paragraph should be replaced with the following text: The I/O-CONT<$II/O CONTROL paragraph>ROL Paragraph Function The I/O-CONTROL paragraph specifies the points at which rerun is to be established, the memory area which is to be shared by different files, and for files with sequential organization the location of files on a multiple file reel. Box the following paragraph and mark it with an ANS85 bubble. The RERUN and MULTIPLE FILE TAPE clauses of the I/O-CONTROL paragraph are classed as obsolete elements in the ANSI'85 standard and are scheduled to be deleted from the next full revision of the ANSI Standard. Box the following paragraph and mark it with an MF bubble. All dialects within this COBOL implementation fully support this syntax. Refer to your COBOL System Reference for details on using the FLAGSTD directive to detect all occurrences of this syntax. Box the following paragraph and mark it with an XOPEN bubble. Although they are a part of the standard COBOL definition, the RERUN and MULTIPLE FILE TAPE clauses are explicitly excluded from the X/Open COBOL language definitions and should not be used in X/Open COBOL source programs. General Format I-O-CONTROL. ------------ [ [ [ {file-name-1 }] ] [ [RERUN [ON {character-string }] ] [ ----- -- ] [ ] [ { { {REEL } } } ] [ { { [END OF] {---- } } } ] [ { { --- {UNIT } } } ] [ { { {---- } } } ] [ { { } } ] [ EVERY { { integer-1 RECORDS } } ] [ ----- { { ------- } } ] [ { } ] [ { integer-2 CLOCK-UNITS } ] [ { ----------- } ] [ { condition-name } ] [ [RECORD ] ] [ [------ ] ] [ SAME [SORT ] AREA FOR file-name-3 {file-name-4}...]... [ ---- [---- ] ] [ [SORT-MERGE ] ] [ [---------- ] ] [MULTIPLE FILE TAPE CONTAINS {file-name-5 [POSITION integer-3]}...]... [-------- ---- { [-------- ]} +---------------------------------------------+ | [APPLY WRITE-ONLY ON {file-name-6}...]... | | [----- ---------- ] | +---------------------------------OSVS--VSC2--+ +---------------------------------------------------------------+ | [ {CORE-INDEX } ] | ] | [APPLY {---------- } ON file-name-7 [file-name-8]...] | ] | [----- {RECORD-OVERFLOW } ] | ] | [ {--------------- } ] | . ] | | ] | [APPLY REORG-CRITERIA TO data-name ON file-name-9]... | ] | [----- -------------- ] | ] +--------------------------------------------------------OSVS---+ Syntax Rules 1. The I/O-CONTROL paragraph is optional. 2. When either the integer-1 RECORDS clause or the integer-2 CLOCK-UNITS clause is specified, character-string must be given in the RERUN clause. 3. In the SAME AREA clause, SORT and SORT-MERGE are equivalent. 4. If the SAME SORT AREA or SAME SORT-MERGE AREA clause is used, at least one of the file-names must represent a sort or merge file. Files that do not represent sort or merge files can also be named in the clause. 5. The two forms of the SAME clause (SAME AREA, SAME RECORD AREA) are considered separately in the following: More than one SAME clause can be included in a program, subject to the following restrictions: a. A file-name must not appear in more than one SAME AREA clause. b. A file-name must not appear in more than one SAME RECORD AREA clause. c. If one or more file-names of a SAME AREA clause appear in a SAME RECORD AREA clause, all of the file-names in that SAME AREA clause must appear in the SAME RECORD AREA clause. However, additional file-names not appearing in that SAME AREA clause can also appear in that SAME RECORD AREA clause. The rule that only one of the files mentioned in a SAME AREA clause can be open at any one time takes precedence over the rule that all files mentioned in a SAME RECORD AREA clause can be open at any one time. d. A file-name that represents a SORT or MERGE file must not appear in a SAME AREA clause. e. A file-name that represents a sort or merge file must not appear in more than one SAME SORT AREA or SAME SORT-MERGE AREA clause. f. If a file-name that does not represent a sort or merge file appears in a SAME AREA clause and one or more SAME SORT AREA or SAME SORT-MERGE AREA clauses, all of the files named in that SAME AREA clause must be named in that SAME SORT AREA or SAME SORT-MERGE AREA clause(s). 6. The files referenced in the SAME AREA, SAME SORT AREA, SAME SORT-MERGE AREA, or SAME RECORD AREA clause need not all have the same organization or access. 7. Character-string must not be a reserved word, a literal or a user-name. Box this item and mark it with an MF bubble. 8. The END OF REEL/UNIT clause can only be used if file-name-2 is a sequential file. 9. More than one RERUN clause can be specified for a given file-name-2, subject to the following restrictions: a. When multiple integer-1 RECORD clauses are specified, no two of them can specify the same file-name-2. b. When multiple END OF REEL or END OF UNIT clauses are specified, no two of them can specify the same file-name-2. 10. Only one RERUN clause containing the CLOCK-UNITS clause can be specified. 11. Each clause in the I-O CONTROL paragraph may optionally be followed by a period. Box and mark this item with OSVS and CSC2 bubbles. General Rules 1. The RERUN clause is documentary only. Box and mark this item with an MF bubble. 2. The SAME AREA clause specifies that two or more files that do not represent sort or merge files are to use the same memory area during processing. The area being shared includes all storage area assigned to the files specified. It is not, therefore, valid to have more than one of the files open at the same time. (See Syntax Rule 5c.) 3. The SAME RECORD AREA clause specifies that two or more files are to use the same memory area for processing the current logical record. All of the files can be open at the same time. A logical record in the SAME RECORD AREA is considered as a logical record of each opened output file whose file-name appears in this SAME RECORD AREA clause and of the most recently read input file whose file-name appears in this SAME RECORD AREA clause. This is equivalent to an implicit redefinition of the area; that is, records are aligned on the leftmost character position. 4. The APPLY clause is documentary only. Box and mark this item with an MF bubble. 5. The MULTIPLE FILE clause is documentary only. Box and mark this item with an MF bubble. 6. If the SAME SORT AREA or SAME SORT-MERGE AREA clause is used, at least one of the file-names must represent a sort or merge file. Files that do not represent sort or merge files can also be named in the clause. This clause specifies that storage is shared as follows: a. The SAME SORT AREA or SAME SORT-MERGE AREA clause specifies a memory area which will be made available for use in sorting or merging each sort or merge file named. Thus any memory area allocated for the sorting or merging of a sort or merge file is available for reuse in sorting or merging any of the other sort or merge files. b. In addition, storage areas assigned to files that do not represent sort or merge files can be allocated as needed for sorting or merging the sort or merge files named in the SAME SORT AREA or SAME SORT-MERGE AREA clause. c. Files other than sort or merge files do not share the same storage area with each other. If the user wishes these files to share the same storage area with each other, he must also include in the program a SAME AREA or SAME RECORD AREA clause naming these files. d. During the execution of a SORT or MERGE statement that refers to a sort or merge file named in this clause, any non-sort-merge files named in this clause must not be open. * On page 5-82, in General Rule 4, the words "file organization and" should be deleted from the last sentence. * On pages 5-88 and 5-89, General Formats 3 and 5 of the READ Statement should be changed so that the READ WITH WAIT phrase is separate from the other READ WITH options. The READ WITH WAIT phrase should also be added to Formats 1 and 4. * On page 5-90, the following text should be added to Syntax Rule 9 of The READ Statement: Data-name may also be a redefinition of a data-item specified as a record key associated with a file-name, provided the data-name has the same length as that data-item. Box and mark this paragraph with MF and OSVS bubbles. The redefinition may have a different length from the record key. Box and mark this paragraph with an OSVS bubble. * On page 5-92, in General Rule 8b, the following text should be added to the end of the sentence: , and that record is made available. * On page 5-95, in General Rule 21, the reference to General Rule 20 should be a reference to General Rule 8. * On page 5-109, the first paragraph of Syntax Rule 1 of The SORT Statement should be replaced with the following text: A Format 1 SORT statement cannot appear in the declaratives portion of the Procedure Division, or in an input or output procedure associated with a SORT or MERGE statement. * On page 5-132, add the following text (boxed and marked with a VSC2 bubble) as Syntax Rule 8 under Format 1 of the WRITE Statement: 8. Integer can be signed. Subsequent rules should be renumbered accordingly. * On page 5-137, the paragraph beginning "The implicit move will always take place..." should be deleted. * On page 6-14, the box and bubbles should be deleted from both the General Format and Syntax Rule of the EJECT statement. * On page A-16, all of the columns should be filled in for the special characters, from OS to DVS. COBOL/HP-UX Operating Guide The pages listed in the notes below refer to the COBOL/HP-UX Operating Guide. * On page 5-2. in the section "Single Field ACCEPT and DISPLAY Statements", the following text should be added: ADIS will not display a character at the last position on the screen (for example, line 25 column 80 on a 25 line screen). This is because some terminals scroll automatically when a character appears in this position, giving different results on different hardware. If a character is displayed at a position off the screen, ADIS scrolls the display such that it is visible. * On page 7-6, add the A1 switch to the table as follows: Switch Title Function Default ----------------------------------------- A1 Base Animator Involves the Off Switch base Animator * On page 8-3, in the section "Portability of Call-by-Name Routines", the following text should be added: To guarantee the portability of programs using CBL_ routines, you must ensure that the name of a routine is coded in upper case in your program. The portability specifications are applicable only in environments where the Micro Focus COBOL system is available in the given environments. * On page 8-4, in the table indicating the portability of call-by-name routines, change the double-asterisk (**) to a single asterisk (*) in the COBLIB and LCOBOL columns in the entry for the following routine: - CBL_ERROR_PROC * On page 8-13, in the section "Operation", the following text should be added: All calls to CBL_ routines must be coded with the name of the routine in upper case. Calls to other routines must be coded as documented--this will generally be in upper case, but there are some case-sensitive exceptions. * On page 8-67, in the description of the CBL_SUBSYSTEM, in the section Parameters On Entry, add the following to the description of the ss-name parameter: This must be a COBOL .int or .gnt module. * On page 31-7, the following run-time tuneable should be added before same_proc_excl_detection: noretry_on_decl Syntax: set noretry_on_decl={TRUE|FALSE} Value: TRUE or FALSE Specifies whether or not locked records will be retried when declaratives exist for the file, and the program has been compiled with RETRYLOCK WORM (without RM). Note: This must be set in order to provide compatibility with COBOL V1.3. Default: FALSE * On page 31-7, the following new run-time tuneable should be added: program_search_order Syntax: set program_search_order={1|2|3} Value: 1, 2 or 3 Selects the program search order to be used. 1 uses the following search sequence: 1. The run-time system is checked to see if the program is statically linked. 2. If the COBPATH environment variable is set, the paths specified are searched in order. Otherwise, the current directory is searched. 3. The path in which the calling program was loaded is searched. 4. If $COBDIR is set, the path specified is searched. Otherwise, /usr/lib/cobol is searched. 2 uses the following search sequence: 1. The run-time system is checked to see if the program is statically linked. 2. The path in which the calling program was loaded is searched. 3. If the COBPATH environment variable is set, the paths specified are searched in order. Otherwise, the current directory is searched. 4. If $COBDIR is set, the path specified is searched. Otherwise, /usr/lib/cobol is searched. 3 uses the following search sequence: 1. The run-time system is checked to see if the program is statically linked. 2. The current directory is searched. 3. If the COBPATH environment variable is set, the paths specified are searched in order. 4. If $COBDIR is set, the path specified is searched. Otherwise, /usr/lib/cobol is searched. Default: 1 * On page 31-7, the following new run-time tuneable should be added: skip_on_lock Syntax: set skip_on_lock={TRUE|FALSE} Value: TRUE or FALSE Specifies whether or not a READ WITH LOCK of a locked record in a program compiled with the directive NODETECTLOCK will cause a subsequent READ NEXT/PREVIOUS to reread the logical NEXT/PREVIOUS record or the currently locked record. Default: FALSE * On page E-2, the appendix for Descriptions of Run-Time Switches, add the following new switch: Base Animator Switch (A1) Invokes the base Animator to animate intermediate code which is either created using the cobrun command or dynamically loaded by a statically linked module. Default: Off If you wish to use the base Animator to animate intermediate code created by the cob command, you can use the animbase command, which automatically sets this switch on. * On page G-12, the appendix for Directives for Compiler/Generator, the following new Compiler directives should be added: ADDRSV Adds one or more specific reserved words to the reserved word list, so that they will be recognized as reserved words within the user program. The specified reserved words will be added to whatever dialect directives are in force. Syntax:
[]
Parameters: rsv-word A reserved word in some dialect of COBOL, but not necessarily in a dialect specified for this compilation. Default: No additional reserved words are added. Phase: Compile. $SET: Initial This directive does not appear in the list created with the SETTING directive. COMP-6 Specifies whether COMP-6 data is to be held in binary or packed decimal format. Syntax:
[]
Parameters: integer Must be 1 or 2 Default: COMP-6"2" Phase: Compile $SET: Initial The possible values of integer are: 1 A binary format is used for COMP-6 data, as described in the appendix Ryan McFarland COBOL V2.0 Syntax Support in your Language Reference. 2 Packed decimal format is used. If the item is signed, the format is identical to COMP-3. If the item is unsigned, no sign field is present. For example: PIC 99 COMP-6 VALUE 99 is stored in one byte as x"99". PIC S99 COMP-6 VALUE 99 is stored in two bytes as x"099c". __________________________________________________________ NOTE Even if the COMP-6 directive is specified, the reserved word COMP-6 is recognized only if it belongs to a chosen dialect, or if the ADDRSV (COMP-6) directive is specified. __________________________________________________________ * On page N-1, replace the first paragraph, which begins with "Because UNIX terminals vary widely....", with the following: Many UNIX terminals do not send a sequence when the Alt or Ctrl key is pressed. This means that there is no way for your product to detect these keys, so instead you should luse /a for Alt and /c for Ctrl. This appendix lists alternatives for other keys that may also be undetectable on your specific UNIX terminal. Error Messages The pages listed in the notes below refer to the COBOL/HP-UX Error Messages. * On page 2-21, in error 0120, currency symbol R should be removed from the list of illegal currency symbols. * On page 2-28, in the description of error 0213, the limit for alphanumeric data items should be changed from eight megabytes to 256 megabytes. * On page 2-30, the last line of error 0223, reading "Note that this COBOL system does not support USAGE COMP-1 or USAGE COMP-2", should be deleted. * On page 2-44, error 0316 should refer to a maximum of seven AFTER phrases, and not six. * On page 2-67, the following new error message should be added: 0689 Condition name cannot be set to FALSE (no FALSE value specified) You have tried to set a level-88 item to FALSE without having first specified the SET TO FALSE statement. Specify the SET TO FALSE statement in your program. * On page 2-72, the following new error message should be added: 1055 Requested SQLSTDLVL incompatible with your version of DBM. Directive ignored You have set a directive which has no meaning on your database manager. * On page 2-76, the following text should replace the explanation for syntax error message 1126: * In accordance with ANS85 specifications, the relational operator "=" is considered to be a COBOL reserved word; all reserved words must be both preceded and delimited by a space. * On page 3-9, the following new error message should be added: 053 MODEL() only valid with OMF (OBJ), MODEL() ignored When you use an invalid combination of directives, your COBOL system tries to make it valid by assuming appropriate directives. To prevent the message being displayed, use the NOWARNING directive. * On page 3-10, the following new error message should be added: 057 NOLITLINK not valid with MODEL(SMALL), LITLINK assumed When you use an invalid combination of directives, your COBOL system tried to make it valid by assuming appropriate directives. To prevent the message being displayed, use the NOWARNING directive. * On page 4-1, the following paragraph should be added below the introductory paragraph: If your program uses intrinsic functions, you will also require the floating-point module. See your COBOL System Reference for details of Run-Time system support modules. * On pages 4-1 and 4-2, the paragraph beginning "Your COBOL system displays these messages...", and up to the section beginning "Types of Error", should be replaced with the following text: Format of Messages UNIX Your COBOL System for UNIX displays these messages in one of the following two formats: action error: file 'file-name' error code:yyy, pc=nnnnnnnn, call=m, seg=x 999 message-text or rts32: message where: action is what the Run-Time System was actioning at the time the message was caused. For example, execution, I-O, load, or write. file-name is the name of the file the Run-Time System was operating on. yyy is either the Run-Time System message number, or, if the error is caused by an I-O operation, the file status value. If yyy contains a file status value, the file status mappings currently in force are also displayed. nnnnnnnn is a hexadecimal number giving the address of the program counter and can be related back to the source program by using the REF compiler option. m is a number that is used internally to identify the program that is in error. This is 0 for a main program or greater than 0 for a subprogram. x is a number that identifies the segment containing the error. This is 0 if the error is in the root, or in the range 51 to 99 if the error is in an overlay. 999 is the Run-Time System message number. message-text is the text associated with the message number. message is either: "Not enough room for message" or "Fatal Error while attempting to process error yyy" where yyy is as defined above. * On page 4-8, the following additional explanation and solution should be added to Run-Time System error 021: The attributes are not set up correctly to allow you to access a file. You need to either change your file access attributes or recode your program so that it does not violate the existing attributes. * On page 4-14, the following new Run-Time System error message should be added: 055 Routine table overflow You have attempted to load too many programs simultaneously. Cancel any programs that you are no longer using, or use fewer separate programs. * On page 4-25, the following text should be added to Run-Time System error 155: Alternatively, you have set an invalid COBSW value. Reset COBSW to a valid value. * On page 4-39, the following text should be added below Run-Time System error 227: Two or more programs are defining the same external data item, but the first loaded program has defined the size smaller than has the second or subsequent loaded program. Make sure that both or all of your programs define the size of the external data item as being the same. * On page 4-40, the following new Run-Time System error messages should be added: 235 Error in animation communications channel Animator has encountered system limits or conflicts resulting in communications errors. Perhaps two logins on the same UNIX system are attempting to cross session animate the same program file. Copy the animated program file to a different directory and attempt animation. 236 Animated program has terminated unexpectedly A program you are animating has terminated without following the standard Run-time system "shut-down" process. If this termination was neither initiated by the user nor caused by a severe run-time error, contact Technical Support. 237 Unable to initialize animated process Animator has encountered system limits in starting your program. The program cannot start. Contact your system administrator. * On page A-2, Flag 428 should be renamed Edited Digits. * On pages A-2 and A-3, the following limits should be added to the appropriate columns: -------------------------------------------- | | | Flag Limit SAA | | Level | | 2 | | | -------------------------------------------- | | | 412 ALTERNATE Key Clauses 63 | | | | 415 Data SECTION Size n/a | | | | 425 FILE SECTION Group Item n/a | | | | 428 Edited Digits 127 | | | | 430 VALUE Literal Length n/a | | | | 433 Sort RECORD Size 32767 | | | | 440 Paragraph Names n/a | | | | 441 PERFORMS n/a | | | | 451 Sort Key Size 256 | | | -------------------------------------------- * On the same pages, the following limits replace the limits documented: -------------------------------------------- | | | Flag Limit SAA | | Level | | 1 | | | -------------------------------------------- | | | 426 Length of Group Item 131071 | | | | 428 Edited Digits 127 | | | | 432 PICTURE Replication 32767 | | | -------------------------------------------- * On the same pages, the following new limits should be added: -------------------------------------------------------------- | | | Flag Limit SAA SAA OSVS VSC2 | | Level Level | | 1 2 | | | -------------------------------------------------------------- | | | 429 Table Size (variable 32767 32767 32767 16777200| | length) | | | | 435 Table Element Size 32767 32767 32767 8388607 | | | -------------------------------------------------------------- Compatibility Guide The pages listed in this section refer to pages of the COBOL/HP-UX Compatibility Guide . * On page 2-1, the following new paragraphs should be added above the section Configuring Your System: Microsoft COBOL V2.2 is a DOS system. The compatibility issues described in this Part apply to both DOS and OS/2 versions and UNIX versions of this COBOL system, with the following restriction: Restriction: Data file conversion using Rebuild, and the Microsoft COBOL V2.2 extension routines are not supported in UNIX versions of this COBOL system. * On the same page, the second paragraph in the section Configuring Your System should be replaced with the following text: Before submitting your Microsoft COBOL V2.2 programs to this COBOL system, you must: * On page 2-2, the following paragraph should be added before the section Migrating Your Application: Under DOS and OS/2 this can be done by selecting the Microsoft COBOL V2.2 option from within the Setup utility. Under UNIX it must be done manually. * On page 3-1, the second and third paragraphs should be replaced with the following text: Rebuild, the file management utility, has a facility which converts files in Microsoft COBOL V1 and V2.2 formats for use with this COBOL system. (You can find details of the other facilities offered by Rebuild in the COBOL System Reference supplied with DOS and OS/2 versions of this system.) Restriction: Rebuild is provided only with DOS and OS/2 versions of this system and runs only on DOS and OS/2. Before using Rebuild, you should make a backup copy of the file being converted. Rebuild takes every precaution to prevent files being corrupted, but it can happen if the command line is incorrectly specified. * On page 7-3, the following text should be added before the section "Reserved Words": Linkage Section in Main Program Under RM/COBOL, if the main program has a Linkage Section, it is initialized by the parameter passed on the command line. Under this COBOL system, it is illegal to reference Linkage Section items within the main program. Solution: Use the following root program to pass the command line and its length to your main program: IDENTIFICATION DIVISION. PROGRAM-ID. ROOT. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. COBOL2. WORKING-STORAGE SECTION. 01 MAIN-LINKAGE. 03 CMD-LENGTH PIC 9(4) BINARY VALUE 0. 03 CMD-LINE PIC X(100). PROCEDURE DIVISION. ACCEPT CMD-LINE FROM COMMAND-LINE. IF CMD-LINE NOT = SPACES INSPECT CMD-LINE TALLYING CMD-LENGTH FOR CHARACTERS BEFORE INITIAL SPACE END-IF CALL "MAIN" USING MAIN-LINKAGE. EXIT PROGRAM. Extended I-O Status Codes Under RM/COBOL, your program must call an RM/COBOL internal subprogram named C$RERR in order to get an extended file status code. Under this COBOL system, extended file status codes are reported in the second byte of the file status. Solution: C$RERR can be emulated by the following program. IDENTIFICATION DIVISION. PROGRAM-ID. CRERR. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. COBOL2. WORKING-STORAGE SECTION. 01 MFC2-FILE-STATUS. 03 MFC2-STATUS-1 PIC X. 03 MFC2-STATUS-2 PIC X. 03 MFC2-STATUS-BINARY REDEFINES MFC2-STATUS-2 PIC 99 COMP-X. LINKAGE SECTION. 01 RM-EXTENDED-STATUS. 03 RM-EXTENDED-STATUS-1 PIC 9. 03 RM-EXTENDED-STATUS-2 PIC 999. PROCEDURE DIVISION USING RM-EXTENDED-STATUS. MOVE RM-EXTENDED-STATUS TO MFC2-FILE-STATUS. IF MFC2-STATUS-1 = "9" MOVE MFC2-STATUS-BINARY TO RM-EXTENDED-STATUS-2 ELSE MOVE "00" TO RM-EXTENDED-STATUS ( 3 : 2 ) END-IF EXIT PROGRAM. For the above example to work correctly, the first two bytes of Linkage item RM-EXTENDED-STATUS must contain the COBOL file status as in the following example: FILE-CONTROL. SELECT OPTIONAL SEQ-FILE ASSIGN TO RANDOM, "MYFILE" ORGANIZATION LINE SEQUENTIAL STATUS IS IO-FILE-STATUS. WORKING-STORAGE SECTION. 01 IO-FILE-STATUS 03 RM-EXTENDED-STATUS PIC X(4). * On page 14-2, in Reformatting Rule 3, the reference to columns 8 to 11 should be a reference to columns 1 to 4. * On page 21-2, in the section "Synonyms", the line of information for DBCS should be deleted.


MPE/iX 5.0 Documentation