View previous topic :: View next topic
|
Author |
Message |
urogallo
New User
Joined: 16 Dec 2013 Posts: 2 Location: Spain
|
|
|
|
Hi all
I'm compiling a Cobol CICS program and getting the following error:
"DFHB0020" WAS NOT DEFINED AS A DATA-NAME. THE STATEMENT WAS DISCARDED.
It's a little strange since this program has been being compiled for months, this morning for example it compiled with no errors. Today we made some little changes but none of them affected to CICS sentences.
As you surely know, this DFHB0020 appears in CICS sentences like READQ or WRITEQ when they are "translated".
I have been searching help in internet and in this forum, and the only useful thing I have found is that the error may be happening due to precompiler (10 years old post in other forum).
Any ideas? I would like to check it out with the support team too |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello and welcome to the forum,
Quote: |
Today we made some little changes but none of them affected to CICS sentences. |
Well, not intentionally . . .
Suggest you COMPLETELY remove the "little changes" and see if the error goes away.
Always suspect the most recent change . . . |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
DFHB0020 is a CICS field, inserted by the translator for usage in a CICS/COBOL program. It is defined as a S9(04) COMP field (Binary-Halfword). Check with your support personnel. You're missing a SYSLIB concatenation.
By chance, have you introduced System Programmer CICS API's, such as INQUIRE? If so, you must use the Translator (NOT compiler) option "SP'.
HTH.... |
|
Back to top |
|
|
urogallo
New User
Joined: 16 Dec 2013 Posts: 2 Location: Spain
|
|
|
|
Ok, I've solved it. I removed all changes as Dick suggested but the errors caused by DFHB0020 still were there.
What was happening? Did I removed ALL changes? The answer was, of course, no. I checked the code and I found an unintentional change. I explain:
As many times we all do, we have commented boxes to explain the code for example:
Code: |
**************
* paragraph *
************** |
Starting in column 7, but I discovered (thanks to some warnings in the compilation job report) one of these lines started after column 8 like this
Code: |
**************
* paragraph *
************** |
I restored the changes I wanted to do to the program, rewrote correctly that text box and the result was good and the program compiled.
Anyhow, thanks for answers and support. One important lesson learned: Warnings in compilation jobs reports are there for something!
Regards everyone |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Good to hear it is working - thank you for letting us know
d |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
Many shops use a FLAG(E) setting for compilations. Personally, I recommend FLAG(I,I) and you'll get to see ALL things the compiler has flagged.
Many times, you'll get a W when a parameter is missing from a USING and that can lead to all sorts of wonderful "opportunities".
Just my two cents.... |
|
Back to top |
|
|
|