Parametrierung und individuelle Entwicklung 

Einführung

Bei der Implementierung von Produkten in Sage-X3-Technologie kann das Produkt auf zwei Ebenen angepasst werden.

Bei der ersten Ebene handelt es sich um die Parameter, die in Bezug auf die Ergonomie der Software sowie auf ihre Funktionalitäten eine wichtige Rolle spielen können; bei der zweiten Ebene handelt es sich um die individuelle Entwicklungen. Die in Safe-X3-Technologie entwickelten Programme umfassen AGL und eine Ausführungsengine namens X3. Dadurch sind Eigenentwicklungen möglich.

Die Charakterisierung der jeweiligen Funktionen richtet sich daher nicht nach ihrer relativen Komplexität, sondern:

  • Parametrierungen sind von kleineren Versionsänderungen und Anwendungs-Patches im Prinzip nicht betroffen.  Dies bedeutet, dass keine Schutzmaßnahmen für ihre Dauerhaftigkeit notwendig sind. Parametrierungsvorgänge stehen Benutzern, die über das Administratorprofil ADMIN verfügen, in den Menüs Parameter, Verwaltung und den von diesen Menüs abhängigen Untermenüs zur Verfügung.
  • Bei Entwicklungen müssen bestimmte Maßnahmen ergriffen werden (Benennungsregeln, Verwendung bestimmter Aktivitätscodes), damit diese dauerhaft bleiben. Dies setzt zusätzlichen Aufwand voraus. Die Regeln, die bei diesen Maßnahmen beachtet werden müssen, sind in einem Anhangdokument definiert. Entwicklungsvorgänge stehen Benutzern, die über das Administratorprofil ADMIN verfügen, in den Menüs namens Entwicklung und den von diesen Menüs abhängigen Untermenüs zur Verfügung.

Im Ergebnis sind also Parametrierungslösungen im Hinblick auf die Wartung prinzipiell weniger aufwändig und damit den individuellen Entwicklungen vorzuziehen, sofern dies möglich ist.

Die Parametrierungslösungen können gemäß ihrem Schwierigkeitsgrad und ihrer Zugänglichkeit für fortgeschrittene Benutzer weiter unterteilt werden. Dasselbe gilt für die Entwicklungen. Diese Klassifizierung wird im Folgenden vorgenommen.

Parametrierungen können zu einer automatischen Generierung von Code führen, was jedoch für den Benutzer transparent ist. In bestimmten Fällen können auch für Parametrierungen rudimentäre Kenntnisse in der Programmiersprache notwendig sein, insbesondere bei der Verwendung von Berechnungsformeln (die in etwa Excel™-Formeln entsprechen). Bei der Erstellung solcher Formeln ist jedoch ein Assistent behilflich. Parametrierungen können also in einfache und eher komplexe Parametrierungen unterteilt werden. Für bestimmte Parametrierungsvorgänge ist tatsächlich Entwicklungserfahrung notwendig.

Bei Entwicklungen muss unter Umständen AGL-Adonix-Code geschrieben werden. Aber auch in diesem Bereich können bestimmte, ohne Codierung mögliche Vorgänge an Mitarbeiter ohne Entwicklungserfahrung delegiert werden, sofern so auch die Dauerhaftigkeit dieser Entwicklungen gewährleistet werden kann.

Die Verwendung von Crystal Reports™ ähnelt einer Parametrierung, setzt jedoch eine gute Kenntnis der Anwendungsdatenbank voraus. Die Kenntnis der Datenbankstruktur wird durch entsprechende Onlinehilfen vereinfacht (MCD, Online-Dictionary). Berichte, bei denen die Ausgabekennzeichnen aktualisiert werden, setzen die Beherrschung der Adonix-Programmiersprache voraus. Die Aktualisierung des Berichts-Dictionarys ist ebenfalls als (relativ einfache) Entwicklung anzusehen.

Parametrierungsvorgänge

Im Menü Parameter sind produktabhängige funktionale Untermenüs vorhanden. Diese Menüs zählen zum Bereich der im Allgemeinen einfachen Parametrierung. Die Untermenüs Benutzer, Allgemeine Parameter, Verwaltung müssen je nach den darin enthaltenen Funktionen weiter charakterisiert werden. Das Menü Allgemeine Struktur entspricht einer einfachen Parametrierung. Dasselbe gilt für das Menü Workflow, bei dem lediglich die Parametrierung der Workflow-Regeln komplex ist.

Einfache Parameter aktualisieren

Mit diesen Funktionen werden Datenbankparameter und Datenbankdaten aktualisiert. Fehlerhafte Aktualisierungen können sich auf die Funktionen auswirken, normalerweise ist aber nichts irreversibel. Es handelt sich um folgende Funktionen:

Funktion

Definition

GESAUS

Benutzerverwaltung

GESACS

Zugriffscodes

GESADI2

Sonstige Tabellen

GESANM

Nummernkreis Dokumente

GESTCA

Zuweisung Nummernkreise

APARHIS

Löscheinstellungen

GIMPEXPPAR

Parameter

GESAEN

Import- / Exportsequenzen

