Skip to main content
Skip table of contents

Artikelimport - Prefix Postfix C-ENTRON Script (StringInterpreter)

1. Allgemeines

Mit Hilfe von C-ENTRON Script lässt sich im Herstellerimport steuern, welche Daten wie in die Datenbank eingetragen werden bzw. es lassen sich spezielle Prä- und Postfixe erstellen.

Beispiel: Ein Distributor liefert Informationen im Feld Beschreibung und Sie möchten

den Inhalt in das C-ENTRON Feld Text eintragen. Wenn die Bezeichnung allerdings

leer ist, möchten Sie, dass „Keine Beschreibung“ in die Datenbank eingetragen wird.

Mit folgendem C-ENTRON Script im Präfix lässt sich dies erreichen:

@@ „Keine Bezeichnung“ [Null] @@

2. Syntax

2.1 Scriptdefinition

Ein Script wird mit @@ eingeleitet und endet mit @@, Text vor einem Script wird zurückgegeben, Text innerhalb eines Scripts wird nicht zurückgegeben, es sei denn, er steht in Hochkomma und die entsprechenden Parameter treffen zu. Ein Script kann mehrere Zeilen umfassen.

Beispiel:

Dieser Text wird zurückgegeben. @@ „Dieser auch!“ Dieser Text leider nicht. @@

ergibt

Dieser Text wird zurückgegeben. Dieser auch!

Innerhalb eines Prä- oder Postfix lassen sich mehrere Scripts anlegen:

Bestandteil vor Script 1. @@ „Script 1.“ @@ Text zwischen zwei Scripts. @@ „Script 2.“ @@

Ergibt

Bestandteil vor Script 1. Script 1. Text zwischen zwei Scripts. Script

2.2 Stringformatierung

Die Formatierung von Strings (also Texten) kann dahingehend beeinflusst werden, als dass man Zeilenumbruche und Tabulatoren, als auch den eigentlichen Wert, der in einem Importfeld steht, angeben kann.

2.2.1 Zeilenumbruch

Ein Zeilenumbruch kann per \n in die Rückgabe eingebaut werden.

Beispiel:

@@ „Text in erste Zeile\nText in zweiter Zeile“ @@

Ergibt

Text in erster Zeile

Text in zweiter Zeile

2.2.2 Tabulator

Ein Tabulator lässt sich ähnlich wie ein Zeilenumbruch per \t einfügen:

@@ „Vor Tabulator\tNach Tabulator“ @@

ergibt

Vor Tabulator Nach Tabulator

2.2.3 Importfeldwert

Manchmal ist es notwendig, den eigentlichen Wert, der in einem Feld der Importdatei steht, in einem Prä- oder Postfix zurückzugeben. Hierfür gibt es die Syntax \$

Beispiel: In einem Feld für die Artikelbeschreibung einer Grafikkarte steht „256 MB“, Sie möchten in das Textfeld jedoch „Grafikkarte besitzt mit 256MB RAM“ eintragen.

Dies lässt sich mit folgendem Script erreichen:

@@ „Grafikkarte mit \$ RAM“ @@

Die Ausgabe wäre

Grafikkarte mit 256 MB RAM

2.2.4 Sonderzeichen

Unter die Kategorie Sonderzeichen fallen doppelte Anführungszeichen („) sowie der Backslash (\). Da diese besondere Zeichen innerhalb eines Strings sind (sie leiten Zeilenumbruche, etc. ein oder starten/beenden einen String), müssen sie „escaped“ werden. Dies bedeutet, dass diesen Zeichen ein Backslash vorangestellt werden muss. Um z.B. „\“ auszugeben, muss „\\“ im Script geschrieben werden.

Beispiel:

@@ „Hier sehen Sie einen Backslash:\\. Und hier kommt noch ein doppeltes Hochkomma: \““ @@

Ergibt

Hier sehen sie einen Backslash: \. Und hier kommt noch ein doppeltes Hochkomma: „

2.3 Parameter

Parameter dienen dazu, das Verhalten eines Scripts wesentlich zu beeinflussen. Ein Script wird standardmäßig nur dann ausgeführt, wenn der Inhalt des Importfelds nicht NULL bzw. wenn es sich um Text handelt, nicht leer ist. Es verhält sich ebenso, wenn in dem Prä-/Postfix Feld kein Script hinterlegt ist.

Beispiel: In das C-ENTRON Feld Text soll der Text „Beschreibung:“ und anschließend der Inhalt des Distributorenfelds Bezeichnung eingetragen werden, jedoch nur, wenn das Bezeichnung nicht leer ist.

Der Text für das Präfix lautet in diesem Fall

Beschreibung:

Mit einem Script und Parametern können sie nun beeinflussen, dass dieser Text auch geschrieben wird, wenn der Inhalt des Distributorenfelds leer ist.

2.3.1 Parameterdeklaration

Parameter werden innerhalb eines Scripts in eckigen Klammern definiert und per Komma voneinander abgetrennt.

@@ script [Parameter1, Parameter2] @@

Es ist möglich, Parameter im Script aufzuteilen:

@@ script [Parameter1] script [Parameter2] @@

Wobei die Parameter immer gemeinsam wirken. Das letzte Beispiel ist also gleichzusetzen mit dem vorherigen Beispiel.

