Legacy language reference

Look up what a legacy error actually means. And how to fix it.

A sourced reference for COBOL, RPG, PL/I, Assembly, PowerBuilder, Delphi, ColdFusion, and Fortran: status codes, abend codes, and the compiler quirks that make the same code mean different things depending on your platform — plus the tools and vendor directory for when the fix is bigger than one error.

466

Reference entries

8

Languages

26

Modernization vendors

11

Free tools

01

Search a code or paste an error

Type a status code like 35 or S0C7, or paste the full error message from your job log.

02

Get the cause and the fix

Every entry names which compiler or platform it applies to, since the same code can mean different things across vendors.

03

Compare vendors when you're ready

If the fix is really a modernization project, see which vendors actually cover your language.

Example

File Status 35

File Status 35IBM Enterprise COBOL · Micro Focus · GnuCOBOL

Condition

An OPEN was issued for INPUT, I-O, or EXTEND against a file that does not exist at the location named in the ASSIGN clause, and the file was not declared OPTIONAL.

Fix

Confirm the DD or dataset is allocated before the step runs, check the cataloged name matches SELECT ... ASSIGN exactly, and verify the job did not skip a prior GDG generation. On some platforms, this code is also returned when the file organization declared does not match the actual file format (see below).

Pending source verification. Not yet checked against official documentation.

Languages we cover

Tools, not just a lookup table

All 11 tools →

When the fix is a modernization project

All 26 vendors →

Consultancies and platform vendors that actually do this work, by approach — rewrite, wrapper, managed support, or staffing — not a paid placement list.

From the blog

All 24 posts →