107
"When creating a TableExtension and/or PageExtension object it would be really useful to be able to call the local functions / variables of the original object. This would also come close to the concepts of inheritance. You could also address the inherited object with Base.XYZ to call the function. In this case, it would also make sense to access the global variables in this object."

Full discussion / other arguments and examples are available on Github (originally posted by FSharpCSharp)
https://github.com/Microsoft/AL/issues/593
Category: Development
STATUS DETAILS
Completed
Ideas Administrator

In the 2019 Wave 2 release we have added the ability to control, i.e., restrict or enable, access to objects and members, similar in concept to access modifiers in other languages. There is a new Access property on objects and table fields, and access modifier keyword on var section and methods. The available options {Local, Internal, Protected, Public} depend on the object type, use IntelliSense (Ctrl+Space) for possibilities in context.

The idea is asking for unrestricted access in one extension to objects in other extensions (including base application). This is strictly not what we are delivering, as access will only be possible if the target extension permits it, and the default will be private to allow controlling the extensibility surface. What the feature enable is allowing designing for access going forward. ALApp GitHub should be used to request changes to the base app to enable access to variables as part of extensibility.

Comments

F

No, I think its not completed.
There is an open comment on https://github.com/Microsoft/AL/issues/59
and mine is now also open: https://github.com/microsoft/AL/issues/5398

Or did I something wrong?

Category: Development