× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



If the field (COBOL element) is not referenced in the program, the
compiler does not generate the necessary debugging information for it.
When you try to debug, it will yield the "Identifier does not exist"
message. You can compile the program with OPTION(*UNREF) and the compiler
will generate the necessary debugging information. The default is
OPTION(*NOUNREF) to reduce the size of the compiled program object.

CRTBNDCBL testlib/testpgm SRCF(srclib/srcfile) OPTION(*UNREF)

It can be a little deceptive as data can be received and passed through
these variables when calling another program, but if they aren't
referenced in your program you can't see it when debugging--although the
data is really there.

cobol400-l-bounces@xxxxxxxxxxxx wrote on 08/07/2009 05:26:08 AM:

----- Message from "RWMunday" <rwmunday@xxxxxxxxxxxxx> on Thu, 6 Aug
2009 20:52:31 -0400 -----

To:

"'COBOL Programming on the iSeries/AS400'" <cobol400-l@xxxxxxxxxxxx>

Subject:

[COBOL400-L] Identifier Does Not Exist

Greeting from sunny Florida.


I'm a trained but infrequent COBOL programmer working in a multilingual
shop. I must utilize a routine to get a sequence number from a data
queue
which was written in 1993 and has no documentation. I attempted to
rewrite
it in RPG /Free but gave up and tried a different approach... modify an
existing functioning COBOL program and call it from my RPG program. By
copying out only the routines I needed, I've created a program which
does
precisely what is necessary to get this number from the data queue. My
problem is that it doesn't work and gives a really nasty error when one
of
the internal routines makes a call to an outside program and passes
parms.
While running it through debug and checking the values of each field
each
step of the way, I discovered that elements of the parms in the
offending
call `do not exist`. They are arranged thus:

05 Parm-Field-One.
10 Subfield-One Pic X(10) Value("PROGRAM")
10 Subfield-Two Pic X(10) Value("*LIBL")
10 Subfield-Three Pix X(10) Value("*ALL")

When I run the program through debug, subfield one is blank and the
other
two list as "Identifier Does Not Exist". I thought it may have been the
positioning of subfields two and three but I have another parm field
with
four elements... it finds one and four but two and three do not exist.

My clone has all of the necessary elements of the original which works.
Why
would 10 level defined fields not be available to my program?

If you reply after 7am eastern Friday, please write to me at
RMunday@xxxxxxxxxxxxx as I do not have access to online e-mail at work
(company directive).

Thanks,



Robert Munday
Munday Software Consultants
Montgomery, AL
On assignment in Jacksonville, FL


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.