ABEND=S000 U0070 in Datacom/DB Reporting Facility program with RETURN CODE 37
search cancel

ABEND=S000 U0070 in Datacom/DB Reporting Facility program with RETURN CODE 37

book

Article ID: 39796

calendar_today

Updated On:

Products

Datacom DATACOM - AD Datacom/AD Datacom/DB

Issue/Introduction

When running a report using Datacom/DB Reporting Facility (called Data Reporter here), the job fails with:

IEF450I jobname  procstep stepname - ABEND=S000 U0070 REASON=00000000

And with this error message in the step output:

filelabel FAILURE DURING ..GETIT.. RETURN CODE IS ..37.. CALL NUMBER 00000000

Environment

Release: All supported releases.

Cause

In Datacom/DB, a Return Code 37 generally refers to a bad address, and in the case of a Data Reporter program, the only internal return code that applies is 028. Here is the description of that internal code:

Explanation: The Element List address or work area address passed to Datacom/DB is invalid.

User Response: Correct the program and rerun.

Resolution

This problem is most often caused by an error in defining the Datacom file to be processed by the Data Reporter program. Below is an example of steps to follow to resolve this error.

  1. Review the “FAILURE DURING…” message and identify the file label used by the program. For example, here is the error message showing file label ABC123 (found at the beginning of the message):
    ABC123   FAILURE DURING ..GETIT.. RETURN CODE IS ..37.. CALL NUMBER 00000000
  2. Browse the Data Reporter source, and find the file label with the problem. For example, here is a file definition statement with that file label:
    ABC123:  FILE    DATACOM RECORD=466 NAME=ABC DBID=123
  3. From the file definition statement, you can identify the database and table. Run a DBUTLTY CXX report using this input:
    //SYSIN    DD  *
     REPORT AREA=CXX,DBID=123
    /*
  4. Along with the file definition statement should be a layout of the database fields referenced by the program, and in the first 300 bytes are the Request Area fields used. At position 191 is the beginning of the element list. Make note of the elements to be retrieved in this program. In our example, the only element referenced is ABC01.
  5. In the CXX report, find the table to be accessed (ABC), and then below the table definition, review the elements to get the length of the elements used in the program. For example, here is the element section of the CXX report:
    ELEMENTS - NAME   SECURITY CODE   START  LENGTH   DATA TYPE 
               ABC01     00-000           0     154  

  6. Total the length of all the elements, and then add 300 to that.

In this example, you can see that the length of the element is 154 bytes, and adding 300 bytes results in an expected length of 454. Since the program says RECORD=466, this is the cause of the error. In this case, simply changing the RECORD= value to 454 will correct the problem and let the program open the table without a problem.

Additional Information

For more information about the use of the FILE definition statement for Datacom/DB tables in the Data Reporter program, please refer to the following guide:

Datacom/DB Version 15.1 Reporting Facility User Guide, in the section Reporting Facility Commands › FILE Command › Datacom/DB Table Definition