extension_info
Analyze D365FO extensibility across classes and tables: detect conflicts for Chain of Command, duplicate event handlers, merged table schemas, and available extension points. Receive recommended extensibility strategies for your goal.
Instructions
D365FO extensibility analyzer. Choose a mode:
• coc → Chain of Command extensions + event subscriptions for a class/table. Use before writing a CoC extension to check for conflicts.
• events → event handler subscriptions (SubscribesTo, delegate +=) for a class/table. Use before adding handlers to check for duplicates.
• table-merge → all extensions of a table across models + effective merged schema (base + extension fields/indexes/methods).
• points → available extension points (CoC-eligible/replaceable methods, delegates, blocked methods) and which are already extended.
• strategy → recommends the best extensibility mechanism for a goal (CoC, event handler, business event, data entity, …) with reasoning, risks, alternatives, next steps.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | [strategy] REQUIRED. What you want to achieve — e.g. "validate that SalesLine quantity is positive". | |
| mode | Yes | coc/events/table-merge/points need `target`; strategy needs `goal`. | |
| method | No | [coc] filter to a specific method name; [events] filter to a specific event name (e.g. onInserted). | |
| target | No | The base object: [coc] class/table being extended; [events] class/table whose handlers to find; [table-merge] base table; [points] class/table/form; [strategy] optional target object. | |
| scenario | No | [strategy] Scenario category (auto-detected from goal if omitted). field-defaulting = set defaults on NEW records (initValue); field-change-reaction = react when a user/code CHANGES a field (modifiedField). | |
| objectType | No | [events] set "table" when target is a table (else class is assumed); [points] object type (default: auto-detect). | auto |
| handlerType | No | [events] Filter by handler type (default: all). | all |
| includeEventHandlers | No | [coc] Also find static event subscriptions (SubscribesTo) (default: true). | |
| includeEffectiveSchema | No | [table-merge] Merge base + extension counts (default: true). | |
| showExistingExtensions | No | [points] Show which extension points are already extended (default: true). |