Get the source of an AL object
bc_get_objectRetrieve the AL source code of a specific Business Central object (table, page, codeunit, etc.) by branch, type, and name. Optionally fetch a line range or skip source to get only metadata.
Instructions
Returns the AL source of a specific object (table, page, codeunit, report, enum, query, xmlport, or any extension). Identifies the object by branch + type + name (case-insensitive on type, exact on name). Triggers indexing on first use of a branch. Use line_start/line_end to fetch only a slice (1-indexed, inclusive) — useful for large objects (~100k lines). Use include_source=false to skip the source and get only metadata (size, total_lines).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| branch | Yes | Branch name, e.g. "w1-26" | |
| type | Yes | AL object type, e.g. "table", "page", "codeunit" | |
| name | Yes | Object name (without quotes), e.g. "Customer", "Sales Header" | |
| line_start | No | Optional 1-indexed start line (inclusive). Default 1. | |
| line_end | No | Optional 1-indexed end line (inclusive). Default: last line. | |
| include_source | No | If false, omits the source string and returns only metadata. Default true. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| branch | Yes | ||
| type | Yes | ||
| id | Yes | ||
| name | Yes | ||
| app | Yes | ||
| path | Yes | ||
| ext_target | Yes | ||
| source | Yes | ||
| size_bytes | Yes | ||
| total_lines | Yes | ||
| returned_lines | Yes | ||
| truncated | Yes |