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.

Table 1. Calls to the trace routine in DSPURI00
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:

DSPURI00 entry trace entry

Line 1:    
       words 0-1 — DSPURI00        
       word 2 — RQB address
       words 3-5 — Binary zeros
       words 6-7 - Time stamp
Line 2:    
       words 0-1 — MODIRCAR        
       word 2 - c1c2
       word 3 - Func
       words 4-7 - 16-byte entry message
Line 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 stamp
Line 2:    
       word 0 — RPLFDBWD        
       word 1 — FILLRECL
       word 2 - FILNEWCA
       word 3 - FILNEWEX
       word 4 - FILCICNT
       word 5 - FILCACNT
       word 6 - FILEXCNT
       word 7 - FILMAX
Line 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 stamp
Line 2:    
       words 0-1 — ENDICAR        
       word 2 - c1c2
       word 3 - Func
       words 4-7 - 16-byte entry message
Line 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.