Showing shadow lines

Shadow lines in FM/IMS can represent two types of segments:

  • Suppressed segments

    A suppressed segment shadow line holds information about one segment type and one layout, and represents all of the segments that match that type and layout. If the suppressed segments have no children, then the shadow line shows how many suppressed segments it is replacing. If there is more than one possible layout for the segments, then the line also shows the segment layout name. If a suppressed segment has child segments, then the shadow line shows only the first 30 bytes of the key field for the segment, and, if there is more than one possible layout, the segment layout name.

  • Not-matched segments

    Not-matched lines show segments that contain data that matches a layout identification criteria, but the segments differ in length from the segment layout.

You can show or hide the shadow lines, by entering the SHOW SUP ON or SHOW SUP OFF command in the Command line.

Note: Suppressed segments are only hidden from display. They are still selected and are still included in any print, copy or create data functions.

A tag under the Cmd field indicates why the line was a shadow line:

=ID
Indicates that the segment did not satisfy any of the layout identification criteria.
=LG
Indicates that the segment matches the current layout, but the segment length does not fall within the valid range for this layout.

If all of the fields in the layout are of fixed length, then the valid range is limited to a single value: that is, the sum of the lengths of all the fields in the layout.

However, if the layout includes any variable-length arrays, then the minimum valid length is the length of a segment with the minimum number of array items allowed by the copybook (which might allow zero items). The maximum valid length depends on whether the copybook specified an upper limit on the number of array items.

=DA
Indicates that the segment matches the current layout, but one of the following is true:
  • (COBOL copybook only.) An ODO object field value is outside of the range allowed by its ODO clause.
  • The layout contains one or more variable-length arrays, but the segment length does not match the calculated length of a segment with the number of array items specified by the array size (or object) fields.

For details on using layouts that include variable-length arrays, see Support for variable-length arrays.