DSPURI00 trace entries
A trace entry with the identifier DSPURI00 indicates the beginning of a series of trace calls that show what occurs as DSPURI00 processes an I/O request.
All trace calls from DSPURI00 result in 96-byte trace entries. There are nine separate calls to the trace routine in DSPURI00. The pointer to the DSPRQB follows the trace identifier. The following table shows the 8-character identifier and block-area pointer for each call.
| 8-character identifier | Block-area pointer | Explanation |
|---|---|---|
| DSPURI00 | MODIRCAR | DSPURI00 receives control and the function-code value from DSPIRCAR indicates the type of call. (See DSPURI00 entry trace entry.) |
| OPENER1 | FILRESLT(I) | DSPURI00 starts a physical open of a RECON data set. |
| OPENER2 | FILRESLT(I) | DSPURI00 completes a physical open of a RECON data set. |
| OPENXA8 | FILRESLT(I) | DSPURI00 encountered a VSAM OPEN failure with reason code X'A8'. |
| GETFEED | FILRESLT(I) | After DSPURI00 issues an I/O request, the GETFEED procedure is called to trace specific information related to the I/O operation. Some of this information comes from DSPVFILE, some from the VSAM RPL, some from the record key and some from the I/O parameter block, DSPIOPAR. In addition, the RPL request is translated into a character printable code that describes the I/O operation. See GETFEED trace entry for one RECON. |
| CLOSER1 | FILRESLT(I) | DSPURI00 starts a true close of the RECON data set. |
| CLOSER2 | FILRESLT(I) | DSPURI00 completes a true close of the RECON data set. |
| VSAMERR | FILRESLT(I) | A VSAM error occurred and the routine to print a VSAM error message was entered. |
| RDOPTERR | RILRESLT(I) | An invalid read integrity option was specified. An error message was issued. |
| DSPURI00 | ENDIRCAR | DSPURI00 returns to its caller. Relevant exit condition information, if applicable, is traced. (See DSPURI00 exit trace entry.) |
The sequence of trace entries identified by DSPURI00, OPENER1, OPENER2, and GETFEED shows DSPURI00 receiving control and doing a physical open of one RECON data set. When DSPURI00 opens the second RECON data set, another sequence of OPENER1, OPENER2, and GETFEED entries follow the entries for the first RECON data set.
The DSPIRCAR data area includes a 1-byte function code and a 3-byte flag field. The function codes are alphabetic characters that identify what operation DSPURI00 does. The flag bytes further identify the type of operation. Pertinent information is extracted from the DSPIRCAR data area and placed in a modified IRCAR area, along with other processing information, to produce both the entry and exit traces within DSPURI00.
The GETFEED trace entry maps 64 bytes of information about the I/O operation. The last two lines of the entry contain this data.
The exit trace entry is similar to the entry trace. It is written upon return from DSPURI00, but only if one or more of the following conditions is true:
- This was a request to locate a specific RECON record.
- The request did not complete successfully (RC greater than 0 was returned).
- The copy 1 or 2 RECON status changed on this entry to DSPURI00.
DSPURI00 entry trace entry
Line 1:
words 0-1 — DSPURI00
word 2 — RQB address
words 3-5 — Binary zeros
words 6-7 - Time stampLine 2:
words 0-1 — MODIRCAR
word 2 - c1c2
word 3 - Func
words 4-7 - 16-byte entry messageLine 3:
words 0-5 — Key, blank, or repl ddname (key area)
word 6 - addr
word 7 - leng- time stamp
- Trace time stamp.
- c1c2
- The DD statement number (1-3) of the copy 1 and copy 2 RECON, if any, on entry to DSPURI00.
- func
- Function and option bits received from caller in DSPIRCAR.
- 16-byte entry message
- EBCDIC message readable at the right end of the trace entry, such
as LOGICAL OPEN, END MULT, UPDATE, and others. Class and sequential
locate requests and configuration requests have a modifier at the
end of their message:
- F
- Locate first
- L
- Locate last
- NX
- Locate next
- P
- Locate previous
- NG
- Locate not-greater-than
- DSNS
- Supply dsnames of RECONs in DSPIRCAR
- STAT
- Supply status of all RECONs in DSPIRCAR
- DUAL
- Enter dual mode
- REPL
- Replace RECONx with spare (where x = 1-3, see key area)
- key area
- For all locate, change, insert, and delete requests, contains the 32-byte key of the record involved. For replace requests, contains the ddname of the RECON to be replaced.
- addr
- Address of a record to be changed or inserted.
- leng
- Length of a record to be changed or inserted.
GETFEED trace entry for one RECON
Line 1:
words 0-1 — GETFEED
word 2 — DSPRQBA
words 3-5 — Binary zeros
words 6-7 - Time stampLine 2:
word 0 — RPLFDBWD
word 1 — FILLRECL
word 2 - FILNEWCA
word 3 - FILNEWEX
word 4 - FILCICNT
word 5 - FILCACNT
word 6 - FILEXCNT
word 7 - FILMAXLine 3:
word 0 — FILCISZ
word 1 — bytes 1-2 - FILFLAGS
bytes 3-4 - FILOPERR
word 2 - FILBUFPT
word 3 - FILRCDPT
word 4 - FILRCDLN
word 5 - bytes 1-2 - SEGMENT NUMBER
byte 3 - RECON NUMBER
byte 4 - RPLREQ
word 6 bytes 1-4 and word 7 bytes 1-2 - PRINTABLE
RPLREQ
word 7 - bytes 3-4 - NOT USED- dsprqba
- Address of the DSPRQB.
- time stamp
- Trace time stamp.
- RPLFDBWD
- RPL feedback word.
- FILLRECL
- Logical record length.
- FILNEWCA
- Starting high-used relative byte address (RBA).
- FILNEWEX
- Starting high-allocated RBA.
- FILCICNT
- RECON changed counter value.
- FILCACNT
- Current high-used RBA.
- FILEXCNT
- Current high-allocated RBA.
- FILMAX
- VSAM maximum record size.
- FILCISZ
- Data control interval (CI) size.
- FILFLAGS
- RECON processing status flags (open, reserved, empty).
- FILOPERR
- Open SVC reason code if RC is not 0.
- FILBUFPT
- Pointer to header record buffer.
- FILRCDPT
- Pointer to the record in the VSAM I/O buffer or user area.
- FILRCDLN
- Length of record.
- SEGMENT NUMBER
- Record segment number.
- RECON COPY NUMBER
- Recon number used in this request.
- RPLREQ
- RPL request type.
- RPL REQUEST PRINTABLE CODE
- English word that is later translated into a printable code used to make a request to VSAM.
- RPL REQ PRINTABLE CODE
- This is translation of the RPLREQ field into a printable code
that is close to being the English word for the request made to VSAM.
The following table shows the translated RPLREQ printable codes.
Table 2. Translated RPLREQ printable codes Printable code Hexadecimal RPLEQ RPL request GET 00 GET Retrieve a record PUT 01 PUT Write a record CHECK 02 CHECK Wait for completion POINT 03 POINT Position for access ENDREQ 04 ENDREQ Terminate a request ERASE 05 ERASE Delete a record VERIFY 06 VERIFY Synchronize end of data ****** 07 Not used Not used DATPRE 08 DATA PREFORMAT IDXPRE 09 INDEX PREFORMAT FORCIO 0A Force I/O GETIX 0B GET INDEX PUTIX 0C PUT INDEX SCHBFR 0D SCHBFR Search Buffer MRKBFR 0E MRKBFR Mark Buffer WRTBFR 0F WRTBFR Write Buffer CNVTAD 10 CNVTAD MNTACQ 11 MNTACQ ACQRNG 12 ACQRANGE TRMRPL 13 TERMRPL VERREF 14 VERIFY REFRESH
DSPURI00 exit trace entry
Line 1:
words 0-1 — DSPURI00
word 2 — RQB address
words 3-5 — Binary zeros
words 6-7 - Time stampLine 2:
words 0-1 — ENDICAR
word 2 - c1c2
word 3 - Func
words 4-7 - 16-byte entry messageLine 3:
words 0-5 — Key, blank, or repl ddname (key area)
word 6 - addr
word 7 - lnrc- time stamp
- Trace time stamp.
- c1c2
- The DD statement number (1-3) of the copy 1 and copy 2 RECON, if any, on exit from DSPURI00.
- func
- Function and option bits received from caller in DSPIRCAR.
- 16-byte exit message
- For locate requests, contains either the message RECORD WAS FOUND or RECORD NOT FOUND, depending on the outcome of the search. Otherwise, contains a repeat of MODIRCAR contents.
- key area
- For a successful locate request, contains the 32-byte key of the RECON record returned to caller. Otherwise, contains a repeat of MODIRCAR contents.
- addr
- Address of the record found for a successful locate. Otherwise, 0.
- lnrc
- Length of the record found for a successful locate, or the return code to be passed back to the module that called DSPURI00.