ABATPAR

Batchserverparameter

Sonderfall Parameterwerte (ADPVAL): Dabei handelt es sich ganz klar um eine Parametrierungsfunktion, unbedachte Änderungen an bestimmten Supervisor- (Kapitel SUP) und vor allem an Engine-Parametern (Kapitel ADX) können sich jedoch als sehr gefährlich erweisen.

Second-Level-Parametrierung

Diese Parametrierungen können aus mehreren Gründen als komplexer betrachtet werden:

Bei bestimmten Vorgängen kann eine Freigabe oder Codegenerierung notwendig sein. Bei Kopien von Ordner zu Ordner bedeutet dies eine erneute Freigabe. Fehlerhafte Parametrierungen können sich in manchen Fällen in Fehlern bei der Programmausführung niederschlagen. Dies gilt auch dann, wenn während der Parametrierung Plausibilitätsprüfungen durchgeführt werden.

In diese Kategorie fallen folgende Funktionen:

Funktion

Definition

GESGTC

Anzeigemasken

GESAFT

Profile

GESAFP

Funktionsberechtigungen

GESAPM

Menüberechtigungen Benutzer

Auch die Parametrierung von Maskensteuerungen (in allen Modulen) fällt in diese Kategorie, denn Masken und Verarbeitungsquelldateien werden per Parametrierung angelegt.

Wenn Datenbankfelder als Kriterien definiert werden, können für die Parametrierung Kenntnisse der Datenbank notwendig sein, was solche Parametrierungen komplex macht. Für solche Parametrierungen muss unter Umständen auch Code generiert werden.

In diese Kategorie fallen folgende Funktionen:

Funktion

Definition

GESARL

Rollen

GESCDE

Buchungscodes

In bestimmte Parametrierungen fließen Berechnungsformeln (Unterstützung durch einen Assistenten) oder Kenntnisse über einen Kontext (Name der zu parametrierenden Maske) ein. Bei diesen Parametrierungen erweisen sich Kenntnisse über die Datenbankstruktur, die Programmiersprache der Berechnungsformeln und den allgemeinen technischen Kontext häufig nützlich oder gar notwendig.

In diese Kategorie fallen folgende Funktionen:

Funktion

Definition

GESAWA

Workflow-Regeln

GESACL

Prüftabellen

CODCTL

Zuweisung Prüftabellen

CODACC

Zuweisung Zugriffscodes

GESAOP

Objekteigenschaften

GESAOC

Objekteinstellungen

GESPS1

Statistik-Trigger

GESPS2

Statistik-Parameter

GESAOE

Vorlagen

GESAEV

Tabellen- / Importparameter

GESALH

Abfragemaschine

GESANX

Sonderindex

Wichtiger Hinweis: Werden diese Parametrierungen fehlerhaft vorgenommen, so kann dies zu Fehlfunktionen bei den Zielobjekten führen:

  • Wenn beispielsweise in die Auswahlliste links des Objekts nicht sämtliche Hauptschlüsselfelder des betreffenden Objekts eingetragen werden, führt das Customizing unter Umständen zur Objektfehlfunktion.
  • Fehlerhafte Statistikdefinitionen können bei der Durchführung von Anlagen und Aktualisierungen die korrekte Funktionsweise des Ausgangsobjekts behindern. Dies gilt vor allem, wenn die fehlerhafte Definition in Echtzeit erfolgt.
  • Bei der Anlage von Abfragen werden sowohl eine Maske als auch Verarbeitungen angelegt, was in bestimmten Fällen zu fehlerhaften Abfragen führen kann, wenn die Beziehungen explizit angegeben werden.

Weiterhin setzt die Optimierung der Datenbank (GESANX) fundierte technische Kenntnisse über Datenbankverwaltung voraus; fehlerhafte Parametrierungen können kontraproduktiv sein und gerade nicht zu einer Performanceverbesserung im Betrieb führen.

Spezielle Parameter

Zwei Gruppen von Funktionen müssen als Sonderfälle im Bereich Parametrierung angesehen werden:

Die Ordnerverwaltung (GESADS) wirkt sich stark auf den Betrieb aus und setzt zumindest bei der Anlage des Betriebsordners eine gewisse technische Erfahrung voraus.

Für die Verbreitung von Automatik-Buchungen (GESGAU) sind gute Kenntnisse sowohl der Programmiersprache als auch des Kontexts notwendig, da hier Code generiert wird. Fehlerhafte Parametrierungen können zur Anlage von nicht ausgeglichenen Buchhaltungsbelegen führen, die nicht in Produktion übernommen werden.

Individuelle Entwicklungen

Als individuelle Entwicklung wird – einfach ausgedrückt – alles bezeichnet, was mithilfe der Entwicklungsmenüs der Standardmenüs des Administratorprofils ADMIN durchgeführt wird. Eine andere Art der Charakterisierung von individuellen Entwicklungen ist die Verwendung von mindestens einem Aktivitätscode, dessen erster Buchstabe zwecks Dauerhaftigkeit der betreffenden Entwicklung X, Y oder Z lautet. Je nachdem, ob auf die Entwicklungssprache zurückgegriffen werden muss, können Eigenentwicklungen in zwei Schwierigkeitsstufen eingeteilt werden.

