28:04 you implemented simple case enumerating with calling procedures. This breaks whole interfaces idea. To use interfaces correctly you need to write the following code: trigger OnAction() var InterfaceVar: Interface InterfaceExam; begin InterfaceVar := Rec."Interface Values"; Message('%1',InterfaceVar.PrintMessage()); end; That's it. When other extension (or even existing one) adds values to the given enum, developer has just to add new codeunit handling PrintMessage and nothing is needed to change in the initial code.
Sorry but it's wrong You are not using the interface. What you did, you could have done it without an interface. The way you did it, you can't create another intgerface to extend yours, and your code is uninextensible.
Thank you for your comment, I understand your point, but while creating this content my whole idea was to explain the concept of "What interface is"? in an easy way. And once the conceptual understanding is done, you can explore to any extent.