Record layouts for the output data sets
The data sets produced when the EXTRACT keyword is specified contain information about persistent messages. Messages are identified by their queue name and an eight character key. Once a message has been got, the key can be reused by another message, so it is important to ensure that time sequence is maintained. In the records are times. A time stamp can only be extracted from a Begin-UR record or from an MQPUT request. Thus if there is only a long running transaction which is getting messages, the times when the gets occurred will all be the time the transaction started (the Begin-UR record). If there are many short units of work, or many messages being put, the time is reasonably accurate (within milliseconds), otherwise the times will become less and less accurate.
The information in the data sets has the following layout: (Note there is a 4 byte Record Descriptor Word at the front of each record because the files are Variable Blocked format). The field names correspond to those in the C header file CSQ4LOGD in thlqual.SCSQC370.
Offset Type Length Name Description Dec Hex 0 0 Character 21 csrecorddate The approximate time the log was written, in the format yyyy.ddd hh:mm:ss.thm 21 15 Character 7 cstimedelta Approximate time difference in milliseconds from the start of the unit of work. Right-justified and padded with blanks. 28 1C 64-bit integer 8 dtodout Estimated time that the log record was created, in STCK format. 36 24 Character 6 csurid Queue manager specific unique identifier of the unit of work that created the log record. 42 2A Character 12 cscorrelator Thread correlation identifier 54 36 Character 8 csauth Authorization identifier (Userid associated with unit of work) 62 3E 64-bit integer 8 dtime Time that the unit of work was started, in STCK format 70 46 Character 8 csresource Resource name 78 4E Character 8 cscnty Connection type: one of BATCH, RRSBATCH, IMS, CICS, CHIN or nulls for an internal task 86 56 Character 8 cscnid Connection ID of thread that created this unit of work 94 5E Character 3 csstatus Unit of work type: BUR for begin or CP for checkpoint information 97 61 Integer 4 ldatalen Length of the message data (if any) 101 65 Character 4 csqmgrname Name of queue manager 105 69 Character 48 csqueuename Name of queue, for get, put, or expired messages 153 99 Character 12 cssqdmcp Shared queue message key. Blank if not a shared queue 165 A5 Character 8 csdmcp Non-shared queue message key. Blank if a shared queue. 173 AD Character 8 csverb Activity :
- ALTER
- the object was changed
- DEFINE
- the object was created
- MQGET
- the message was got
- MQPUT
- the message was put
- EXPIRE
- the message expired
- ABORT2
- the message was backed out
- PHASE1
- the first phase of two phase commit
- PHASE2
- the second phase of two phase commit, or the only phase of one phase commit
181 B5 Character 1 cscmitstatus Status of unit of work:
- B
- backed out
- C
- committed
- I
- inflight
182 B6 Character 1 csshunt Shunted indicator
- S
- shunted record
- N
- not shunted
183 B7 Character 6 cslogrba RBA of log record 189 BD Character 6 csshuntrba RBA of shunted log record 195 C3 Integer 4 lsegment The segment number of the data, starting from 1. 199 C7 Variable data part 199 C7 Character 1 csbora If csverb is ALTER, indicates whether the data is the 'before' or 'after' copy of the object.
- B
- before
- A
- after
200 C8 Character Variable csvardata Message or object data. Length as given in ldatalen.