Show TOC

 Non-Closed Package InterfacesLocate this document in the navigation structure

In order to enable a smooth migration of legacy package interface, special non-closed package interfaces have been introduced.

Non-closed package interfaces may expose composite objects for which some or all component objects are missing in the interface. They may contain objects whose type is not yet modeled for the package check that is whose component objects, possible usage types, and so on are not known.

Non-closed package interface can be turned into closed package interfaces if all unknown objects have been removed and all missing component objects have been added. This cannot be reversed. Non-closed package interfaces cannot be propagated "as a whole" into a closed package interface. The latter constraint is necessary because of the (potentially) missing component objects, which could let the closed package interface become non-closed, that is, could invalidate it.

This is indeed an issue, for example, for FORMs of an ABAP program. Normally, these FORMs need to be specially marked. Without this marking, the ABAP compiler would need to assume that the exposed FORM's set of component objects has changed everytime whenever the program has changed. This would cause severe performance degrading, because whenever the program has changed, the ABAP compiler would need to mark all interfaces to which the FORM was exposed as "out of date". This is because, possibly, not all of the FORM's new component objects are already exposed at the interface. This marking the interfaces "out of date" only needs to be done if the definition include has been changed.

Now, this marking an interface as "out of date" is, of course, not required if the interface does not need to be closed. So, non-closed package interfaces, in particular, enable exposure of FORMs whose program does not have a definition include yet, which also is an important feature for support of migration.