Archive utility returns U0031213 error during DB unload

Document ID : KB000090501
Last Modified Date : 14/04/2018
Show Technical Document Details
Issue:
Archive utility returns U0031213 error during DB unload
Resolution:

Symptoms

When a user decides to use the ucybdbar utility to unload reports from the DB, in certain cases the utility returns "1" and not the expected "0" as the return code.

A straightforward way to trigger this symptom is

  • enable XRO_REPORTS in UC_CLIENT_SETTINGS
  • run a job that saves an empty report
  • run "ucybdbar -B -Xunload -Sclient_number -Rempty_report_run_id -Y1"


Cause

This return code ("1") and error message ("U00031213 No row found in table RH where RH_Idnr is 'xxxxxxx'.) are a result of an empty job report. This can happen, among others, with a z/OS agent.
In such a case the utility will try to access a row from the RH table that doesn't exist.


Resolution

The user of the AE system or the archive utility is encouraged to treat "1" as a valid return value and react accordingly.

A user could have a workflow which first lists all reports in the XRO table and exports the results to a CSV file. This file is then used as input for a resource loop that does something with each report (e.g. export, delete etc.). In such a case the user must add extra script logic to verify that each report exists, has a non-zero size (XRO_ReportSize) and a successful return code (XRO_RRetCode). This sets up a filter that rejects non-existing reports and avoids calling ucybdbar for such input rows.