QXFR FM header format

The following table shows the format of the QXFR FM header.

Table 1. QXFR FM header format
Byte Bits Name Contents
0   FMHL Length
1 0 FMHC  
1-7 FMHT Type: B'0000110'
2-3   FMH6CMD Command Code: X'0A08'
4   FMH6MOD Modifier
0 FMH6LNSZ B'0' 1-Byte Length Fields
1-7   Reserved
5   FMH6FXCT

Length of fixed-length fields
(=X'02')

6   QORG Types of paging requests valid for this message.
X'01'
Sequential retrieval of pages. Operator logical paging (OLP) is not defined. Message is dequeued after successful transmission of last page.
X'02'
Linear retrieval of pages. Operator logical paging (OLP) or browsing is allowed. Message is dequeued only by explicit action from the other subsystem (RAP or QPURGE FM header is received).
X'03'
Hierarchic retrieval of pages. Not supported by IMS.
X'00', X'04'-X'FF'
Reserved.
7 0-4 Reserved  
5 QDISP B'0' Disposition is save.
6   Reserved.
7 QEMSG

B'0' Not end of message
B'1' End of message
Set to B'1' if last logical page
  (OPTIONS=DPAGE) or last presentation
  page (OPTIONS=PPAGE) of a message is
  transmitted.

8-n   QCURSOR1

Cursor vector for current message.
For OPTIONS=PPAGE, this field includes a
  1-byte length field of value 4 followed
  by the 2-byte current logical page number
  and the 2-byte current presentation page
  number.
For OPTIONS=DPAGE, this field includes
  a length field of value 2, followed by
  the current logical page number.2

n+1-n   QCOUNT1

Number of occurrences of pages at lowest
  level of cursor.
If present, this field includes a length byte
  of value 2, followed by the defined number
  of pages in the current logical page.
The QCOUNT field is present only if the
  defined number of presentation pages in
  the current logical page is greater
  than 1.

n+1-p   QRECLNG Length of record before truncation. If 0, then either the record was not truncated or QTRNSZ on QGET(N) was ignored. This field is not supported by IMS and will not be included in the FM header.
Notes:
  1. If operator logical paging (OLP) is allowed, the QCURSOR and QCOUNT fields contain information the receiver can use for formulating subsequent QGET by cursor requests.
  2. Assume the following output message with OPTIONS=PPAGE:

       Logical Page 1     3 Presentation Pages Defined
       Logical Page 2     1 Presentation Page Defined
       Logical Page 3     2 Presentation Pages Defined

The following table illustrates the values placed in the QCURSOR and QCOUNT fields with sequential retrieval requests.

Table 2. QCURSOR and QCOUNT values with sequential retrieval requests
Transmission Count/LP No./PP No. Qcursor Count/PP No. Qcount comment
1 4 / 1 1 2 / 3 Logical Page 1
2 4 / 1 2 2 / 3 Logical Page 1
3 4 / 1 3 2 / 3 Logical Page 1
4 4 / 2 1 (omitted) Logical Page 2
5 4 / 3 1 2 / 2 Logical Page 3
6 4 / 3 2 2 / 2 Logical Page 3
Note:
Output Message with OPTIONS=DPAGE:
  • Logical Page 1
  • Logical Page 2
  • Logical Page 3

The following table illustrates the values placed in the QCURSOR field with sequential retrieval requests.

Table 3. QCURSOR values with sequential retrieval requests
Transmission Qcursor Count/LP Qcount Comment
1 2 / 1 Not Present Logical Page 1
2 2 / 2 Not Present Logical Page 2
3 2 / 3 Not Present Logical Page 3