Functions
The PSMI functions makes it possible to change the data sent to/from the M3 BE. Several functions can be called in a single @ARG/@RARG line: Separate the functions with a pipe sign | and the functions are called in continuation of each other. The available PSMI functions are described below:
BIT
The syntax of the BIT function is:
BIT(<Bit number>,<Bit set value>,<Bit
not set value>)
This result of this function depends on whether it is used in an @ARG and an @RARG line:
When used in a @RARG line the value of the M3 BE field is compared with the <Bit set value>. If they match then the bit <Bit number> is set in the M3 PWB field otherwise it is cleared.
When used in a @ARG line the value of bit <Bit number> in the M3 PWB field is examined. If the bit is set then the <Bit set value> is sent to M3 BE, otherwise the <Bit not set value> is sent. The type of the M3 PWB field has to be LONG or SHORT.
COUNT
The syntax of the COUNT function is:
COUNT(<offset>,<step>,<reset
type>,<counter type>)
- Reset counter for each linked statement.
- Reset counter for each statement.
- Reset counter for each connection.
- Statement counter
- Argument counter
There can be only one statement counter for each statement and the definition of <offset>, <step> and <reset type> is taken from the first definition of the statement pointer. It is not changed when the statement pointer is specified on a linked statement. The argument pointer is used only for that argument. If a counter continues counting in linked statements, the statement counter has to be used.
MATH
The syntax of the MATH function is:
MATH(<Mathematical expression>)
This function can make simple calculations by using ordinary arithmetic operators. You can perform several calculations on the same data.
- Addition ( + )
- Subtraction ( - )
- Multiplication ( * )
- Division ( / )
- Inversion ( ! )
- Power ( ^ )
PMS2XD
This function converts a date value in internal M3 PWB format to a representation of a date value in the format YYYYMMDD. The type of the M3 PWB field has to be LONG.
PMS2XT
This function converts a time value in internal M3 PWB format to a representation of a time value in the format HHMMSS. The type of the M3 PWB field has to be a LONG.
TRANS
The syntax of the TRANS function is:
TRANS(x1,y1)(x2,y2)...(Default)
This function can transform data from one value to another value. The function compares the input to the function with the value stated as the [x] value in the syntax. If these two values match the function will instead return the [y]. The TRANS function can contain one or more TRANS pairs. You can write BLANK as a [x] value. This way a BLANK value can be transformed to another value. To transform a given value to a blank, you can write BLANK as the [y] value.
You can state a default value. This value is used if none of the TRANS pairs is concordant with the input value. If a default value is stated it must be placed at the end of the TRANS function.
XD2PMS
This function converts a date value on the format YYYYMMDD to internal M3 PWB format. The type of the M3 PWB field must be LONG.
XT2PMS
This function converts a time value on the format HHMMSS to internal M3 PWB format. The type of the M3 PWB field must be LONG.
XT2CH
This function converts a duration (time) value on the format HH.MM to centihours. The type of the M3 PWB field must be FLOAT.
CH2XT
This function converts a duration in centihours to the format HH.MM. The type of the M3 PWB field must be FLOAT.
MAX
The syntax of the MAX function is:
MAX(<Value>)
This function returns the maximum value of the input and the argument <Value>.
MIN
The syntax of the MIN function is:
MIN(<Value>)
This function returns the minimum value of the input and the argument <Value>.
ABS
This function returns the absolute value of the input to the function.
IF
The syntax of the IF function is:
IF(<Infor M3 BEfield name> <Operator>
<Value>,<Value or action>)
The IF function compares the value of a M3 BE field with a value. If the result of this logical expression is true a value can be returned or an action can be performed.
- A constant value
- The value of a M3 BE field
- BLANK
The available operators are: less than (<), less than or equal to (<=), greater than (>), greater than or equal to (>=), equal to (=) and not equal to (!=).
- SKIP
The argument is skipped.
- SKIPRECORD
The entire record is skipped.
SUBSTR
The syntax of the SUBSTR function is:
SUBSTR(<from:to>)
The SUBSTR function can extract a sub-string that is specified by a from and a to position from a string.
COND
The syntax of the COND function is:
COND(<logical expression>)
To only evaluate an argument line if a given condition is fulfilled, use an argument condition. The logical expression is composed of criteria defined with the @CRITERION lines and the logical operators AND, OR and parentheses ( ). The criteria are referred to by the criterion number specified in the @CRITERION function.
CONFIG
The syntax of the CONFIG function is:
CONFIG(<mode>)
- PWB
PWB mode
- SWB
SWB mode
LZERO
This function adds leading zeros to a string.
ROUND
This function is used in an argument line to round off the values to the nearest integer.
UPPERCASE
This function is used to set the letters in a string to uppercase.
DECIMAL(n)
This function is used to lessen the number of decimals to the specified value in "n" for the number of decimal digits.
INDUSTRY(FASHION)
This function is used in an argument line as a command to skip the line in a parameter file if the values specified are not Fashion.
INDUSTRY(FOOD)
This function is used in an argument line as a command to skip the line in a parameter file if the values specified are not Food.
INDUSTRY(EQUIPMENT)
This function is used in an argument line as a command to skip the line in a parameter file if the values specified are not Equipment.
ADJUSTL
This function is used to adjust the string to the left.