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:
- No boundary alignment is performed for fields A, D, E, or F.
- 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.
- 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 |