# Load mainframe fixed-width files into Apache Iceberg

**Fixed-width mainframe extracts — no headers, no delimiters — become
typed Iceberg tables. Lakewright infers the column layout from the
data itself, and the layout is recorded in a reviewable plan before
anything loads.** NACHA and BAI2 get spec-exact handling; generic
fixed-width gets statistical column-boundary inference.

## How can columns be inferred without a copybook?
Character-class transitions (digit runs, space gutters, date shapes)
that hold across sampled lines mark column boundaries. Every inferred
boundary is visible in the plan YAML — a human confirms the layout
before the first row lands. If you have the copybook, you edit the
plan to match; the plan is the contract either way.

## The steps
```bash
lakewright scan  /transfer/legacy-extracts
lakewright plan  /transfer/legacy-extracts --out plans   # review layout
lakewright approve plans/policy_master.plan.yaml
lakewright load  plans/policy_master.plan.yaml --rest $CATALOG
```

## FAQ
**EBCDIC?** Convert to ASCII in transfer (standard FTP mode); the
scan then handles it as text.
**Packed decimals?** Not yet — files with COMP-3 fields need a
pre-conversion step today.
