Entwicklung > Data Dictionary > Setup Entwicklung > Definition Parameter 

Mit dieser Funktion kann eine Parameterdatenbank definiert werden. Jeder Parameter ist über seinen Namen definiert; er wird einem funktionalen Modul zugeordnet, und innerhalb der Module sind die Parameter gruppenweise sortiert. Die Parameter verfügen über Eigenschaften wie den Typ, die Definitionsebene und mögliche Werte. Den Parametern können globale Variablen zugeordnet werden; der Supervisor kann dann bei Aufbau einer Verbindung zum Ordner oder bei einer Benutzeränderung die entsprechende globale Variable mit dem Parameterwert belegen.

Ändert sich der Kontext (Unternehmen, Standort) oder ist eine Variable nicht mehr einem bestimmten Parameter zugeordnet, kann der Parameterwert über folgende Aufrufe in allen Programmen gelesen werden:

Call PARAM(SITE,PARAM,VALEUR) From ADOVAL

Call PARAMUTIL(PARAM,VALEUR,USER,"") From SUBAUS

Hinweis: Das entsprechende Unterprogramm verwendet immer den Datentyp Zeichenkette; bei numerischen Parametern und Parametern vom Typ Datum muss der zurückgegebene Wert zunächst umgewandelt werden. Beim Datentyp Datum genügt eine einfache Zuweisung: In der X3-Engine werden Variablen vom Typ Datum nämlich als Zeichenketten verwaltet. Bei numerischen Variablen muss für die Zuweisung folgende Syntax verwendet werden: VALNUM=val(VALEUR). 

Vorbedingungen

SEEREFERTTO Siehe Dokumentation Umsetzung

Maskenverwaltung

Erfassungsmaske

Übersicht

Die Parametererfassung erfolgt in einem einzigen Register. Das Auswahlfenster besteht aus dreifach verzweigten Schlüsseln (Kapitel, Gruppe, Parametercode).

Für bestimmte Entwicklungen können weitere Parameter hinzugefügt werden. Hinweis: Diese Parameter müssen durch einen spezifischen Aktivitätscode (beginnend mit X,Y oder Z) geschützt werden, wenn sie bei der Weiterentwicklung der Version oder der erneuten Freigabe des Ordners wiederverwendet werden sollen. Um zu verhindern, dass durch die neuen Parameter Konflikte ausgelöst werden, müssen die üblichen Namensregeln angewendet werden (die Parameternamen müssen mit X, Y oder Z beginnen).

Diese zusätzlichen Parameter können in die vorhandenen Standardkapitel oder in zuvor speziell zu diesem Zweck angelegte Kapitel eingefügt werden. Um ein spezifisches Kapitel hinzuzufügen, muss in der sonstigen Tabelle 901 ein mit X, Y oder Z beginnender Code eingefügt werden.

Die verschiedenen in den "funktionalen" Modulen zur Verfügung stehenden Parameter sind in den Voraussetzungen zu den betreffenden Funktionen dokumentiert. Zu jedem Parameter existiert ein aus der Parameterdefinition oder Parameterwerterfassung aufrufbares beschreibendes Datenblatt.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Blocknummer 1

Das Kapitel, das in der sonstigen Tabelle Nummer 901 definiert ist, identifiziert die Funktionsdomäne, der der Parameter anhängt.

  • Parameter (Feld PARAM)

Ein Parameter kennzeichnet sich durch:

  • Ein Kapitel (Sonstige Tabelle Nr. 901)
  •  Einen Code (10 alphanumerischen Zeichen)
  • Bezeichnung (Feld NAME)

Erfassen Sie die Bezeichnung des betroffenen Datensatzes.

Diese Langbezeichnung wird als Titel in den Masken und Status verwendet.

Blocknummer 2

Der Gruppencode, der in der sonstigen Tabelle Nummer 903 definiert ist, ermöglicht die Neugruppierung der Parameter eines Kapitels, um sie zu organisieren und die Parametrisierung zu erleichtern. Man kann die Wertelisten nach Parametergruppe definieren.

Eigenschaften

  • Definitionsebene (Feld NIVDEF)

