> -----Original Message-----
> From: IBM Mainframe Discussion List 
> [mailto:[EMAIL PROTECTED] On Behalf Of Perryman, Brian
> Sent: Wednesday, June 22, 2005 6:42 AM
> To: IBM-MAIN@BAMA.UA.EDU
> Subject: Another OS/390 to z/OS 1.4 migration question (COBOL)

Just to expand a bit on previous answers.

> 
> 
> Hi folks
>  
> Our developers are getting IGYPS0157-E and IGYPS0158E 
> messages when they try and compile a CICS COBOL program on 
> z/OS 1.4 in Enterprise Cobol of z/OS and OS/390 V3.2.
>  
> I can't find these blasted messages documented anywhere!! Is 
> there some convoluted format for decoding them?

All COBOL messages are self explanatory. Therefore there is no messages
manual for COBOL. This is IBM's official stance. Good luck trying to get
them to change.

>  
> I suspect it's just a COBOL options member problem, but I 
> need to see the message description. It only seems to happen 
> when the CICS precompiler (CICS 4.1.0) is included first.
>  
> The texts of the messages are:
>  
> IGYPS0157-E   A shift-out was found in column 50 without a 
> matching shift-in in a nonnumeric or national literal.  The 
> literal was processed as written.
> 
> IGYPS0158-E   A nonnumeric or national literal containing 
> double-byte characters was found which exceeded the maximum 
> literal length or reached end of area "B" before terminating. 
>  A literal delimiter was placed at column 72 of line nnnn

Previous COBOL compilers did not support hexadecimal literals such as
x'0a0d' (just an example). Therefore, in order to pass hexadecimal
information, the CICS precompiler would generate the actual hex values
in a string. Use of the COBOL3 (and COBOL2?) parameter in the CICS
precompiler tells it to use the x'....' method. The current COBOL
compilers support DBCS (Double Byte Character Sets). It does this by
allowing a "shift in" character to "shift into" DBCS mode and a "shift
out" character to go back to SBCS (Single Byte Character Set) mode.
These characters are x'0f' and x'0e' respectively. The CICS precompiler
without the COBOL3 (and COBOL2?) could generate these hex values under
certain conditions. It didn't matter with the old COBOL compilers, they
just got put in the string value. With the new COBOL compilers, the
compiler gives the above messages, sometimes. It might be possible for
the precompiler to actually generate valid DBCS characters. If it
happened to do this, you'd get no messages, but likely problems during
execution time.


--
John McKown
Senior Systems Programmer
UICI Insurance Center
Information Technology

This message (including any attachments) contains confidential
information intended for a specific individual and purpose, and its'
content is protected by law.  If you are not the intended recipient, you
should delete this message and are hereby notified that any disclosure,
copying, or distribution of this transmission, or taking any action
based on it, is strictly prohibited.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to