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