Titelbild SAP B1 Exentsion

Extension in SAP Business One

Extensions in SAP Business One

Zusatzprogrammierungen in SAP Business One  I  Erstellen einer Extension  I  Verteilen einer Extension (inkl. Versionierung)  I  Installation und Start in SAP Business One  I  Update einer Extension 

Zusatzprogrammierungen in SAP Business One

Wenn der in SAP Business One bereitgestellte Funktionsumfang nicht mehr ausreicht, bietet sich über das von der SAP bereitgestellte „SAP Business One Software Development Kit“ (SDK) die Möglichkeit, diesen entsprechend der individuellen Anforderungen zu erweitern. Die so erstellten Programme lassen sich nahtlos in die Benutzeroberfläche integrieren, sodass der Anwender das Look & Feel von SAP Business One auch bei den Zusatzprogrammierungen erfährt. Seit der Version SAP Business One 9.1 hat SAP sowohl das Erstellen als auch die Verteilung von Zusatzprogrammen stark vereinfacht. Für eine leichtere Unterscheidung der neuen Zusatzprogramme gegenüber den klassischen Add-ons ist häufig von Extensions oder Light Add-ons die Rede, wenngleich sich der Begriff der Add-ons nach so vielen Jahren mit den klassischen Add-ons sehr manifestiert hat. Der Hauptunterschied beider Verteilungsmethoden ist die Handhabung. Im klassischen Add-on-Fall war diese verbunden mit einem eigens erstellten bzw. bereitzustellenden Installationsprogramm. Dies war zeitlich aufwändig und teilweise fehleranfällig, da gerade die spezifische Packlogik von SAP Business One und die Versionierung des Add-ons viel Aufmerksamkeit benötigten. Mit der Umstellung auf die Extensions wird dieser Schritt direkt in die SAP-Business-One-Landschaft eingegliedert. So muss zunächst auf Entwicklerseite eine Extension gepackt werden, die dann auf Kundenseite über den in dem „System Landscape Directory“ (SLD) integrierten „Extension Manager“ verteilt werden kann.

Erstellen einer Extension

SAP B1 Extension Registration Data Generator
Abbildung 1: Erstellung eines Extension-Paketes im „Extension Registration Data Generator“
Durch das in „Microsoft Visual Studio“ integrierte „SAP Business One Studio“ kann über das Menü der Entwicklungsumgebung der „Extension Registration Data Generator“ aufgerufen werden. Dieser führt Sie, wie in Abbildung 1 dargestellt, durch die einzelnen Schritte der Paketerstellung. Die benötigten Daten sind dabei abhängig von der Art des zu erstellenden Paketes. Die meisten Werte sind dabei selbsterklärend, wobei Sie mindestens die als „(Mandatory)“ gekennzeichneten Pflichtwerte bereitstellen müssen. Im unteren Abschnitt PARAMETERS haben Sie zudem die Möglichkeit, dem Extension-Paket einen oder mehrere Parameter hinzuzufügen, die Sie in der Programmierung auslesen sowie setzen und je nach Wert darauf reagieren können. Damit lassen sich im Extension-Paket beispielsweise Parameter für Funktionalitäten verwalten, die erst in den einzelnen Installationen der Extension freigeschaltet werden. Dabei unterscheidet SAP zwischen regulären Parametern und sogenannten „Shared Parametern“. Letztere behalten (im Gegensatz zu den regulären Parametern) ihre gesetzten Werte für alle in dem „System Landscape Directory“ befindlichen Firmendatenbanken, die auf diese Extension zurückgreifen. Der Parametername und sein Wert werden also von den einzelnen Firmendatenbanken geteilt. Optional können eine Beschreibung sowie eine Liste gültiger Werte konfiguriert werden. Sobald Sie alle gewünschten Werte eingegeben haben, können Sie diese per Klick auf die Schaltfläche „Save“ in der schon zu Add-on-Zeiten bekannten .ard-Datei speichern. Über die Schaltfläche „Package“ erstellen Sie anschließend das Extension-Paket, welches als .zip-Datei die benötigten Dateien aus der Programmierung zusammen mit der .ard-Datei enthält (Abbildung 2).
Extension-Paket Bestandteile
Abbildung 2: Bestandteile des Extension-Paketes

Hinweis

Mithilfe des „Extension Registration Data Generator“ ist es ebenso möglich, vorhandene .ard-Dateien zu bearbeiten. Dabei ist es wichtig, dass die innerhalb der Extension angegebene Versionsnummer höher als die bisher verwendete ist, damit der „Extension Manager“ später ein Upgrade der Extension erkennt und durchführt.

Der „Extension Registration Data Generator“ kann ebenfalls als Standalone-Variante gestartet werden – das heißt auch ohne „Microsoft Visual Studio“, denn nicht immer besteht die Anforderung, ein solches Entwicklungsprojekt zu packen. Sie finden ihn als Teil der SDK-Installation im Unterordner „Tools\ExtensionPackage“. Es sind wenige Unterschiede der beiden Versionen vorhanden. Lediglich die Schaltfläche „Save“ lautet in dieser Version „Export“. Zudem steht eine zusätzliche „Import“-Schaltfläche zur Verfügung, um eine bereits vorhandene .ard-Datei zu laden und zu bearbeiten. 

