Skip to main content

Problem:

After migrating an application from VAX to Solaris UNIX and Server Express, one may notice that the last byte in some data items in his output files appeared differently than it did when the program was run on the VAX.

Resolution:

For numeric data items of usage DISPLAY, the sign is encoded in the last byte (unless the SIGN TRAILING SEPARATE clause is specified for the item).  There are two popular conventions for encoding the sign in the last byte:  the ASCII convention and the EBCDIC convention.  Micro Focus uses the ASCII conventin by default, and apparently VAX COBOL uses the EBCDIC convention.

The compiler directive named SIGN can be used to change Server Express's behavior in this regard.  For compatibility with the VAX,  the following option can be specified on the "cob" command used to compile the programs:

  -C SIGN=EBCDIC

Old KB# 7221