Easytrieve Columns

Every Easytrieve source line on z/OS is an eighty-character row divided into regions with different jobs. Columns one through seventy-two (by default) hold the statements the compiler parses—FILE, DEFINE, JOB, IF, and everything else that becomes executable logic. Columns seventy-three through eighty often hold sequence numbers for change control. Between those regions, installation options SCANCOLS and SCANCOLE can shift where scanning begins and ends. Beginners from COBOL expect indicator column seven and Area A/B rules; Easytrieve is simpler but no less strict when code drifts past column seventy-two without continuation. This page maps each column region and how it affects compilation.

Progress0 of 0 lessons

The Eighty-Column Grid

Mainframe source libraries store Easytrieve members as fixed eighty-character records. Editors display a ruler from column one to eighty. Unlike free-format PC languages, physical column position still matters for continuation, comment placement, and whether text is scanned at all. Error messages reference line numbers of these records; debugging requires aligning listing columns with ISPF display columns.

text
1
2
3
4
5
Col: 1 10 20 30 40 50 60 70 73 80 |---------|---------|---------|---------|---------|---------|----|----| JOB INPUT PERSNL 001000 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ default statement area (cols 1-72) seq

Statement Area Columns 1-72

The statement area is where Easytrieve language syntax lives. Keywords, field names, literals, operators, and delimiters must appear within SCANCOLS through SCANCOLE. Default installation uses one through seventy-two. You may indent statements for readability— leading spaces before JOB do not change meaning. The last non-blank character in this area normally ends the statement unless it is plus or minus for continuation.

Column regions on a standard 80-column line
ColumnsRegion nameRole
1-72 (default)Statement areaCompiler scans for Easytrieve syntax
73-80Sequence / ID areaOften sequence numbers; ignored by parse
1-6 (when SCANCOLS 7)Left margin IDIgnored; mirrors COBOL sequence area
7-72 (when SCANCOLS 7)Shifted statement areaCode must start here at such sites

SCANCOLS and SCANCOLE

Configuration Manager sets SCANCOLS (start column) and SCANCOLE (end column) as compile-time installation options. Valid values are one through eighty with SCANCOLE greater than SCANCOLS. Example: SCANCOLS 7 and SCANCOLE 72 means columns one through six are never interpreted as program text—ideal when your shop reserves them for sequence numbers consistent with COBOL standards. Individual developers cannot override these values per program; misaligned code at column one on a SCANCOLS 7 system appears to compile as blank or garbage tokens.

text
1
2
3
4
5
6
Broadcom diagram (SCANCOLS 7, SCANCOLE 72): 1....6 7......................................72 73...80 001000 JOB INPUT PERSNL 001000 ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ignored scanned statement area

Columns 73-80

The rightmost eight columns sit outside the default statement area. Teams use them for six-digit sequence numbers (001000, 001010, 001020 in increments of ten), programmer initials, change ticket numbers, or version tags. The compiler ignores this region for parsing but prints it on source listings—valuable when auditors match compile output to controlled source. ISPF NUM ON can auto-maintain sequence numbers in seventy-three through eighty when you insert or delete lines.

Never place executable statements only in columns 73-80 expecting them to run. That text is invisible to the parser. Conversely, do not assume sequence numbers affect logic—they are documentation and tooling aids unless your site uses custom preprocessors.

Comparison to COBOL Columns

COBOL divides the same eighty-character card into sequence area (1-6), indicator (7), and source (8-72). Indicator column asterisk means comment; hyphen means continuation. Easytrieve has no column-seven indicator. Comments use asterisk in the first non-blank column of the statement area. Continuation uses trailing plus or minus on the prior line. COBOL programmers new to Easytrieve often insert column-seven asterisks that compile as unexpected tokens if SCANCOLS is 1, or as ignored text in columns 1-6 when SCANCOLS is 7.

  • COBOL Area A: columns 8-11 for division names—no Easytrieve equivalent.
  • COBOL Area B: columns 12-72 for statements—Easytrieve uses full statement area.
  • Both languages: eighty-character physical records on z/OS.
  • Easytrieve: period-space can chain multiple statements on one line within the area.

