ENOVIA V6

Teil 3 : Nummerngenerator

Inhalt in diesem Kapitel

  • Erstellen eines Nummerngenerators
  • Anpassen des 'Create Dictionary' Befehls
  • Übersetzen der Nummerngeneratorauswahl

 

 

Erklärung

 

Der folgende Text stellt lediglich persönliche Erfahrungen dar und ist keine offizielle Dokumentation.

Alle hier erwähnten Produkt- und Firmennamen sind Marken der jeweiligen Eigentümer.

Einführung

Der Weg, einen automatischen Nummerngenerator in ENOVIA V6 zu erstellen, ist sehr einfach. Dazu kennt ENOVIA V6 zwei Business Object Types mit dem Namen

'eService Object Generator' und 'eService Number Generator'

Erstellen eines neuen Objekt- und Nummern Generators in MATRIX

Alle Informationen zu dem Thema Nummerngenerator finden sie auf folgenden Seiten :

{Documentation Installdirectory}/B211doc/English/DteAdminMap/dte-c-schemaconfigure.htm#dte-c-schemaconfigure

und

{Documentation Installdirectory}/B211doc/English/DteAdminMap/dte-t-businessobjectautoname-configure.htm#dte-t-businessobjectautoname-configure

Um einen Nummerngenerator zu erstellen, benötigen wir lediglich ein neues Objekt, abgeleitet von 'eService Object Generator' mit dem Type-Namen, für welchen die Nummerngenerierung erfolgen soll. In unserem Fall ist es 'type_Dictionary'

Als Revision geben wir 'A SingleCount' ein. Dies ist für die weiteren Schritte in diesem Post eine wichtiger Punkt !!

Im Folgenden ordnen wir den Objektgenerator der Policy zu, die für den eigentlichen Typ zuständig ist.

Für unser Wörterbuch ist es die Policy 'policy_Dictionary'.

Tragen wir nun noch die gewünschten pre- und postfix Angaben ein und schließen den Eintrag mit 'Modify' ab.

Damit haben wir den Rahmen für den Nummerngenerator geschaffen.

Um das Format für die laufende Nummer zu definieren, benötigen wir noch ein neues Objekt, abgeleitet von 'eService Number Generator'.

Das Verfahren ist hier das gleiche wie beim Objektgenerator. Der Name des neuen 'Number Generator' Objektes ist der Name des Typen, für den die Nummer erstellt werden soll.

Für unser Wörterbuch ist es wiederum 'type_Dictionary'.

Im folgenden Dialog definieren wir noch das Format und die Zählweise der Nummer.

Anschließend werden beide Objekte mit der Relationship 'eService Number Generator'

(vom Object Generator zum Number Generator) verknüpft.

Das war's.

Verwenden des Nummerngenerators in emxCreate.JSP

 

Damit der Nummerngenerator beim Erstellen eines neuen Wörterbucheintrages verwendet wird, erweitern wir lediglich das 'Create Dictionary' Kommando mit 'nameField=autoName' :

Im Ergebnis ist der Name des neuen Wörterbucheintrages nicht mehr manuell editierbar. Wir können nun jedoch den gewünschten Nummerngenerator im Auswahlfeld selektieren.

Übersetzen des Schlüssels in einen Klartext-Begriff

 

Um den Schlüsselnamen in der Auswahlliste in Klartext zu übersetzen, verwendet ENOVIA V6 die Properties Files, die zum 'Registered Suite' - Setting passen. In Teil 2 haben wir die WebForm erstellt und bei den Attributen das Setting 'Registered Suite' auf 'framework' gesetzt. Durch dieses Setting verwendet ENOVIA V6 die Datei 'emxFrameworkStringResource.properties' um den Schlüssel zu übersetzen.

Fügen wir der Datei einen Eintrag wie folgt hinzu

und ändern damit die Auswahlliste in der Weboberfläche

Festlegen verschiedener Nummerngeneratoren

Wenn wir auf mehrere Nummernkreise zurückgreifen wollen, benötigen wir einen, oder entsprechend viele, weitere Ableitungen vom 'Object Generator' und 'Number Generator' für unseren Typen 'type_Dictionary'. Die verschiedenen Generatoren unterscheiden sich durch die Revision. Dabei gilt jedoch, dass es sich nicht um eine echte Revision des Ursprungsobjektes, sondern um ein neues Objekt mit gleichem Namen, aber anderer Revision handelt !

