Using In-Line Diagnostic Messages

There are two types of in-line diagnostic messages: finger and non-finger. Finger messages point out exactly where the error occurred. Figure 1 shows an example of finger in-line diagnostic messages.

Figure 1. Sample Finger In-Line Diagnostic Messages
Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change  Src  Seq
Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date    Id   Number
   63  C                   SETOFF                                       _12___                                                003100
======>                                                                 aabb
======>                                                                 cccccc
*RNF5051 20 a      003100  Resulting-Indicator entry is not valid; defaults to blanks.
*RNF5051 20 b      003100  Resulting-Indicator entry is not valid; defaults to blanks.
*RNF5053 30 c      003100  Resulting-Indicators entry is blank for specified

In this example, an indicator has been incorrectly placed in positions 72 - 73 instead of 71 - 72 or 73 - 74. The three fingers 'aa', 'bb', and 'cccccc' identify the parts of the line where there are errors. The actual columns are highlighted with variables which are further explained by the messages. In this case, message RNF5051 indicates that the fields marked by 'aa' and 'bb' do not contain a valid indicator. Since there is no valid indicator the compiler assumes that the fields are blank. However, since the SETOFF operation requires an indicator, another error arises, as pointed out by the field 'cccccc' and message RNF5053.

Errors are listed in the order in which they are found. As a general rule, you should focus on correcting the first few severity 30 and 40 errors, since these are often the cause of other errors.

Non-finger in-line diagnostic messages also indicate errors. However, they are not issued immediately following the line in error. Figure 2 shows an example of the non-finger in-line diagnostic messages.

Figure 2. Sample Non-Finger In-Line Diagnostic Messages
Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change  Src  Seq
Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date    Id   Number
     1 D FLD1            S             +5    LIKE(FLD2)                                                                       000100
     2 D FLD2            S               D                                                                                    000200
*RNF3479 20      1 000100  A length adjustment is not allowed for a field of the
                           specified data type.

In this example, FLD1 is defined like FLD2 with a length 5 bytes greater. Later, FLD2 is defined as a date, which makes the length adjustment in the definition of FLD1 invalid. Message RNF3479 is issued pointing at listing line 1. Note that the SEU sequence number (000100) is also given, to aid you in finding the source line in error more quickly. (The SEU sequence number can also be found at listing line 1).