Verteilen einer Extension

Ist das Extension-Paket erstellt, kann es ohne weitere Zwischenschritte beim Endkundenrechner implementiert werden. Das Zentrum der Extension-Integration für SAP Business One ist nun der „Extension Manager“. 

Der „Extension Manager“ ist als Webportal ein Teil des „System Landscape Directorys“ (SLD), welches Sie über zwei verschiedene Wege aufrufen können:

  1. Über den direkten Webseitenaufruf unter https://<sapserver>:<SLDPort>/ExtensionManager (z.B. https://srvb1:40000/ExtensionManager)
  2. Über den Link „Erweiterungen für das vereinfachte Deployment verwalten“
    (Abbildung 3) im SAP-Business-One-Fenster „Add-on-Administration“
    (ADMINISTRATION > ADD-ONS > ADD-ON-ADMINISTRATION)

Sie werden daraufhin zur Login-Seite des SLD weitergeleitet und melden sich dort wie gewohnt mit dem B1-SiteUser und seinem Passwort an. 

SAP Business One Extensionmanager
Abbildung 3: Aufruf des „Extension Managers“ über das Fenster „Add-on-Administration“

Nach erfolgreicher Autorisierung gelangen Sie in den „Extension Manager“, welcher im Wesentlichen aus zwei Bereichen besteht, die sich als Schaltflächen im oberen Abschnitt des Portals wiederfinden. Um das Extension-Paket nun im ersten Schritt in die Landschaft zu importieren, starten Sie den komfortablen Assistenten über die Schaltfläche „Importieren“. Wählen Sie anschließend das fertige Extension-Paket (.zip-Datei) aus und folgen den Anweisungen des Assistenten.

Damit steht die neue Extension allen in dieser Systemumgebung befindlichen Datenbanken zur Verfügung, um diesen zugeordnet zu werden. Im zweiten Schritt des Verteilungsprozesses sollte daher die Extension nun den gewünschten Firmendatenbanken zugeordnet werden. Wählen Sie hierzu auf der linken Seite die gewünschte SAP-Business-One-Firmendatenbank aus und klicken auf die Schaltfläche „Zuordnen“, um den Assistenten für die Erweiterungszuordnung zu starten.

Startmodus Firmendatenbank B1 Extension
Abbildung 4: Definition des gewünschten Startmodus für die Benutzer der Firmendatenbank

Bitte beachten Sie in diesem Zusammenhang, dass nur jene Extensions für die Zuordnung zur Verfügung stehen, welche bereits wie zuvor beschrieben importiert wurden. Im Assistenten sehen Sie den bisherigen Fortschritt der Erweiterungszuordnung und können neben der Auswahl der Erweiterung und Parameter auch sehr intuitiv die Benutzerzuordnung über den Startmodus vornehmen. Dabei lässt sich sowohl ein Standard-startmodus, als auch ein Startmodus für jeden in der Firmendatenbank vorhandenen Benutzer zuweisen (Abbildung 4). 

Installation und Start in SAP Business One

Wurde eine Extension erfolgreich einer Firmendatenbank zugeordnet, so wird diese bei den freigegebenen Benutzern nach der nächsten Anmeldung automatisch im Hintergrund installiert. Je nach individueller Benutzereinstellung sieht der User nur noch den Erfolgsbalken im SAP-Business-One-Meldungsfenster (Abbildung 5).

Erfolgsmeldung
Abbildung 5: Erfolgsmeldung

Die Extension kann (ebenso wie die klassischen Add-ons im Add-on-Manager (ADMINISTRATION > ADD-ONS) gestartet und gestoppt werden. Hier lassen sich auch etwaige Fehlermeldungen über die Registerkarte FEHLGESCHLAGENE ADD-ONS FÜR LIGHTWEIGHT DEVELOPMENT einsehen (Abbildung 6).

AddOn-Manager Extension-Status
Abbildung 6: Verwaltung des Extension-Status im Add-on-Manager

Update einer Extension

Um die neue Version einer Extension zu verteilen, ist beim erneuten Packen der Extension – zum Beispiel in „Microsoft Visual Studio“ – auf die Angabe einer höheren Versionsnummer zu achten (z.B. bisherige Version: 1.0; neue Version: 1.1). 

Für das Update importieren Sie das geänderte Extension-Paket wie bei der Neuinstallation. Dabei erkennt der „Extension-Manager“ automatisch anhand der Versionsnummer in der .ard-Datei, dass es sich um eine neue Version einer bereits installierten Erweiterung handelt und meldet entprechend das Upgrade (Abbildung 7).

Der darauffolgende automatische Deinstallations- und Installationsprozess nach Neuanmeldung in SAP Business One geschieht ebenfalls im Hintergrund.

SAP B1 Versions-Upgrade
Abbildung 7: Meldung des Versions-Upgrades einer bereits installierten Erweiterung

Fazit

Mit den Extensions in SAP Business One wurde den Entwicklern von Zusatzprogrammierungen eine sehr einfache und schnelle Möglichkeit geschaffen, die fertige Entwicklungsarbeit in SAP Business One zu verteilen.