Die Definitionsebene ermöglicht die Charakterisierung der Detailebene, um jedem Parameter einen Wert zuzuweisen. Ist in einem gegebenen Kontext kein Wert auf der definierten Ebene vorhanden, wechselt man schrittweise auf die nächsthöheren Ebenen, bis man einen Wert wiedergefunden hat. So ist es immer möglich, standardmäßig einen Wert auf den Ebenen zu definieren, die höher sind als die niedrigste Definitionsebene, um nur die speziellen Fälle auf der niedrigsten Ebene zu verwalten.

Die möglichen Definitionsebenen, die im lokalen Menü 987 definiert sind, stehen in absteigender Reihenfolge:

  • Ordner: ein einziger globaler Wert ist für den gesamten Ordner definiert.
  • Rechtsordnung:Ein Wert ist pro Rechtsordnung definiert. Dies setzt voraus, dass im Kontext der Parameterverwendung eine aktuelle Rechtsordnung definiert werden kann (sie wird über das aktuelle Unternehmen im Benutzerkontext definiert).
  • Unternehmen: Ein Wert ist pro Unternehmen definiert. Dies setzt voraus, dass im Kontext der Parameterverwendung ein aktuelles Unternehmen definiert werden kann.
  • Standort: Ein Wert ist pro Standort definiert. Dies setzt voraus, dass im Kontext der Parameterverwendung ein aktueller Standort definiert werden kann.
  • Benutzer: Ein Wert für jeden Benutzer (und im Moment der Verbindung definiert; ist bekannt, dass er nicht vorhanden ist, wird der dem Standort zugewiesene Wert standardmäßig vom Benutzer für das Modul, dem der Parameter anhängt, gesucht.
  • Wertart (Feld TYPVAL)

Hier wird der interne Wertetyp und die Nummer des lokalen Menüs definiert.

Ein Aktivitätscode ermöglicht folgende Aktionen:

  • Optionalsetzung eines Dictionary-Elements, wenn der dem Aktivitätscode zugeordnete Wert Null ist.
  • Signatur spezifischer Elemente, falls deren Code mit X, Y oder Z beginnt.
  • Vorgabe einer Höchstanzahl von Zeilen, falls der Aktivitätscode sich auf Elemente einer Tabelle bezieht.

Wenn der Aktivitätscode deaktiviert ist:

  • kann das markierte Element nicht verwendet werden,
  • wird der zugehörige Code nicht generiert oder aktiviert.
  • Lokales Menü Nr. (Feld NOLIB)

Hier wird der interne Wertetyp und die Nummer des lokalen Menüs definiert.

Ein Parameter kann der Schlüssel einer durch ein Objekt erstellten Datei sein (z.B. ein Ländercode, ein Kundencode, ein Zähler, eine Artikelfamilie, ein Benutzer, etc...). In diesem Fall gibt man hier den Objektcode an; dadurch erhält man automatisch alle zugeordneten Kontrollen während der Parametererfassung.

Außerdem kann man den Parameter vorgeben, mit dem man zur Objektverwaltung gelangt, während dieser eine Tabelle mit einem zweiteiligen Schlüssel erzeugt. Der Parameter CCEDSP1 "Abschnitt Dimension 1 für Aufteilung" verwendet das Feld für die Angabe der Dimensionsnummer.

Weiterhin kann man eine oder mehrere Auswahloptionen für das Filtern der möglichen Werte für den Parameter vorgeben. Diese Optionen sind im Objekt im Register "Auswahl" definiert. Der Parameter CPTRES verwendet die Filteroption auf dem Kontenobjekt, um nur die Hauptkonten freizugeben.

  • Parameter (Feld PAROBJ)

 

  • Auswahloption (Feld SELOPT)

 

  • Prüfprogramm (Feld TRAIT)

Die Rubrik Bearbeitung ermöglicht die Definition des Namens einer Bearbeitung, die aufgerufen wird, um zusätzliche Gültigkeitsprüfungen bei der Parametererfassung durchzuführen. Ist die Bearbeitung definiert, muss ein Unterprogramm vorhanden sein, dass in der Bearbeitung wie folgt definiert ist:

Subprog VERF_PARAM(PARAM,VALEUR,OK)
Value Char PARAM     # Parametername bei der Erfassung
Value Char VALEUR    # Erfasster zu prüfender Wert
Variable Integer OK    # 1 wenn Prüfung in Ordnung, 0 wenn Erfassung falsch
                                 # Si OK=0, Variabe GMESSAGE abfragen, mit der Fehlermeldung

End

Ein Verwendungsbeispiel wird für die Variablen vom Typ Nummernkreis vorgegeben. Soll eine Länge von 15 Zeichen nicht überschritten werden, kann man die Bearbeitung SUBANM aufrufen.

Aus Gründen der Benutzungserleichterung kann es nützlich sein, den Parameterwert in einer globalen Variable zu speichern. Aus Gründen der Normalisierung beginnt der Name dieser Variable für den Standard mit "G" und für die spezifische Entwicklung mit "X", "Y" oder "Z". Diese Variable gehört zur Klasse [V].

Die Angabe eines Variablennamen veranlasst die automatische Erzeugung einer Erklärungsverarbeitung:

  • WWAGLOBVAR für die Parameter Ordner, Unternehmen, Standort oder Rechtsordnung
  • WWAGLOBUSR für den Parameter Benutzer

Verbindet man sich mit dem Ordner, wird die globale Variable vom Parameterwert belegt.

Wird die Variable auf einer niedrigeren Ebene definiert (Standort, Unternehmen, Rechtsordnung) kann sie ihren Wert ändern, wenn das Unternehmen oder die Rechtsordnung sich ändert; in diesem Fall muss der Entwickler die Parameterwerte neu einlesen und die Werte der entsprechenden Variablen ändern. Dazu verfügt er für jedes Modul über ein Unterprogramm, dass hier aufgerufen werden kann:

           Call GLOBVAR(SITE) From WWGLOBXXX

Wurde die Variable noch nicht im vorgesehenen Dictionary erstellt, schlägt der Supervisor bei der Parametererstellung deren Erstellung vor.

Während der Aktualisierung des Parameters kann die Variable nicht geändert werden. Man hat auch die Möglichkeit, das Feld aus dem Variablen-Dictionary zu beeinflussen, mit der Möglichkeit:

  • durch die Zuweisung eines Parametercodes einem Parameter eine Variable in der globalen Variablendatei zuzuweisen.
  • durch das Löschen eines Parametercodes eine dem Parameter zugeordnete Variable in der globalen Variablendatei zu löschen.

Hinweis: es ist möglich, eine globale Variable, die einem Parameter zugeordnet ist, zu löschen. In diesem Fall ist der Parameter nicht mehr mit einer globalen Variablen verknüpft. 

  • durch die Zuweisung eines Parametercodes einem Parameter eine Variable in der globalen Variablendatei zuzuweisen.

Tabelle Werteliste

  • Werteliste (Feld VALUES)

Es ist möglich, eine Liste mit möglichen Werten zu definieren, die während der Parametererfassung vorgeschlagen werden, mit Hilfe der Auswahlfunktion, die mit einem Rechtsklick aufgerufen werden kann.

Eigenschaften

  • Änderbar (Feld MODIF)

Definiert, ob ein Wert vom Benutzer manuell über die Funktion Parameterwerte geändert werden kann. Ist dies nicht der Fall, kann er nur über ein Programm geändert werden; der Parameter TYPDBA, der die verwendete Datenbasis definiert, spiegelt z.B. nur das wieder, was während der Erstellung oder Aktualisierung eines Ordners definiert wurde: er kann daher nicht manuell geändert werden.

  • Werteber. verl. (Feld VALFLG)

Ist das Kontrollkästchen Werteber. verl. aktiviert, können Sie Werte erfassen, die nicht in der angezeigten Werteliste stehen (die als „vorgeschlagene Werte“ betrachtet werden). Ist das Kontrollkästchen deaktiviert, ist eine strenge Auswahl erforderlich.

  • Benutzeränd. (Feld AUSMODIF)

Dieser Indikator, der nur verändert werden kann, wenn die Variable auf der Ebene Benutzer definiert wurde, zeigt an, ob ein Benutzer den Wert selbst ändern kann (über die Verwaltungsfunktion persönliche Auswahl), oder ob ein anderer Benutzer als der Hauptadministrator den Parameter unter Benutzerverwaltung ändern kann.

  • Standardwert Ordner (Feld VALDEF)

Dieser Indikator, der nur verändert werden kann, wenn die Variable auf der Ebene Benutzer definiert wurde, gibt an, ob eine Vererbung von einer höheren Ebene genehmigt wurde, oder ob der Wert nur auf Benutzerebene erfasst werden kann (in diesem Fall wird das Nicht-Aufrufen in der Benutzerdatei als fehlender Wert angesehen).

Mit diesem Code kann der Zugriff auf den aktuellen Datensatz für bestimmte Benutzer verboten werden.

Ist das Feld ausgefüllt, können nur die Benutzer den Datensatz anzeigen, die Leserechte für diesen Zugriffscode besitzen. Und nur die Benutzer, die über Schreibrechte verfügen, können ihn ändern.

Bedingung

  • Änderungsbedingungen (Feld CNDMOD)

Ermöglicht die Erfassung einer Formel, die bei der Erfassung der Parameterwerte bewertet wurde.
Ist das Ergebnis der Formel Null, kann der Parameter nicht verändert werden.

Im Anhang findet man die Definition der verfügbaren Variablen, sowie Beispiele für die Parametrierung.

Schließen

 

Spezielle Buttons

Über diesen Button werden zwei Bearbeitungen vervollständigt und kompiliert: AGLOBVAR und AGLOB +Kapitel

Mit diesem Button kann die Definition des Aktivitätscodes in einen anderen Ordner kopiert werden.  Hinweis: Der zugehörige Aktivitätscode wird nicht mitkopiert.

Menüleiste

Dokumentation / Absätze

Mit dieser Funktion kann auf die Dokumentationsverwaltung und auf den ersten Absatz der Dokumentation (sofern vorhanden) zum aktuellen Datenblatt zugegriffen werden.

Dokumentation / Verknüpfungen

Mit dieser Funktion kann auf die Linkverwaltung zugegriffen werden. Die Funktion definiert Links zwischen dem aktuellen Datenblatt und anderen Datenblättern (z. B. Links zwischen Funktionen und Parametern). Diese Links dienen lediglich Dokumentationszwecken: Aus ihnen wird der Generierungsprozess der Dokumentationsgliederungen gespeist.

Dokumentation / Generierung

Über dieses Menü wird die Dokumentationsgenerierung angestoßen. Die Generierung kann auch per Klick auf den Button [Generieren] im unteren Fensterbereich gestartet werden.

Es gibt drei Generierungstypen, die einzeln oder gleichzeitig verwendet werden können:

  • Generierung der Dokumentationsgliederung aus dem Dictionary (Tabellen ADOCUMENT, ADOCBLB, ADOCCLB)
  • Generierung der Dokumentation aus obigen Tabellen
  • Generierung der Felddokumentation

In den standardmäßig vorgeschlagenen Bereichen ist das aktuelle Datenblatt berücksichtigt. Die Bereiche können jedoch beim Aufruf der Funktion geändert werden.

Fehlermeldungen

Während der Erfassung können außer den generischen Meldungen folgende Fehlermeldungen auftreten: :

Parameter existiert bereits

Es wurde ein Parameter erfasst, der bereits in einem anderen Kapitel unter demselben Namen vorhanden ist.

Die Variable muss mit G beginnen

Die globalen Variablen sind normalisiert und müssen mit dem Buchstaben G beginnen.

Variable bereits vorhanden

Die globale Variable wurde bereits mit einem anderen Parameter initialisiert.

Wert nicht korrekt

In der Wertetabelle wurde ein nicht mit dem Datentyp kompatibler Wert erfasst.

Verarbeitung existiert nicht

Es wurde ein Prüfbearbeitungsname erfasst, der nicht existiert.

Verwendete Tabellen

SEEREFERTTO Siehe Dokumentation Umsetzung

Technischer Anhang: Formeln für die Erfassungssperre

Die im Feld erfasste Formel für die Änderungsprüfung ist ganz besonders wichtig, wenn auf einer gegebenen Ebene bestimmte Parameterwerte gesperrt werden sollen, obwohl die betreffenden Parameter an anderer Stelle möglicherweise geändert wurden.

Insbesondere ist diese Bedingung in bestimmten Rechtsordnungen interessant, in denen die möglichen Parameter Einschränkungen unterliegen.

Derzeit sind die folgenden Variablen verfügbar:

  • LEG = aktuelle Rechtsordnung. Dieser Wert ist leer, wenn auf allgemeiner Ebene ein Parameterwert erfasst wird; in sämtlichen anderen Fällen ist der Wert festgelegt (entweder per Erfassung des Parameters auf Ebene der Rechtsordnung oder per Definition auf Unternehmens-, Standort- oder Benutzerebene. Hierbei ist zu beachten, dass jedes Unternehmen einer Rechtsordnung, jeder Standort einem Unternehmen (und dieses einer Rechtsordnung) und jeder Benutzer im betreffenden Modul einem Standardstandort zugeordnet ist.
  • SOC = aktuelles Unternehmen. Dieser Wert ist leer, wenn auf allgemeiner Ebene oder auf Ebene der Rechtsordnung ein Parameterwert erfasst wird. Andernfalls ist der Wert nach dem oben beschriebenen Prinzip festgelegt.
  • SIT = aktueller Standort. Dieser Wert ist leer, wenn auf allgemeiner Ebene, auf Ebene der Rechtsordnung oder auf Unternehmensebene ein Parameterwert erfasst wird. Andernfalls ist der Wert nach dem oben beschriebenen Prinzip festgelegt.
  • USR = Benutzer, zu dem die Berechtigungen erfasst werden (nicht mit GUSER zu verwechseln, bei dem es sich um den aktuellen Benutzer handelt - derjenige, der die besagten Berechtigungen erfasst).

Ferner steht die Variable GNBLEG zur Verfügung. Sie enthält die Anzahl der im Ordner aktiven Rechtsordnungen. Diese aktiven Rechtsordnungen sind der Tabelle GDOSLEG zu entnehmen (deren Index von 1 bis GNBLEG läuft).

Beispiele für die Funktionsweise beim Sperren der Parametererfassung:

Wenn die Erfassung eines Parameterwertes unabhängig von der Definitionsebene verhindert werden soll und die Rechtsordnung des Ordners die deutsche ist, wird folgende Formel verwendet:
find("GER",GDOSLEG(1..GNBLEG))=0.
Wenn "GER" in der Tabelle der Rechtsordnungen gefunden wird, gibt die Funktion find einen von nul verschiedenen Wert zurück; die Bedingung ist dann nicht erfüllt, die Erfassung folglich nicht möglich.

Um in der italienischen und spanischen Rechtsordnung dafür zu sorgen, dass ein auf Standortebene definierter Parameter für jeden Standort andere Werte enthält, wird folgende Formel verwendet:
find(LEG,"ITA","SPA")=0 or SIT=""
Wenn LEG definiert ist und den Wert "ITA" oder "SPA" enthält, ist der erste Teil der Bedingung nicht erfüllt; SIT muss dann leer sein (auf Unternehmensebene und darüber), sonst kann der Parameter nicht geändert werden.

Wenn ein auf Benutzerebene definierbarer Parameter nur auf allgemeiner Ebene oder vom Administrator geändert werden können soll, wird folgende Formel verwendet:
LEG="" oder USR=GSUPER
Wenn LEG leer ist, handelt es sich um die allgemeine Ebene; wenn USR definiert ist und den Wert GSUPER (Superuser) enthält, wird der Wert des allgemeinen Administrators erfasst; in beiden Fällen ist der Formelausdruck wahr, und der Parameter kann erfasst werden.

Wenn nur der Administrator einen bestimmten Benutzerwert ändern können soll, wird folgende Formel verwendet:
GUSER=GSUPER