String Rules

A string expression is a concatenation of expressions of String type or of unknown type.

<String Exp> consists of one of these:

<String Value>

<String Exp> + <String Value>

<String Exp> + <Typeless Value>

A string value can be any of these:

  • A string literal
  • A quoted variable reference
  • A function call returning a string value
  • A string sub-expression enclosed in parentheses

<String Value> consists of one of these:

StringLiteral

<FilterIdValue>

IF (<Boolean Exp>, <String Exp>, <String Exp>)

IF (<Boolean Exp>, <String Exp>, <Typeless Exp>)

IF (<Boolean Exp>, <Typeless Exp>, <String Exp>)

String built-in functions:

CLIENTSUBSTITUTE (<String Exp>, <String Expr List>)

CLIENTSUBSTITUTE (<Typeless Exp>, <String Expr List>)

SUBSTITUTE (<String Exp>, <String Expr List>)

SUBSTITUTE (<Typeless Exp>, <String Expr List>)

SUBSTRING (<String Exp>, <Numeric Exp>)

SUBSTRING (<String Exp>, <Typeless Exp>)

SUBSTRING (<String Exp>, <Numeric Exp>, <Numeric Exp>)

SUBSTRING (<String Exp>, <Numeric Exp>, <Typeless Exp>)

SUBSTRING (<String Exp>, <Typeless Exp>, <Numeric Exp>)

SUBSTRING (<String Exp>, <Typeless Exp>, <Typeless Exp>)

SUBSTRING (<Typeless Exp>, <Numeric Exp>)

SUBSTRING (<Typeless Exp>, <Typeless Exp>)

SUBSTRING (<Typeless Exp>, <Numeric Exp>, <Numeric Exp>)

SUBSTRING (<Typeless Exp>, <Numeric Exp>, <Typeless Exp>)

SUBSTRING (<Typeless Exp>, <Typeless Exp>, <Numeric Exp>)

SUBSTRING (<Typeless Exp>, <Typeless Exp>, <Typeless Exp>)

UPPER (<String Exp>)

UPPER (<Typeless Exp>)

LOWER (<String Exp>)

LOWER (<Typeless Exp>)

REPLACE (<String Exp>, <String Exp>, <String Exp>)

REPLACE (<String Exp>, <String Exp>, <Typeless Exp>)

REPLACE (<String Exp>, <Typeless Exp>, <String Exp>)

REPLACE (<String Exp>, <Typeless Exp>, <Typeless Exp>)

REPLACE (<Typeless Exp>, <String Exp>, <String Exp>)

REPLACE (<Typeless Exp>, <String Exp>, <Typeless Exp>)

REPLACE (<Typeless Exp>, <Typeless Exp>, <String Exp>)

REPLACE (<Typeless Exp>, <Typeless Exp>, <Typeless Exp>)

Event attributes:

EVENTNAME()

ORIGINATOR()

CONFIGNAME()

EVENTSTATE()

EVENTTITLE()

ACTIONTYPENAME ()

VOTINGRESULT (<EventActionRef>)

RECIPIENTLIST (<EventActionRef>)

RESPONDERLIST (<EventActionRef>)

RESPONDERLIST (<EventActionRef>, <String Exp>)

RESPONDERLIST (<EventActionRef>, <Typeless Exp>)

Environment attributes:

APPNAME()

COMPANYNAME()

USERNAME()

USERDESC()

WORKINGDIR()

FILECONTENTS (<String Exp>)

FILECONTENTS (<Typeless Exp>)

NEWGUID()

Framework event parameters:

IDO()

INITIATOR()

FILTERSTRING()

LOADFLAGS()

PROPERTYNAMES()

POSTQUERYACTIONS()

CUSTOMINSERT()

CUSTOMUPDATE()

CUSTOMDELETE()

VARIABLENAME()

VARIABLEVALUE()

FILTERPROPERTY (Id, <Numeric Exp>, <String Exp>)

FILTERPROPERTY (Id, <Numeric Exp>, <Typeless Exp>)

FILTERPROPERTY (Id, <Typeless Exp>, <String Exp>)

FILTERPROPERTY (Id, <Typeless Exp>, <Typeless Exp>)

FP (Id, <Numeric Exp>, <String Exp>)

FP (Id, <Numeric Exp>, <Typeless Exp>)

FP (Id, <Typeless Exp>, <String Exp>)

FP (Id, <Typeless Exp>, <Typeless Exp>)

FILTERPROPERTY (<Numeric Exp>, <String Exp>)

FILTERPROPERTY (<Numeric Exp>, <Typeless Exp>)

FILTERPROPERTY (<Typeless Exp>, <String Exp>)

FILTERPROPERTY (<Typeless Exp>, <Typeless Exp>)

FP (<Numeric Exp>, <String Exp>)

FP (<Numeric Exp>, <Typeless Exp>)

FP (<Typeless Exp>, <String Exp>)

FP (<Typeless Exp>, <Typeless Exp>)

FILTERPROPERTY (<String Exp>)

FILTERPROPERTY (<Typeless Exp>)

FP (<String Exp>)

FP (<Typeless Exp>)

METHOD ( )

FILTERMETHODPARM (<Numeric Exp>)

FILTERMETHODPARM (<Typeless Exp>)

FILTER (<String Exp>)

FILTER (<Typeless Exp>)

CAST (<Scalar Exp> AS STRING)

Sub-expression:

(<String Exp>)

<Message Conversation>

String expression lists

A string expression list is an ordered, comma-separated list of string or scalar expressions. <String Expr List> consists of one of these:

<Scalar Exp>

<String Expr List>, <Scalar Exp>

Message conversations

A message conversation is one or more MESSAGE() calls separated by | newline or concatenation operators. <Message Conversation> consists of one of these:

<Message>

<Message Conversation> | <Message>

Messages

A message is the MESSAGE function surrounding a parenthesized, ordered, comma-separated list of string or typeless expressions. <Message> consists of one of these:

MESSAGE (<String Exp>)

MESSAGE (<Typeless Exp>)

MESSAGE (<String Exp>, <String Expr List>)

MESSAGE (<Typeless Exp>, <String Expr List>)