Column Pressure and Continuation

Long DEFINE lines with MASK literals, PARM DEBUG lists, and TITLE text frequently approach column seventy-two. When the next token would extend past SCANCOLE, end the line with plus or minus and continue on the next record. Column arithmetic matters: a forty-character field name plus qualification and MASK parameters consumes horizontal space quickly. Plan breaks at delimiters between words, not inside quoted literals when avoidable—though Broadcom examples split literals mid-string with continuation.

Listings and Error Messages

Compile diagnostics show the full eighty-column source line. Caret markers under errors reference positions within the scanned area. If your error points to column seventy-three, verify SCANCOLE—text may fall outside the scanned range. Sequence column mismatches between listing and ISPF usually mean different NUM settings or upload truncation, not compiler bugs.

PC Editor and Column Discipline

VS Code, Notepad++, and Git clients may hide trailing spaces or use proportional fonts that distort column alignment. Before uploading to z/OS, convert to fixed eighty with spaces padded to record end. Verify continuation characters are the true last non-blank in the statement area—editors that trim trailing spaces break plus and minus continuation silently. Display hex or ruler view when compile errors mention unexpected end of statement.

Common Column Mistakes

  1. Code starts at column 1 when site SCANCOLS is 7—statements ignored.
  2. Statement text extends past SCANCOLE without continuation.
  3. Placing logic in columns 73-80 believing it will execute.
  4. Using COBOL column 7 asterisk comment style in the statement area incorrectly.
  5. Uploading variable-length stream files without FB 80 column alignment.

Explain It Like I'm Five

Imagine a worksheet with eighty boxes in each row. The teacher only reads boxes one to seventy-two for your answer. Boxes seventy-three to eighty are where you write your page number—the teacher sees it on the photocopy but does not grade it as part of your answer. Some classrooms start reading at box seven instead of box one because the first six boxes are only for page numbers. If you write past box seventy-two without saying continue on the next row, the teacher stops reading.

Exercises

  1. Label columns 1-72 and 73-80 on a blank eighty-column ruler diagram.
  2. Explain what happens to code in columns 1-6 when SCANCOLS is 7.
  3. Write one JOB statement that fits entirely within columns 1-72.
  4. List three differences between COBOL column 7 rules and Easytrieve continuation.
  5. Describe how ISPF NUM ON affects columns 73-80.

Quiz

Test Your Knowledge

1. The default Easytrieve statement area spans:

  • Columns 1 through 72
  • Columns 8 through 71
  • Columns 73 through 80
  • Columns 1 through 80

2. Columns 73-80 on a source line are typically used for:

  • Sequence numbers or identification
  • Executable JOB statements
  • JCL DD cards
  • Hex literals only

3. SCANCOLS establishes:

  • The first column scanned for source statements
  • SYSOUT class
  • Record length
  • Packed decimal width

4. When SCANCOLS is 7, columns 1-6 are:

  • Ignored by the compiler for statements
  • Required for IF logic
  • Reserved for hex only
  • Error if non-blank

5. Easytrieve differs from COBOL column 7 because:

  • Easytrieve uses trailing + or - for continuation, not column 7 asterisk
  • Easytrieve has no 80-column limit
  • COBOL has no sequence area
  • Easytrieve requires column 7 comments
Published
Read time12 min
AuthorMainframeMaster
Reviewed by MainframeMaster teamVerified: Broadcom Easytrieve 11.6 Statement Area and SCANCOLS/SCANCOLESources: Broadcom Easytrieve Report Generator 11.6 TechDocs, Statement Overview, Compiler OptionsApplies to: Easytrieve source column layout and statement area