Internal Libraries

Die Benutzung von internen Bibliotheken (internal Libraries) ist sehr bequem und macht die Wiederbenutzung von eigenen Funktionen sehr einfach. Die Erstellung erfolgt über das Menü

Bild 1

Dort kann man diese dann entweder nur für ein Projekt, Benutzer oder für alle Freigeben.

Wie wird nun eine erstellte Funktion in die Applikation eingebunden?

Dazu geht man in der erstellten Applikation links im Menü zum Punkt Programmierung und dort zu internal Libraries dann könnt Ihr die vorher erstellte Funktion auswählen und in der Applikation verwenden, einfach indem Ihr diese mit dem vergebenen Namen aufruft.

Bild 2

Interessant wird es wenn man die erstellten Funktionen aus einer internal Library gerne in einer anderen Funktion die man auch als internal Library erstellt hat benützen möchte.

Das geht, aber…..

Dies wird auch klar wenn man sich anschaut wie die Funktionen aus einer internal Library in die Applikation eingebunden werden. Diese werden nämlich nicht verlinkt oder als require etc. in die Applikation eingebunden sondern sie werden beim erstellen des Source Codes in die Applikation kopiert, deshalb kann man diese auch einfach mit dem Namen aufrufen im Code.

Nach vollziehen könnt Ihr das indem Ihr eine Funktion in 2 oder mehr Applikationen verwendet und dann die Funktion ändert, wird bei den Applikationen diese Funktion verwenden eine erneute Erstellung des Source Codes erforderlich.

Durch diesen Umstand wird auch klar warum die Funktionen nicht in der Produktivumgebung zu finden sind, sie werden gar nicht übertragen weil sie eben in jeder Applikation schon eingebaut sind.

Wie kann man nun selbst erstellte Funktionen in anderen wiederverwenden? Es gibt 2 Möglichkeiten dies doch zu tun:

  1. Ihr könnt in der Funktion die eine andere benutzen soll diese ganz normal aufrufen so als wenn diese eingebunden wär, aber Ihr müsst dann auch beide Funktionen in der Applikation einbinden. Also wie in Bild 2 und dort alle Funktionen auswählen auch die, die von den ausgewählten Funktionen benutzt werden.
  2. Ihr erstellt die Funktionen als externe Library, das ist nur unwesentlich mehr Aufwand und dann werden die Funktionen auch in das Produktivsystem übertragen. Einbinden müsst Ihr diese dann allerdings über das Macro sc_include_library(), der Vorteil ist hier, wenn Ihr etwas an der Funktion ändert muss bei dieser der Sourcecode nicht neu erstellt werden und da die Funktion mit ins Produktivsystem übertragen wird, könnt Ihr auch im Produktivsystem einfach die Datei mit der Funktion ändern ohne das ganze Projekt neu übertragen zu müssen.

Was euch nun lieber ist bleibt euch überlassen. Viel Spaß.

Schreibe einen Kommentar