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.