SEGM segment type format

The IMS™ catalog SEGM segment type contains metadata about an IMS database segment.

This information is generated based on the parameters of the SEGM statement of the DBDGEN utility.
Segment name
SEGM
Parent name
DBD
Sequence field
SEGMSEQ
Segment length
376 bytes
Table 1. SEGM segment type format
Offset (bytes) Length (bytes) Data type Field name Description Unique key field
1 2 X LEN Length of this segment.  
3 2 X CTL Control field.  
5 2 X SEGMSEQ Sequence field, type = U. X
  5 2 X SEQNUM Sequence number.  
9 8 C IMSNAME Name of this segment.  
17 8 C PARPHY Name of the logical parent of this segment.  
25 4 C PARTYPE Type of physical child pointers (SNGL or DBLE) that are included in all occurrences of the physical parent of this segment.  
29 8 C PARLOG Name of the logical parent of this segment.  
37 8 C PARCHK Indicates whether the concatenated key of the logical parent is virtual or physical.  
45 8 C DBNAME Name of the database that the logical parent of this segment is defined in.  
53 4 X BYTE1 Maximum length of a variable-length segment in bytes, or the number of bytes in the data area of a fixed-length segment.  
57 4 X BYTE2 Minimum length of a variable-length segment in bytes. If this field contains data, this segment type is variable-length.  
61 4 X FREQ Estimated number of times that this segment occurs for each instance of the physical parent. This value is used by IMS to determine the logical record length and physical storage block sizes for data set groups in the database that contains this segment type.  
65 3 C RULE1 Path type that must be used to insert, delete, or replace an instance of this segment type. This field contains three characters. The first character is the path type for insert operations, the second character is the path type for delete operations, and the third character is the path type for replace operations.  
68 5 C RULE2 The rule that IMS uses when adding a new instance of a segment type that does not have a unique sequence field:  
73 8 C SRCSEG1

In a catalog record for a virtual logical child segment type, this is the name of the real logical child that corresponds with this virtual logical child.

In a catalog record for a segment type in a logical database, this is the name of the source segment in a physical database that is being defined as a logical segment type.

 
81 4 C SRCFBK1

In a catalog record for a virtual logical child segment type, this field indicates if only the key of the real logical child or both the key and data portions of the real logical child are used to construct this segment type in the user I/O area.

This field is only used for segments in logical databases.

 
85 8 C SRCDBN1 Name of the database that contains the segment type identified in the SRCSEG1 field.  
93 8 C SRCSEG2

In a catalog record for a concatenated virtual logical child segment type, this is the name of the physical parent of the real logical child segment.

In a catalog record for a segment in a logical database, this is the name of the logical or physical parent segment in a physical database that is used to construct the destination parent section of this logical concatenated segment.

If this field contains data, this segment is a logical concatenated segment.

 
101 4 C SRCFBK2

In a catalog record for a concatenated virtual logical child segment type, this field indicates if only the key of the real logical child or both the key and data portions of the real logical child are used to construct this segment type in the user I/O area.

The key value of a concatenated segment is either the value in the physical twin sequence field or the logical twin sequence field, depending on which path the logical child is accessed from.

This field is used only for concatenated segments in logical databases.

 
105 8 C SRCDBN2 Name of the database that contains the segment type identified in the SRCSEG2 field.  
113 8 C COMPRTN Name of the Segment Edit/Compression exit routine used for this segment.  
121 4 C COMPDATA Indicates whether the Segment Edit/Compression exit routine for this segment only condenses or modifies data fields and not sequence fields.  
125 4 C COMPINIT Indicates if initialization and termination processing control is required for the Segment Edit/Compression exit routine identified in the COMPRTN field.  
129 4 X COMPMAX Indicates the maximum expansion size (in bytes) for this segment when it is modified by the Segment Edit/Compression exit routine identified in the COMPRTN field.  
133 3 C COMPPAD Indicates that a segment instance will be padded to the size given in the COMPMAX field if the Segment Edit/Compression exit routine compresses it to a smaller size.  
136 1 C FILLER01 Reserved.  
137 7 C PTR1 Indicates if pointer fields are reserved in the segment prefix for a HIER (hierarchic forward pointer), HIERBWD (hierarchic forward and backward pointers), TWIN (twin forward pointer), TWINBWD (twin forward and backward pointers), or NOTWIN (no reserved field for physical twin pointers) relationship. See the POINTER= parameter of the SEGM statement in the DBDGEN utility for more details about these values.  
144 8 C PTR2 Indicates if pointer fields are reserved in the segment prefix for a LTWIN (logical twin forward pointer) or LTWINBWD (logical twin forward and backward pointers) relationship.  
152 6 C PTR3 Indicates if a pointer field is reserved in the segment prefix for a LPARNT (pointer to a logical parent segment) relationship.  
158 3 C PTR4 Indicates if a 4-byte field is reserved in the segment prefix for a logical relationship counter.  
161 6 C PTR5 Indicates if this segment type is part of a bidirectional logical relationship.  
167 2 X SSPTR The number of subset pointers. A value of 0 in this field indicates that subset pointers are not used in this segment type.  
169 3 C TYPE Indicates the type of DEDB dependent segment for this segment type, either sequential or dependent.  
172 1 C DSGRP The data set group identifier for this segment. This field is only used for segments in a HALDB.  
173 2 X DSGHAL Reserved for internal use.  
175 12 C FILLER02 Reserved.  
187 128 C NAME The external alias name for this segment.  
315 25 C ENCODING The code page used to encode all character data in this segment.  
340 37 C FILLER03 Reserved.