openUTM documents events that occur in task-specific trace areas that are written to on a rotating basis. Requests sent to the database system are also documented. The ’Secondary DB Trace Information’ field in particular is relevant for UDS/SQL.
There UDS/SQL stores data on each request that you can use to analyze runtime information and to diagnose errors. However, sometimes this information can only be used in conjunction with other diagnostic documents (e.g. a dump) since the data fields from which the data was obtained are internal UDS/SQL data fields. In this respect the fields can only be interpreted in connection with the UDS/SQL version from which they originated.
The ’secondary DB trace information’ field is 32 bytes long. In openUTM versions up to and including V5.2 it is a component part of a trace record of the DB-DIAGAREA; in openUTM V5.3 or higher it is contained in the DB record of the UTM-DIAGAREA (see the openUTM manual “Messages, Debugging and Diagnostics in BS2000”, DB-DIAGAREA and UTM-DIAGAREA).
The secondary DB trace information from UDS/SQL is structured as follows:
Byte(s) | Meaning | |
1-4 | Version | |
5-6 | Type of request | |
CB | COBOL-DML | |
CD | CALL-DML (including KDBS request) | |
CN | Connection | |
DC | Disconnection | |
FN | End of transaction | |
PA | Passing of start parameters | |
PB | Special request from COBOL runtine system | |
RB | Continuation of a task of an open TA | |
SB | Interruption of a task of an open TA | |
SQ | SQL request | |
ST | Status request from openUTM | |
7 | openUTM opcode 1 | |
8 | openUTM opcode 2 | |
9-32 | Different meanings depending on the version and type of request defined in bytes 1-6 (see the following table). |
Table 8: Structure of the secondary DB trace information field
The following table contains the meanings of bytes 9-32 of the secondary DB trace information field for the various versions and types of requests.
Bytes 1-6: U01 CB
Byte(s) | Meaning |
9-12 | Dynamically assigned internal UDS/SQL transaction ID |
13 | DML request code 1 in the BIB |
14 | DML request code 2 in the BIB |
15 | Dynamically assigned internal UDS/SQL number of the set type accessed in the DML for old style BIBs |
16 | Dynamically assigned internal UDS/SQL number of the set or realm used in the DML for old style BIBs |
17-19 | Status code of the DML used |
20 | Code stating if the status code recorded in bytes 17-19 matches the status code passed to the user in the BIB (’O’ when matched, ’B’ when no match) |
21 | Dynamically assigned internal UDS/SQL database ID |
22 | Dynamically assigned internal UDS/SQL database ID in the remote configuration |
23-26 | Dynamically assigned internal UDS/SQL subschema reference |
27-32 | Subschema name |
Bytes 1-6: U02 CB
Byte(s) | Meaning |
9-12 | Dynamically assigned internal UDS/SQL transaction ID |
13 | DML request code 1 in the BIB |
14 | DML request code 2 in the BIB |
15-16 | Dynamically assigned internal UDS/SQL number of the set type accessed in the DML for new style BIBs |
17-19 | Status code of the DML used |
20 | Code stating if the status code recorded in bytes 17-19 matches the status code passed to the user in the BIB (’O’ when matched, ’B’ when no match) |
21 | Dynamically assigned internal UDS/SQL database ID |
22 | Dynamically assigned internal UDS/SQL database ID in the remote configuration |
23-26 | Dynamically assigned internal UDS/SQL subschema reference |
27-32 | Subschema name |
Bytes 1-6: U01 CD
Byte(s) | Meaning |
9-12 | Dynamically assigned internal UDS/SQL transaction ID |
13 | DML request code 1 in the BIB created internally |
14 | DML request code 2 in the BIB created internally |
15 | Dynamically assigned internal UDS/SQL number of the set type accessed in the DML for new style BIBs |
16 | Dynamically assigned internal UDS/SQL number of the set type or realm used in the DML for new style BIBs |
17-19 | Status code of the DML used |
20 | Code stating if the status code recorded in bytes 17-19 matches the status code passed to the user in the BIB (’O’ when matched, ’B’ when no match) |
21 | Code stating if there is a KDBS request available |
22 | Dynamically assigned internal UDS/SQL database ID |
23-28 | Subschema name |
Bytes 1-6: U02 CD
Byte(s) | Meaning |
9-12 | Dynamically assigned internal UDS/SQL transaction ID |
13 | DML request code 1 in the BIB created internally |
14 | DML request code 2 in the BIB created internally |
15-16 | Dynamically assigned internal UDS/SQL number of the set type accessed in the DML for new style BIBs |
17-19 | Status code of the DML used |
20 | Code stating if the status code recorded in bytes 17-19 matches the status code passed to the user in the BIB (’O’ when matched, ’B’ when no match) |
21 | Code stating if there is a KDBS request available |
22 | Dynamically assigned internal UDS/SQL database ID |
23-28 | Subschema name |
Bytes 1-6: U01 CN
Bytes | Meaning |
13-20 | Name of the UDS/SQL configuration |
21-24 | Return code of the ENAMP-SVC to connect to the CUP |
Bytes 1-6: U01 DC
Bytes | Meaning |
13-20 | Name of the UDS/SQL configuration |
Bytes 1-6: U01 FN
Bytes | Meaning |
9-12 | Dynamically assigned internal UDS/SQL transaction ID |
Bytes 1-6: U01 PA
Bytes | Meaning |
9-32 | 24 bytes of the start parameters passed by openUTM |
Bytes 1-6: U01 PB
Bytes | Meaning |
9-32 | No additional information |
Bytes 1-6: U01 RB
Bytes | Meaning |
9-12 | Dynamically assigned internal UDS/SQL transaction ID |
19-20 | Number of open processing chains and processing chains which are to be restored |
Bytes 1-6: U03 RB
Bytes | Meaning |
9-12 | Dynamically assigned internal UDS/SQL transaction ID |
13-15 | Internal UDS/SQL status displays for the session, the last request in the transaction and the processing chain which is to be restored |
17-18 | Internal UDS/SQL number of the processing chain which is to be restored |
19-20 | Number of open processing chains |
21-24 | Location of the BIB which is to be restored in the communication pool |
27-32 | Subschema name |
Bytes 1-6: U01 SB
Bytes | Meaning |
9-12 | Dynamically assigned internal UDS/SQL transaction ID |
13-16 | Number of open processing chains and therefore the number of BIBs to back up |
Bytes 1-6: U01 SQ
Bytes | Meaning |
9-12 | Dynamically assigned internal UDS/SQL transaction ID |
13-16 | Dynamically assigned internal UDS/SQL ID of the SQL procedure |
17-20 | SQL return code of the SQL request |
21-24 | SQL return code of the 2 level of the SQL request (operation) |
25 | Internal SQL request code |
27-28 | Internal SQL error code of the connection |
29-30 | Internal module code of the connection when an error occurs |
31-32 | Error number internal to the module |
Bytes 1-6: U01 ST
Bytes | Meaning |
13-16 | Internal UDS/SQL RLOG ID referring to the status request |
17-20 | Session section number referring to the status request |
21-22 | Error codes internal to the module |