Lade...
 

MLTransform

MLTransform

MLTransform(name)

Parameter: Name eines Enumeration-Datenfelds bzw. der Name der Tabelle oder Tabellenfunktion

Stack
Stack   Beschreibung
Stack(In)   ganze Zahl
Stack(Out)   multilinguale Zeichenkette (ML_STRING) 

Der Wert vom Stack-Top wird in eine multilinguale Zeichenkette transformiert. Dabei wird die im Parameter angegebene Transformationstabelle benutzt. Die Tabelle kann direkt oder indirekt mit Bezug auf ein Datenfeld angegeben werden:

  • Der Name hat die Form Filename~Tabellenname. Die angegebene Tabelle wird benutzt.
  • Der Name enthält keine Tilde, d.h. es wurde ein Datenfeld angegeben. Die Verbindung zwischen Datenfeld und Transformationstabelle stellt CLASSIX.INI her. Wird ein Zugriffsausdruck angegeben, bestimmt sein letzter Term die Transformationstabelle.

Falls die Transformationstabelle keinen entsprechenden Eintrag enthält, wird INVALID zurückgegeben.

Hinweis: Vor Dll-Version 227553 wurde ein leerer ML_STRING anstatt INVALID zurückgegeben.

Findet die Anweisung eine Zeichenkette auf dem Stack-Top, so wird die umgekehrte Transformation durchgeführt:

Stack
Stack   Beschreibung
Stack(In)   Zeichenkette
Stack(Out)   ganze Zahl

 

MLTransform(name, trennzeichenFolge)

Parameter: Name eines Enumeration-Datenfelds bzw. der Name der Tabelle, Trennzeichen zwischen zwei Namen

Stack
Stack   Beschreibung
Stack(In)   ganze Zahl
Stack(Out)   Zeichenkette

Für eine Transformationstabelle, die nur Werte 2n enthalten sollte, wird der Wert vom Stack-Top als Bitfeld aufgefasst und man erhält als Ergebnis eine Zeichenkette, die aus den Namen aller Bits = 1 besteht. Aufeinanderfolgende Namen werden durch die im zweiten Parameter angegebene Zeichenfolge getrennt.

Falls nach der Übersetzung in Bits der Wert nicht auf 0 reduziert werden konnte, dann wird der Rest als numerischer Wert mit dem Trennzeichen getrennt hinten angefügt (Bsp: ";32"). Dies heißt auch, dass für den Fall, dass kein Bit in dem übergebenen Wert gefunden wurde, der gesamte numerische Wert dem Restwert entspricht und als ML_STRING zurückgegeben wird (ohne das führende Trennzeichen).

Die Bit-Transformation in umgekehrter Richtung ist zur Zeit noch nicht verfügbar!  

Hinweis: Benötigt man das Ergebnis der Transformation in den Enumerations-Namen als einfache Zeichenkette ( abhängig von der aktuellen Sprache - vergleiche Anweisung Language), so soll die Anweisung Transform benutzt werden