Ein SAP-System besteht heute
aus mehr als 300.000 Entwicklungsobjekten (Programme, Tabellen, Dynpros,
BAPIs, Funktionsbausteine, Typen etc.). Diese Objekte sind in mehr als 1.700
flach nebeneinander liegenden Entwicklungsklassen gruppiert.
Grundsätzlich kann jeder Entwickler jedes Entwicklungsobjekt nutzen. Einen
Schutz vor Verwendung der eigenen Entwicklungsobjekte kann ein Entwickler
daher kaum einrichten. Ebenso kann er diejenigen Entwicklungsobjekte nur
schwer auszeichnen, die er anderen zur Verfügung stellen möchte. Ferner sind
die Möglichkeiten einer technischen Modularisierung im Kleinen, z.B. mittels
Modulpools, Funktionsgruppen oder Klassen sehr begrenzt. Im Großen wie im
Kleinen fehlen also geeignete Mechanismen für eine technische
Modularisierung.
Hier setzen die Pakete an. Sie stellen eine Weiterentwicklung der heutigen
Entwicklungsklassen mit neuer zusätzlicher Semantik dar und dienen zur
technischen Zerlegung, Kapselung und Entkopplung eines SAP-Systems im Großen
und im Kleinen.
Die bisherigen Entwicklungsklassen sind als einfache Container für Entwicklungsobjekte mit einer Transportschicht versehen, die den Transportweg festlegt. Als Erweiterung von Entwicklungsklassen sind die Pakete durch die Grundeigenschaften Schachtelbarkeit, Schnittstellen und Sichtbarkeit sowie durch Verwendungserklärungen charakterisiert.
· Die Schachtelbarkeit ist die Fähigkeit von Paketen, andere Pakete in sich einzubetten.
· Die Sichtbarkeit bezeichnet eine Eigenschaft von Paketelementen. Ein Element kann außerhalb seines Pakets sichtbar sein. Es ist dabei immer innerhalb seines Paketes, niemals jedoch in eingebetteten Paketen sichtbar. Ist ein Element nach außen sichtbar, so liegt es in mindestens einer Paketschnittstelle.
· Mit einer Verwendungserklärung ist ein einseitiges Recht eines Paketes verbunden, die sichtbaren Elemente einer Schnittstelle eines anderen Paketes zu verwenden.
In der nachfolgenden Abbildung sind die Grundeigenschaften von Paketen nochmals grafisch veranschaulicht.
Mittels Schnittstellen und Sichtbarkeit kann ein Paket sein Angebot an Dienstleistungen kenntlich machen. Alle sichtbaren Elemente können potentiell von anderen Paketen genutzt werden. Nicht sichtbare Elemente dagegen können von anderen Pakete auch nicht genutzt werden. Damit kann ein Paket seine Elemente vor beliebiger Fremdverwendung schützen und seine Inhalte kapseln.
Verwendungserklärungen schränken die Nutzung von sichtbaren Elementen fremder Schnittstellen ein. Nicht alle Elemente, die sichtbar sind, können auch verwendet werden. Erst bei Vorliegen einer Verwendungserklärung auf eine Schnittstelle eines fremden Paketes kann ein Paket die sichtbaren Elemente dieses Paketes nutzen.
Schachtelbarkeit erlaubt eine hierarchische Aufteilung von größeren Einheiten SAP-Systems. Im Zusammenspiel von Schnittstellen und Verwendungserklärungen lassen sich zusätzlich die Paketelemente auf einfache Weise verbergen und so vor nicht beabsichtigter Verwendung schützen.
Mit diesen Paketkonzept besteht nun die Möglichkeit, das SAP-System in technische Einheiten in Form von Paketen zu zerlegen und zu kapseln, die hohen Abhängigkeiten zu verringern und damit das System im Großen und im Kleinen zu entkoppeln.
Es wird sowohl auf der Seite der Nutzer, wie der Anbieter oder für beide zugleich, beständige Ausnahmen von Paketprüfungen geben. Dies ist z.B. bei bestimmten Systemprogrammen oder bei generierten Programmen sinnvoll.
Ferner wird es bei Migrationsprojekten im allgemeinen eine Übergangsphase geben, in der Paketprüfungen zunächst abgeschwächt werden.