HP 3000 Manuals

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


HP Micro Focus COBOL/iX Implementation Notes

Language Notes 

   *   If you attempt to move one data area to another data area, and
       your source's area in any way overlaps your target area, for
       example, as the result of a REDEFINES clause, the compiler will
       issue a warning message 656.

   *   The $COBDIR/src/mfisamv4 directory contains a version of the Micro
       Focus fixed record length ISAM file handler that is based on
       Informix C-ISAM (c) v4.10.  You can rebuild your COBOL run-time
       system to use this file handler by default.  This will enable ISAM
       files created by your COBOL product to be moved between COBOL and
       non-COBOL applications that use Informix C-ISAM as their data
       storage mechanism. 

       To rebuild your COBOL run-time, enter:

            mkrts mfisamv4.o

       This will produce an executable rts32 that you should copy to your
       COBOL system directory.

       _________________________________________________________________ 

       NOTE  ISAM files created by this rebuilt COBOL run-time cannot be
             manipulated by the File Handler utilities provided as part
             of your HP Micro Focus COBOL/iX system.

       _________________________________________________________________ 

   *   argc and argv are not passed from the command line to the program
       when you invoke COBOL from C in conjunction with the X/Open ACCEPT
       FROM ARGUMENT-VALUE.

   *   Do not start program names or entry-point names with the prefixes
       mF_, mFt_, _mF, MF, _tMc, tMc, cob, CBL_, or HP. These prefixes
       could conflict with HP Micro Focus COBOL/iX symbol names.

   *   CALL ..  USING BY VALUE does not work in nested programs. 

   *   CALL ..  USING BY VALUE LENGTH OF is only supported for fixed
       length 
       parameters. 

   *   Program names, including PROGRAM-ID statements, entry-points, the
       targets for CALL, CANCEL, or CHAIN statements, or any program
       names that are non-numeric literals must consist only of
       characters that are valid in user-defined words.  These characters
       are A ..  Z, a ..  z, 0 ..  9, and hyphen (-).  The hyphen cannot
       be the first or last character.  Do not use any other character in
       program names.

       The file name of a program when it is generated is also an entry
       point name and must consist of valid characters.  File names of
       programs can also be implied entry point names, even if there is
       no explicit entry point with that name.  In the example below,
       pi.int or pi.gnt can be dynamically loaded and executed even
       though there is no entry point called pi.

            cobrun pi

   *   If you move a nonnumeric literal or one of the figurative
       constants (SPACE, LOW-VALUES, or HIGH-VALUES) to a numeric field,
       the compiler will move zeros.  If you specify the RM compiler
       directive, the compiler will move the figurative constant if
       possible or will generate an error.

   *   A CHAIN statement that includes a subscripted item greater than 8K
       as a USING field will cause the following error message.

            Illegal intermediate code

       The program will run, but the results may not be correct.

   *   If you have selected the alternate file status table and an
       input-output error occurs on a file with variable length records
       that has no file status bytes defined, the alternate file status
       will not be converted back to the correct Run-Time System error
       status for display on stderr.

   *   If you have selected the alternate file status table and an
       input-output error that has a number greater than 127 occurs, the
       error will be reported as a negative number.  This will only occur
       if the file has no status bytes defined and the error is displayed
       on stderr. 

   *   Calls to lower case program names made from within nested programs
       are converted to upper case.

   *   Numeric parameters stored in binary that are passed to other
       languages must be in the correct byte order when the program is
       ported.  The HP Micro Focus COBOL/iX byte order is HIGH/LOW. 

   *   Variable length file syntax has no effect on line sequential
       files.

   *   The following run-time error occurs if you use fractional
       exponents in intermediate code:

            107 Operation not implemented on this run-time system

   *   Fractional exponents are rounded down in generated code.



MPE/iX 5.0 Documentation