Einfache Eigenentwicklungen

Diese Eigenentwicklungen setzen keine umfangreichere Kenntnis als die weiter oben beschriebenen Funktionen voraus (in manchen Fällen können sie sogar einfacher sein als die weiter oben beschriebenen komplexeren Funktionen). Es handelt sich nicht zwingend um Funktionen, sondern in manchen Fällen lediglich um eine begrenzte Verwendung derselben.

Im Parametrierungsassistent Toolbox sind diese einfachen Besonderheiten und ihre Realisierung beschrieben.

In allen Fällen ist die wichtigste zu beachtende Regel die Dauerhaftigkeit solcher Entwicklungen. Wird nicht auf die Dauerhaftigkeit geachtet, gehen die Änderungen bei jeglicher erneuten Ordnerfreigabe wieder verloren. Dauerhaftigkeit setzt voraus, dass mindestens ein Aktivitätscodes definiert und aktiviert wird, dessen Anfangsbuchstabe X, Y oder Z lautet. Weiterhin müssen die Namen der angelegten Elemente normalisiert und übernommen werden.

Folgende Vorgänge fallen in diese Kategorie:

Funktion

Definition

GESACV

Aktivitätscodes

GESATB (*)

Tabellendictionary

COMBOS

Lokale Menüs

GESATY

Datentypen

GESAMK (*)

Masken

GESAWI (*)

Fenster

GESAOB (*)

Objekte

GESAFC (*)

Funktionen

GESAHI

Verlauf / Leeren

Die mit einem Stern versehenen Funktionen können als unter bestimmten Bedingungen einfach implementierbar angesehen werden. Wenn bestimmten Masken und Tabellen bereits zusätzliche Felder hinzugefügt wurden, erleichtert es die Implementierung, wenn einfache Objekte, Masken, Fenster und Funktionen über die Objektverwaltung angelegt werden.

Manche Entwicklungsfunktionen sind ähnlich einfach wie Parametrierungen, können jedoch extrem gefährlich sein, weil häufig umfangreicher Datenaktualisierungen mit einem Minimum von Plausibilitätsprüfungen durchgeführt werden. Hierbei handelt es sich um folgende Funktionen:

Funktion

Definition

GESAMI

Datenbank Massenänderungen

GMAINT

Tabellenwartung in Zeile

GSTDCOL

Spaltenwartung

Bei der Definition von Massenänderungen in der Datenbank (GESAMI) auf berechneten Felder oder auf Feldern mit Integritätskriterien muss streng darauf geachtet werden, dass die betreffenden Funktionalitäten nicht beeinträchtigt werden. Auch mit den Wartungsfunktion können die Integritätskriterien außer Acht gelassen werden.

Daher setzt die Verwendung der Entwicklungswerkzeuge ein Minimum an Erfahrung mit Eigenentwicklungen voraus; manche Funktionen sind potenziell gefährlich, und ihre Verwendung muss gut verstanden sein. Zu diesen Funktionen zählen:

Prüfungstools (UTIBASE, ETAFIC, VERSYMB, AVERSION)

Freigabetools (VALDICO, ACOPDIC, ACOPTRS, ACOMPOBJ, AVALAFC, VALMENU, GENMSKTRT, COPTRT, GENMENULOC)

Ordnerwartungstools (CHDOS, DEVERROU, RAZDOS, IMPDOS)

Suchtools (RECHACT, RECHTYP, RECHACI, RECHMESS, RECHTXT)

Sicherungstools (DOSEXTRA, DOSINTEG)

Patchverwaltungstools (PATCH, APATCH, GESAPT, APATCHA)

Sonstige Tools (AMIEXE, SYSTEME, LECTRACE, EXETRTVISULIC, PSADX, ADXD, GENTXTTRA, MODCPT, ADELETE, RECUPLNK, ACTIVLNK).

Komplexe Eigenentwicklungen

Komplexe Eigenentwicklungen setzen eine tiefere Kenntnis der Entwicklungssprache und damit das Profil eines erfahrenen Entwicklers voraus. Dies betrifft insbesondere sämtliche bereits weiter oben beschriebenen Entwicklungsfunktionen, wenn diese generierte Masken verändern, sämtliche Funktionen, in denen ein Eingabepunkte verwendet wird und sämtliche Funktionen, für die 4GL-Adonix-Code geschrieben werden muss (beispielsweise in einer komplexen Maske). Bei folgenden Vorgängen kann es sich um komplexe Vorgänge handeln:

  • Definition von Datentypen (GESATY), Masken (GESAMK), Fenster (GESAWI), Funktionen (GESAFC), Objekte (GESAOB), sofern diese Funktionen in komplexen Kontexten verwendet werden
  • Anzeigen (GESACN), verbundene Funktionen und Aktionen  (GESACTGESASU, ADOTRT), denn hier muss stets Adonix-Code geschrieben werden
  • Berichte, wenn zuvor Verarbeitungen realisiert werden müssen