Examples of message segment definitions

The examples illustrate the message segment definitions, then for options 1, 2, and 3, the contents, length in bytes, and a code for the type for each field.

The field types are labeled as shown in the following table.

Table 1. Input message field types
Type Code Description
A Total segment length, including fields A, B, C, 2 bytes, binary
B Z1 field—reserved for IMS TM usage
C Z2 field—indicates formatting option 1 byte, binary
D Relative segment number 2 bytes, binary
E Field length, including length of fields E, F, 2 bytes, binary
F Relative field offset in the defined segment 2 bytes, binary
G Field
Notes:
  1. No boundary alignment is performed for fields A, D, E, or F.
  2. Fields A, B, and D must be on halfword boundaries. To do this, ensure the I/O area is on a boundary when the GU or GN call to IMS TM is made.
  3. For the PLITDLI interface, the length (LL) field must be declared as a binary fullword. The value in the LL field is the segment length minus 2 bytes. For example, if the input message segment is 16 bytes, LL is 14 bytes, which is the sum of the lengths of LL (4 bytes minus 2 bytes), ZZ (2 bytes), and TEXT (10 bytes).

Example 1: input message format

The following table describes the definition for an input message.
Table 2. Example 1: input message definition
Segment Number Field Name Field Length Field Value
1 LL 2 0072
ZZ 2 XXXX
TRANCODE 8 YYYY
Text 10 MAN NO.
Text 50 NAME
2 LL 2 0059
ZZ 2 XXXX
Text 5 DEPT
Text 50 LOCATION
3 LL 2 0064
ZZ 2 XXXX
Text 10 PART NO.
Text 50 DESCRIPTION
4 LL 2 0019
ZZ 2 XXXX
Text 10 QUANTITY
Text 5 ORDER PRIORITY

All fields defined as left justified, with a fill character of blank.

You enter:
Field Name
Input
NAME
ABJONES
PART NO.
23696
DESCRIPTION
WIDGET

The transaction code is provided from the message input description as a literal. The input message would appear to the application program as shown in one of the following tables.

Table 3. Example 1: application program view for option 1
Segment Number Field Type Field Length Field Value
1 A 2 0072
B 1 XX
C 1 01
TRANCODE 8 YYYY
Text 10 blanks
Text 50 ABJONES
2 A 2 0059
B 1 XX
C 1 01
Text 5 blanks
Text 50 blanks
3 A 2 0064
B 1 XX
C 1 01
Text 10 23696
Text 50 WIDGET
4 A 2 0019
B 1 XX
C 1 01
Text 10 blanks
Text 5 blanks
Table 4. Example 1: application program view for option 2
Segment Number Field Type Field Length Field Value
1 A 2 0072
B 1 XX
C 1 02
TRANCODE 8 YYYY
Text 10 blanks
Text 50 ABJONES
2 A 2 0005
B 1 XX
C 1 02
Text 1 X'3F'
3 A 2 0064
B 1 XX
C 1 02
Text 10 23696
Text 50 WIDGET
Table 5. Example 1: application program view for option 3
Segment Number Field Type Field Length Field Value
1 A 2 0060
B 1 XX
C 1 03
D 2 0001
E 2 0054
F 2 0022
G 50 ABJONES
2 A 2 0074
B 1 XX
C 1 03
Text 2 0003
D 2 0014
E 2 0004
F 2 23696
G 2 0054
F 2 0014
G 50 WIDGET

The option 3 example shows no transaction code in the first segment because literals are not inserted into option 3 segments. This message would be rejected unless it is received from a terminal in conversational or preset destination mode, because transaction code validation is performed after the messages are formatted.

Example 2: input message format

The segments are similar to those in example 1. Fields are defined as in example 1, except for the following:
Field Name
Contents
NAME
null pad
DEPT
null pad
LOCATION
null pad
PART NO.
right justify, pad of EBCDIC zero
QUANTITY
null pad
You enter:
Field Name
Input
NAME
ABJONES
PART NO.
23696
DESCRIPTION
WIDGET
PRIORITY
HI

Transaction code is provided as a 3270 program function key literal or a special data field from a Finance workstation. The input message appears as shown in one of the following tables.

Table 6. Example 2: application program view for option 1
Segment Number Field Type Field Length Field Value
1 A 2 0029
B 1 XX
C 1 01
TRANCODE 8 YYYY
Text 10 blanks
Text 50 ABJONES
2 No second segment is presented because all of its fields were null padded and no input data was received from the device for these fields.
3 A 2 0064
B 1 XX
C 1 01
Text 10 0000023696
Text 50 WIDGET
4 A 2 0009
B 1 XX
C 1 01
Text 5 HI
Table 7. Example 2: application program view for option 2
Segment Number Field Type Field Length Field Value
1 A 2 0029
B 1 XX
C 1 02
TRANCODE 8 YYYY
Text 10 blanks
Text 7 ABJONES
2 A 2 0009
B 1 XX
C 1 02
Text 1 X'3F'
3 A 2 0064
B 1 XX
C 1 02
Text 10 0000023696
Text 50 WIDGET
4 A 2 0009
B 1 XX
C 1 02
Text 5 HI
Table 8. Example 2: application program view for option 3
Segment Number Field Type Field Length Field Value
1 A 2 0029
B 1 XX
C 1 03
D 2 0001
E 2 0012
F 2 0004
G 8 TRANCODE
E 2 0011
F 2 0022
G 7 ABJONES
2 A 2 0074
B 1 XX
C 1 03
D 2 0003
E 2 0014
F 2 0004
G 10 0000023696
E 2 0054
F 2 0014
G 50 WIDGET
3 A 2 0015
B 1 XX
C 1 03
D 2 0004
E 2 0009
F 2 0014
G 5 HI