2.3.2 [Always]

Der Parameter Always bewirkt, dass ein Text immer geschrieben wird, egal ob der Inhalt leer ist oder nicht. Wenn Sie also den Text „Bezeichnung:“ immer schreiben wollen, müsste das Script wie folgt aussehen:

@@ „Beschreibung: “ [Always] @@

2.3.3 [NotNull]

Der Parameter NotNull bewirkt die Ausgabe eines Textes nur dann, wenn der Inhalt eines Distributorenfelds nicht NULL bzw. falls es sich um ein Textfeld handelt, nicht leer ist. Dieser Parameter ist die Standardeinstellung, wenn keine Parameter angegeben wurden bzw. wenn kein Script innerhalb eines Prä- oder Postfixes angegeben wurde.

Beispiel 1

Beispiel ohne Script

Beispiel 2

@@ „Beispiel mit Script“ @@

Beispiel 3

@@ „Beispiel mit Script und Parameter“ [NotNull] @@

Alle drei Beispiele liefern nur dann Text zurück, wenn das Distributorenfeld einen Inhalt besitzt.

2.3.4 [Null]

Mit diesem Parameter lässt sich Text ausgeben, wenn der Inhalt des Distributorenfelds leer ist. Wenn Sie z.B. erreichen möchten, dass die der Text „Beschreibung: nicht vorhanden“ in das C-ENTRON Feld Text eingetragen wird, wenn das Distributorenfeld leer ist und z.B. „Beschreibung: Matrox Grafikkarte“, wenn das Feld gefüllt ist, müsste das Script wie folgt aussehen:

Beschreibung: @@ „nicht vorhanden“ [Null] @@

2.3.5 [NoValue]

Mit Hilfe des Parameters NoValue lässt sich kontrollieren, ob der eigentliche Wert geschrieben wird oder nicht. Dieser Parameter ist hauptsächlich dazu da, um ein Script übersichtlicher zu gestalten.

Beispiel: Sie möchten unterschiedliche darauf eingehen, ob das Distributorenfeld gefüllt ist oder nicht und dies nicht auf das Prä- und Postfix aufteilen, sondern lediglich im Präfix schreiben. Das Script hierfür würde wie folgt lauten:

Beschreibung: @@ „\$“ @@@@ „nicht vorhanden“ [Null, NoValue] @@

2.3.6 Zusammenwirken von Parametern

Da Parameter frei miteinander kombiniert werden können und da ein Prä- oder Postfix mehr als ein Script enthalten kann, welche wiederum mehrere Parameter enthalten können, wirken Parameter innerhalb eines Prä- oder Postfix kumulativ. Dies bedeutet, dass alle irgendwo gesetzten Parameter insgesamt gesetzt sind.

@@ script1 [Parameter1] @@ @@ script2 [Parameter2] @@ @@ script3 [Parameter3] @@

Das Beispiel bewirkt, dass alle Parameter, also Parameter1, Parameter2 und Parameter3 gesetzt sind.

Bei den möglichen Parametern ist zu beachten: Da die Parameter kumulativ sind, gibt es eine Hierarchie, in der die Parameter wirken. Die Reihenfolge ist , der Parameter NoValue wirkt global, beeinflusst deshalb nicht, wann etwas geschrieben wird.

Beispiel: Wenn Sie in einem Script den Parameter Always setzen und in einem anderen den Parameter NotNull, dann wirkt global Always und es wird immer ein Text geschrieben:

@@ „Rückgabe von Script 1“ [Always] @@ „\nRückgabe von Script 2“ [NotNull] @@

Der Text „Rückgabe von Script 1“ wird dementsprechend immer zurückgegeben.

Geben sie mehr als ein Parameter, der die Ausgabe bestimmt, in einem Script an, wirkt immer der in der Hierarchie am weitesten obenstehende.

Im folgenden Beispiel wird sowohl der Parameter NotNull als auch der Parameter Null innerhalb eines Scripts verwendet. Die Rückgabe erfolgt deshalb nur dann, wenn das Distributorenfeld gefüllt ist:

@@ „Rückgabe des Scripts“ [NotNull, Null] @@

3. Komplexes Beispiel

Im Beispiel gibt es die Distributorenfelder Bezeichnung und Artikelgruppe. Diese sollen in das C-ENTRON Feld Text mit der Überschrift „Artikelbeschreibung“ geschrieben werden und per Tabulator der Übersichtlichkeit halber eingerückt werden.

Präfixscript für das Distributorenfeld Beschreibung

@@

„Artikelbeschreibung\n\tBezeichnung: “ [Always]

@@@@

„\t\$“ [NotNull, NoValue]

@@@@

„\tnicht vorhanden“ [Null]

@@

Präfixscript für das Distributorenfeld Artikelgruppe

@@

„\n\tArtikelgruppe: “ [Always]

@@@@

„\t\$“ [NotNull, NoValue]

@@@@

„\tnicht vorhanden“ [Null]

@@

Wäre das Feld Bezeichnung gesetzt, das Feld Artikelgruppe hingegen nicht, würde folgender Text in das C-ENTRON Feld Text eingetragen:

Artikelbeschreibung:

Bezeichnung: Matrox Parhelia

Artikelgruppe: nicht vorhanden

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.