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.