Für unseren ersten Gerenator haben wir 'A SingleCount' als Revision verwendet. Für den zweiten Generator verwenden wir 'B DoubleCount'.

Für den Klartextnamen in der Auswahlbox erweitern wir wiederum die 'emxFrameworkStringResource.properties' Datei.

 

-->

Verschiedene Nummernkreise mit nur einer Klartext - Übersetzung

Um einen allgemeingültigeren Weg für die Übersetzung zu realisieren, wird der Revisionstext in einen variablen und einen identifizierenden Teil aufgesplittet.

In unserem Beispiel verwendeten wir 'A SingleCount' und 'B DoubleCount' als Revision. ENOVIA teilt diesen Text am Leerzeichen auf.

Dynamic

Static

A

SingleCount

B

DoubleCount

Das ist der Grund, warum wir in der Properties - Datei zwei Einträge benötigen.

Für eine allgemeingültige Verwendung der Properties - Datei ändern wir die Revisionen in MATRIX auf 'Single Count' und 'Double Count'.

Daraus folgt dann die Aufteilung :

Dynamic

Static

Single

Count

Double

Count

Dementsprechend passen wir die Properties - Datei mit 'Count' an.

 

In der Übersetzung können wir nun den Platzhalter {0} verwenden. Dieser wird durch den dynamischen Anteil der Revisionsnummer ersetzt.

Zusammenfassung

 

Es ist einfach, mit dem 'Object Generator' und 'Number Generator' Objekt in ENOVIA V6 verschiedene benötigte Nummernkreise zu erstellen und zuzuweisen. Mit Hilfe der Aufteilung in einen dynamischen und einen statischen Anteil ist es ebenfalls möglich, mehrere Nummernkreise auf einmal mit einem Klartext-Namen zu versehen.

Im nächsten Post

 

Das nächste Kapitel wird die Erstellung eines Actions-Menü für unser Wörterbuch behandeln und wie wir dieses Menü auf unsere Bedürfnisse anpassen.

Eintrag für 'emxFrameworkStringResource.properties' Datei

emxFramework.Type.Dictionary.Autoname.Count = {0} Count

MQL to modify command

mod command DICTCreateNewDictionary

href ${COMMON_DIR}/emxCreate.jsp?type=type_Dictionary&header=Dictionary&form=type_Dictionary&policy=policy_Dictionary&nameField=autoName;

add businessobject "eService Object Generator" "type_Dictionary" "Single Count"

vault "eService Administration"

policy "eService Object Generator"

owner creator

description "Object Generator for Dictionary"

"eService Name Prefix" DICT-

"eService Name Suffix" -01

"eService Retry Delay" 1000

"eService Retry Count" 5

"eService Safety Vault" vault_eServiceAdministration

"eService Processing Time Limit" 60

"eService Safety Policy" policy_Dictionary;

 

add businessobject "eService Number Generator" "type_Dictionary" "Single Count"

vault "eService Administration"

policy "eService Object Generator"

owner creator

description "Number Generator for Dictionary"

"eService Next Number" 000001;

 

add connection "eService Number Generator"

from "eService Object Generator" "type_Dictionary" "Single Count"

to "eService Number Generator" "type_Dictionary" "Single Count";

 

add businessobject "eService Object Generator" "type_Dictionary" "Double Count"

vault "eService Administration"

policy "eService Object Generator"

owner creator

description "Object Generator for Dictionary"

"eService Name Prefix" DICT-

"eService Name Suffix" -02

"eService Retry Delay" 1000

"eService Retry Count" 5

"eService Safety Vault" vault_eServiceAdministration

"eService Processing Time Limit" 60

"eService Safety Policy" policy_Dictionary;

 

add businessobject "eService Number Generator" "type_Dictionary" "Double Count"

vault "eService Administration"

policy "eService Object Generator"

owner creator

description "Number Generator for Dictionary"

"eService Next Number" 000001;

 

add connection "eService Number Generator"

from "eService Object Generator" "type_Dictionary" "Double Count"

to "eService Number Generator" "type_Dictionary" "Double Count";

 

Das sagen unsere Kunden...

DataSolid folgen
Twitter Logo Blue 50px   In-2C-34px-R  YouTube-social-squircle red 24px 

Kontakt

Ihr Ansprechparter

Thomas Schiffers

Thomas Schiffers

- Vertrieb -

Tel. 02166/955-630, Fax -719

TSchiffers@datasolid.de