On Jun 23, 2005, at 9:18 AM, Shmuel Metz (Seymour J.) wrote:

In <[EMAIL PROTECTED]>, on 06/22/2005
   at 07:00 PM, Joe Zitzelberger <[EMAIL PROTECTED]> said:


And you forgot to terminate or continue in accordance with the rules.


No, *you* forgot that he was using the preprocessor. The data were not
his in the first place. He simply trusted the IBM preprocessor to
generate correct COBOL code. In context the message is clear as mud.

While the preprocessors usually do a decent job, blind faith in their abilities is excessive. There are many cases where they can produce errors in a compile. How will having more documentation about a perfectly valid mangled literal help one diagnose a preprocessor problem? It won't.

In all contexts, this message means you have a screwed up DBCS literal in your source code. It doesn't matter if it got there by a copy statement, a preprocessor or if the programmer hand-mangled it. It is still a screwed up DBCS literal and that is exactly what the self-describing message says.

The programmer fix to such a problem is self-evident -- unmangle the DBCS literal. The proper use of DBCS literals is already fully documented in the Cobol language reference and programmers guide. If the preprocessor inserted the literal into your code, then the self evident fix is to tell the preprocessor to unmangle it.

To get any sort of a constructive fix a programmer will have to quit trying to lay blame on the compiler and address the root cause -- the preprocessor. No amount of message manuals from IBM will ever help them in this effort and requests for such are only trying to treat the symptom while ignoring the real problem.

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