• Subject: ILE COBOL - Consistency check problem
  • From: Vanja Jovic <vanja@xxxxxxxxx>
  • Date: Tue, 05 Oct 1999 23:12:45 -0600

Hi all you ILE COBOL, export/import and OS version control gurus.

I have a problem that starts to drive me crazy (slowly, but fast

Here is the story:
Program A consists of COBOL modules A1, A2, A3, A4 and A5, created under
V3R7M0. A1 is PEP for program A and calls other modules. These modules
share a lot of
EXTERNAL data, among others 9 files. That works (used to work) fine.

Now here is a trouble:
Modules A1, A2 and A3 are changed and recompiled under V4R3M0 and
program A is
recreated (CRTPGM) using newly created modules A1, A2, A3, and old,
versions of A4 and A5 (we do keep our modules with programs, don't ask
why we
don't use UPDPGM). Now, when A1 calls A4, we get "Consistency check on
for all 9 files (err. description attached), reason code 18 (yes,

Firstly, modules were created in the same environment (e.g. none of
changed since first creation of modules and program, not to mention 9 of

For a last few days I was trying to find any single difference in file
definition or file usage between old and newly created versions of
modules. I
also checked all reasons for this type of error as they are listed in
COBOL/400 Reference, Considerations for External files as well
as all
17 possible reasons listed in the description for message LNR7801 (note
there are 17 different codes, but I got reason code 18). Nope.

This problem is easily solved recompiling module A4 and recreating (or
updating) a program. But, we have a very rich ILE environment and I'd
like to know exact
reason for it. Same problem occurred few more times (caught in testing)
and I'd
hate an idea of recompiling everything created under V3.

Now, I'm starting to think that there is something in V4R3 that won't
with V3R7.  Especially because compiler under V4 can't create template
for V3, and
command CRTCBLMOD would let you put V3R7M0 as target release.

Any ideas????

Vanja Jovic,

Message ID . . . . . . . . . :   LNR7801
Message file . . . . . . . . :   QLNRMSG
   Library  . . . . . . . . . :     QSYS

Message . . . . :   Consistency check on file &7, reason code &1.
Cause . . . . . :   The definition for external file &7 in COBOL program
&5 in
   program object &3 in library &4 does not match the current definition
   that file in use in the run-unit. The reason code identifies which
   not match the current definition.  The reason codes are as follows:
     01 - The record format level identifiers
     02 - The name specified on the ASSIGN TO clause
     03 - The ORGANIZATION or ACCESS mode
     04 - The OPTIONAL phrase
     05 - The external data item specified for the RELATIVE KEY phrase
     06 - The location of the record key within the associated record
     07 - The value for the maximum size of the block
     08 - The values for the maximum or minimum number of characters on
RECORD clause
     09 - The character set specified on the CODE-SET clause
     10 - The value specified for the DUPLICATES phrase
     11 - One or more of the values specified for the LINAGE clause
     12 - The specification of the attribute for the ASSIGN clause
     13 - The specification for the COMMITMENT CONTROL clause
     14 - The specification for the *DUPKEYCHK or the *INZDLT compile
     15 - The record blocking/deblocking information
     16 - No further information
     17 - The specification of the CCSID parameter for the CRTCBLMOD or
CRTBNDCBL CL commands.
Recovery  . . . :
     For reason code 01, recompile the program.
    For reason code 14, recompile the program and specify the same
  time options as specified for other compilation units containing
  of the external file.
    For reason code 15, change the programs that use the external file
  ensure that blocking/deblocking on the file will be performed
  within those programs.
    For reason code 17, recompile the program and specify the same CCSID
  parameter value as specified for other compilation units containing
  definitions of the external file.
    For all other reason codes, change the definition of the external
file so
  that it matches all other definitions of the same external file used
in the
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com

As an Amazon Associate we earn from qualifying purchases.

This thread ...

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

This mailing list archive is Copyright 1997-2022 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.