Add P0 event and interface compatibility knowledge (#98)

* Add P0 extensibility compatibility knowledge

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 645349fd-1892-48f3-8a84-db77d6abd1c3

* Correct event compatibility guidance

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 645349fd-1892-48f3-8a84-db77d6abd1c3

---------

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
This commit is contained in:
Jesper Schulz-Wedde 2026-07-14 12:51:59 +02:00 committed by GitHub
parent 078b869e33
commit 363f08f47e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 331 additions and 32 deletions

View file

@ -0,0 +1,36 @@
// Demonstration-only AL. A removed enum-extension value left ordinal 700 in data.
enum 50503 "Delivery Method Bad" implements "I Delivery Method Bad"
{
Extensible = true;
DefaultImplementation = "I Delivery Method Bad" = "Default Delivery Method Bad";
value(0; Default)
{
}
}
interface "I Delivery Method Bad"
{
procedure Deliver();
}
codeunit 50504 "Default Delivery Method Bad" implements "I Delivery Method Bad"
{
procedure Deliver()
begin
end;
}
codeunit 50505 "Delivery Dispatch Bad"
{
procedure DeliverPersistedValue()
var
DeliveryMethod: Enum "Delivery Method Bad";
Delivery: Interface "I Delivery Method Bad";
begin
DeliveryMethod := 700;
// DefaultImplementation does not handle an ordinal that is not declared.
Delivery := DeliveryMethod;
Delivery.Deliver();
end;
}