The execution of a Datacom application program completes with a U0004 abend, but the joblog shows also the following error message:
DB00704I - USER ABEND - nnnnn
Where are these nnnnn abend codes documented?
As it can be read in the "ABEND (Abnormal Termination Command)" section of the Datacom 15.1 "Commands for Programming" chapter, the DB00704I message and the U0004 abend code are returned because the program issued a Datacom ABEND command. Here is the explanation:
Data Returned
When Datacom/DB receives an ABEND command, a console message is issued. The message is DB00704I - USER ABEND - xxxxx where xxxxx is the first 5 bytes of the work area.
A region dump occurs unless NODUMP was specified in the work area. Datacom/DB then closes the tables that are open.
If a User Requirements Table (URT) is open with the transaction backout specified, the maintenance that is done by the transaction is automatically reversed.
In z/VSE, the job step is canceled due to a program request. In z/OS, the job step abends with a user 0004. If the first five work area bytes are Unnnn, where U is a constant and nnnn is a number less than 4096, the step abends with the specified number.
When running in Multi-User Facility (MUF) mode, the job step terminates immediately and the job does not wait for the MUF to complete the transaction backout and close.