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:

	       Click here to view figure.
            

   *   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:

	       Click here to view figure.
            

   *   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:

	       Click here to view figure.
            

   *   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:

	       Click here to view figure.
            

              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:

	       Click here to view figure.
            

              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