Skip to main content

Load error : file 'DFHEI1' error code: 173 Called program file not found in drive/directory

  • January 26, 2015
  • 0 replies
  • 0 views

Problem:

A 173 error on file 'DFHEI1' occurred while running a CICS region.  The error appeared in the console.log, and stopped a CICS program from running.

Resolution:

DFHEI1 is not defined in Micro Focus.  It is defined only on the mainframe.  When the mainframe compiler pre-processes COBOL source having embedded CICS statements, it translates some of those CICS statements into calls to DFHEI1.  But under Micro Focus, the CICS statements are not translated into calls to DFHEI1.

The reason 173 errors on DFHEI1 appear, is that the user is compiling some code (perhaps in a COPY book) that has already been pre-processed by the mainframe preprocessor.  Consider this example code fragment:

      *EXEC CICS HANDLE CONDITION 
      *          ERROR (LT70PD-ERROR-ROUTINE) 
      *      END-EXEC. 
006100     Call 'DFHEI1' using by content x'0204800007010000000000000000 
      -    '0000000000000000f0f0f0f7f2404040' end-call 
            Service label 
            Go to  LT70PD-ERROR-ROUTINE depending on dfheigdi.

In the above code fragment, the mainframe compiler already commented-out the EXEC CICS statement and inserted a call to DFHEI1.  Then somebody brought this code over to Micro Focus and compiled it under Micro Focus, but actually Micro Focus needs to compile the original EXEC CICS statement.  The code above would result in a 173 error on DFHEI1 at runtime under Micro Focus.  The solution is to change this code fragment to:

       EXEC CICS HANDLE CONDITION 
                ERROR (LT70PD-ERROR-ROUTINE) 
            END-EXEC. 

that is, to un-comment and restore the original EXEC CICS statement.  To solve the problem, search the COBOL source code for the string "Call 'DFHEI1'".  When you locate instances of this, restore the original CICS statement.


#EnterpriseDeveloper
#MFDS

0 replies

Be the first to reply!