VMS Help  —  COBOL  Qualifiers  /STANDARD
  /STANDARD[(=option,...)]
  /STANDARD=85             (D)

  Controls whether the compiler generates code according to either
  the ANSI 1974 or 1985 COBOL standard and produces informational
  messages associated with specific language features.   To receive
  these informational messages, you must also specify /WARNINGS=ALL
  or /WARNINGS=INFORMATIONAL.

  You can select one or more of the following options:

  85              Produces code according to the 1985 ANSI standard
                  for certain constructs.  The default is /STANDARD=85.

  [NO]V3          Produces code in the manner of version 3.4 of
                  VAX COBOL in specific instances, and issues
                  informational messages for language constructs
                  that would cause different run-time results if
                  /STANDARD=85 had been specified.  The default is
                  NOV3.

  [NO]SYNTAX      Produces informational diagnostics on language
                  features that point out HP extensions to the
                  ANSI 1985 COBOL Standard.  The default is NOSYNTAX.

  [NO]XOPEN       Produces code for the ASSIGN clause and default
                  file-sharing behavior in the manner of the
                  X/Open CAE specification for the COBOL language.
                  The default is NOXOPEN.

  [NO]MIA         Issue informational diagnostics for the language
                  elements which do not conform to the MIA (Multivendor
                  Integration Architecture).  The default is NOMIA.

  VSI COBOL is based on the ANSI 1985 COBOL standard.  As such, VSI COBOL
  provides full support for the /STANDARD=85 qualifier option as well as
  support for some features of the /STANDARD=V3 qualifier option that were
  available with VAX COBOL Version 4.0 and higher.  For information about
  the HP COBOL for OpenVMS VAX implementation of the /STANDARD=V3 qualifier
  option, see the COBOL User Manual.

  When you specify /STANDARD=V3 in the following specific instances,
  VSI COBOL exhibits behavior that is consistent with the ANSI 1985
  COBOL standard:

    . When evaluating subscripts in STRING, UNSTRING, INSPECT
      (Format 3), and the REMAINDER phrase of the DIVIDE statement.

    . When evaluating reference modification in STRING, UNSTRING,
      and INSPECT (Format 3) statements.

    . When evaluating the order of identifiers in some PERFORM
      (Format 4) statements.

    . When interpreting PIC P items in some move and comparison
      operations.

    . When determining the size of variable-length tables in some
      MOVE statements.

  When you specify /STANDARD=V3 in the following four specific
  instances, VSI COBOL exhibits behavior that is identical to the
  VAX COBOL Version 4.0 and higher behavior, when specifying
  /STANDARD=V3:

      a. EXIT PROGRAM statement in a main program

  If you specify /STANDARD=V3, the compiler treats an EXIT PROGRAM
  statement as a return in both main programs and subprograms.

  Specify /STANDARD=85 to bypass an EXIT PROGRAM statement in the
  body of a main program and execute the statements following the
  EXIT PROGRAM statement.  If the program is a subprogram, the EXIT
  PROGRAM statement acts as a return to the program that called the
  subprogram.

      b. I-O file status values

  If you specify /STANDARD=V3, you receive the file status values
  listed in the left-hand column, labeled V3.

  If you specify /STANDARD=85, you receive the file status values
  listed in the right-hand column, labeled 85.

  The following table explains the I-O error conditions and lists the
  corresponding file status values for the /STANDARD qualifier using
  the V3 and 85 options.

   __________________________________________________________________
          I-O File Status Values for the /STANDARD Qualifier
   __________________________________________________________________
   I-O Error Condition                             Status Value
                                             ________________________
                                                 V3           85
   __________________________________________________________________
   READ successful -- detected alternate
   duplicate key.                                00           02
   READ successful -- record shorter than
   fixed file attribute.                         00           04
   CLOSE reel/unit attempted on nonreel/unit
   device.                                       00           07
   READ fails -- relative key digits exceed
   relative key.                                 00           14
   WRITE fails -- relative key digits exceed
   relative key.                                 00           24
   OPEN I-O on file that is not mass storage.    00           37
   WRITE fails -- attempt to write a record
   of a different size than in the file
   description.                                  00           44
   READ fails -- no next logical record
   (EOF detected).                               13           10
   READ fails -- no next logical record
   (EOF on OPTIONAL file).                       15           10
   READ fails -- no valid next record
   (already at EOF).                             16           10
   READ NEXT or sequential READ -- no valid
   next record pointer.                          16           46
   READ or START fails -- optional input
   file not present.                             25           23
   READ successful -- record longer than
   fixed file attribute.                         30           04
   OPEN on relative or indexed file that
   is not mass storage.                          30           37
   REWRITE fails -- attempt to rewrite
   record of different size.                     30           44
   CLOSE fails -- file not currently open.       94           42
   DELETE or REWRITE fails -- previous I-O
   not successful READ.                          93           43
   OPEN fails -- file previously closed with
   LOCK.                                         94           38
   OPEN fails -- file created with different
   organization.                                 94           39
   OPEN fails -- file created with different
   prime record key.                             94           39
   OPEN fails -- file created with different
   alternate record keys.                        94           39
   OPEN fails -- file currently open.            94           41
   READ or START fails -- file not opened
   INPUT or I-O.                                 94           47
   WRITE fails -- file not opened OUTPUT,
   EXTEND, or I-O.                               94           48
   DELETE or REWRITE fails -- file not
   opened I-O.                                   94           49
   OPEN INPUT on a nonoptional file -- file
   not found.                                    97           35
   __________________________________________________________________

      c. No Valid Next Record condition

  If all of the following conditions exist:

      . The no valid next record (NVNR) condition exists.
      . Your program attempts a sequential READ statement.
      . Your program includes an AT END branch associated with
        the READ statement.

  And if you specify /STANDARD=V3, the following occurs:

      1. The file status variable, if any, for the file is set
         to 16.
      2. The statements associated with the AT END statement are
         executed.
      3. The program continues to execute normally.

  If you specify /STANDARD=85, the following occurs:

      1. The file status variable, if any, for the file is set
         to 46.
      2. The statements associated with the AT END statement are
         not executed.
      3. The program terminates execution abnormally (unless you
         have provided for this situation with a Declaratives USE
         AFTER STANDARD EXCEPTION procedure).

      d. Opening nonoptional files in OPEN I-O and EXTEND modes

  If you specify /STANDARD=V3, the compiler creates nonoptional
  files opened in I-O or EXTEND mode, if the file is unavailable.

  If you specify /STANDARD=85, the compiler does not create
  nonoptional files opened in I-O or EXTEND mode if the file is
  unavailable; instead, the I/O system issues a run-time error.

  Specifying /STANDARD=V3 with the /FIPS=74 qualifier instructs the
  compiler to produce code according to the 1974 ANSI standard for
  certain constructs that are supported by the Federal Information
  Processing Standards Publication 21--1  (FIPS-PUB 21--1), issued
  by the U.S. National Bureau of Standards, interpretation of file
  status.  Specifying /STANDARD=V3 with the /NOFIPS qualifier ensures
  version to version compatibility for COBOL.

  Specifying /STANDARD=SYNTAX with the /WARNINGS=ALL qualifier
  instructs the compiler to produce and print informational messages
  on language features that point out HP extensions to the ANSI
  1985 COBOL Standard.

  Specifying /STANDARD=MIA with the /WARNINGS=ALL qualifier
  instructs the compiler to produce and print informational messages
  on language features that point out langauges element which do
  not conform to the MIA specifications:

      . HP syntax extensions from base standards (ANSI-85, JIS-88)
      . Two of four optional modules
      . All obsolete language elements of required modules in base
        standards
      . Language elements omitted from required modules in base standards
        due to the different implementation of the vendors
      . HP specific Japanese features out of MIA extension elements
        related to Japanese

  Not specifying /STANDARD or specifying /STANDARD, /NOSTANDARD,
  /STANDARD=(85,NOV3,NOSYNTAX,NOXOPEN,NOMIA), or
  /STANDARD=(NO85,NOV3,NOSYNTAX,NOXOPEN,NOMIA) is equivalent to
  specifying /STANDARD=85.
Close Help