Skip to content

Wizard: Table

Wizard walkthrough · Core Studio 3.0 · Verified 2026-09-01

When to use it: you’re adding a custom table and want fields, EDTs, field groups, and a primary index scaffolded in one pass — pattern-conformant from birth, not hand-written AxTable XML.

Size: L (the framework’s reference implementation) · Automatable: fully.

Prerequisites

  • An open AOT root with the metadata index at tier ≥2 (your models parsed) — the field and EDT pickers read from the index.
  • A target custom model (Microsoft models are read-only).
  • Know your table group up front — it drives downstream behavior.

Steps

  1. Basics — name (live identifier validation: regex, 40-char cap, reserved words), model/module (active-model lock). The name is checked against the metadata index for collisions as you type.
  2. Table properties — label, table group (Miscellaneous / Transaction / TransactionHeader / TransactionLine / WorksheetHeader / WorksheetLine / Main / Group / Parameter / Reference / Staging), cache lookup, save-data-per-company.
  3. Fields — table editor: name + EDT. Pick an existing EDT from the index, or create a new EDT, which enqueues a co-generated AxEdt via the EDT wizard’s builder (string size prompted for new strings).
  4. Field groups — AutoReport / AutoLookup defaults from the picked fields.
  5. Indexes — primary index on the key field(s), unique toggle.
  6. Summary — the full file list (AxTable + N×AxEdt), preview panes, then commit — atomically, all files at once.
The Table wizard's field editor showing the EDT picker and the co-generate-new-EDT option
The Table wizard's field editor showing the EDT picker and the co-generate-new-EDT option

Output anatomy

  • AxTable/<YourTable>.xml — the table model (fields, groups, indexes).
  • AxEdt/<NewEdt>.xml — one per co-generated EDT, landing in the same model.
  • Both under <root>/<Model>/<Module>/, re-indexed immediately after commit.

Verify it worked

  • The generated table re-reads losslessly and matches the shape of Microsoft’s own tables.
  • On-VM build: compiles 0 errors / 0 warnings with no hand-fix.
  • The table is immediately usable as a Form wizard data source without edits.

If it goes wrong

  • Commit refused with “file already exists” — deliberate: the wizard never silently overwrites. Rename or remove the conflicting file.
  • “Index unavailable — name collision not checked” — the duplicate check degraded (missing/locked index DB); the on-disk check still protects you.
  • Relations / TableReferences missing — by design: those stay in the designer post-create. The summary lists what was intentionally left out.

Next: Form wizard to give the table a UI, or the first customization tutorial.