Transform

Transform(name)

Parameter:  Enumeration data field name / table name

Stack
Stack   Description
Stack(In)   integer
Stack(Out)   string

The stack top value is transformed into a string, using the transformation table indicated in the parameter. The table can be indicated directly or indirectly in reference to a data field:

Whenever the statement finds a string in the stack top, the reversed transformation will be carried out:

Stack
Stack   Description
Stack(In)   string
Stack(Out)   integer

Example:

// Get the enum out of an object and transform it:

item Copy(Monitor("CX_DISPO_ACCOUNT").logisticsEnum) Integer Transform("classix.num~logisticsEnum")

 

// The same a little more comfortable

item Copy(Monitor("CX_DISPO_ACCOUNT").logisticsEnum, ENUM)

 

// Do that for initialized integer variables:

Var(defaultSetting)
12 -> defaultSetting

// If the item has no dispo account, use the default setting

item Get(Monitor("CX_DISPO_ACCOUNT")) Dup ifnot { Drop defaultSetting } Integer Transform("classix.num~logisticsEnum")

 

Transform(name, trennzeichenFolge)

Parameter: Enumeration data field / table name, separator between two names

Stack
Stack   Description
Stack(In)   integer
Stack(Out)   string

For a transformation table, which must contain values 2n only,  the stack top value gets registered like a bit field. Result will be a string consisting of names of all bits = 1. Subsequent names are separated via string specified in the second parameter.

At this stage, reversed bit transformation is not yet available!

Information: Transform depends on the current language setting (compare statement Language).
Whenever the Enumeration name is required as a multilingual string, please use statement MLTransform.