PhixFlow Help

Internal Variables

PhixFlow makes available a number of Internal Variables for use within scripts. The list of Internal Variables varies according to the Dynamic Field Expression and the context e.g. an Expression within the SQL on a Database Collector has a different set of Internal Variables than the Expression on a Stream Attribute which also has different Internal Variables depending on the type of the Stream e.g. Calculation, Aggregation etc.

The table below is a comprehensive list of all Internal Variables and their meaning but as mentioned above, not all of these are available on all Expressions. Please refer to the individual form help pages for details of the Internal Variables available on each Expression. They are listed in alphabetical order.

Internal VariableDescription
_action

_action is available on any Expression within Stream Action objects and gives the name of the Action.

_alarmId

_alarmId is available on any Expression within Workflow Model objects and gives the ID of the Alarm that initially triggered the instance of the Workflow.

_alarmDescription

_alarmDescription is available on any Expression within Workflow Model objects and gives the Description field value of the Alarm that initially triggered the instance of the Workflow.

_cache

Within Expressions evaluated for Calculate by Set and Aggregating Streams, it is possible to set up Cached Attributes which can be used to store and retrieve cached data while processing a Candidate Set. To refer to a cached attribute value, e.g. the sum of invoice values so far while processing a Candidate Set, use an expression like _cache.invoiceTot + _current.invoiceValue

_cacheRecord

This variable is available when using the an in-memory stream and contains the record matching the key attributes.

_cacheValue

When using the attribute function cache _cacheValue contains the value retrieved from the cache associated with the key value supplied. This variable is only available within the function evaluation; that is, the value retrieved is only available in the list of expressions used in the call to the function cache.

_context

is used as a prefix to reference the context parameter values that have been configured within a Stream Action using the notation _context.<ContextParameter Name>. Please see Stream Action Form for more details on how to use it.

_count

_count provides the number of Stream Items in the current Candidate Set. _count is used on Calculate by Set and Aggregating Streams.

If you want to know how many items have been returned by a Lookup Pipe or the number of items returned by a specific Pipe for the current Candidate Set then use the countElements() function.

_current

_current is only available when a Stream is configured to carry out Calculate by Set processing. _current refers to the current input Stream Item being processed within the Candidate Set. Note that _current is needed because if you attempt to refer to the Stream Item using the name of the Pipe e.g. in.accountNum that Expression would return an Array of all the values of accountNum in the current Candidate Set for Pipe in. Instead of using in.accountNum you should use _current.accountNum.

_current is most often used in Stream Attribute Expressions but is also used in objects connected to Streams e.g. Pipes, Database Collectors and File Collectors.

_error

_error contains the details of one or more error messages, and may be used in various contexts.

The detail fields are:

ValueDescription
messageThe text of the message.
sequenceThe sequence number of the message within the log file.
datetimeThe date and time that the message was generated.
typeThe type of the message; one of 'ERROR', 'WARNING' or 'INFO'.
_errors

_errors contains the number of error messages generated during the running of a Task Plan.

This variable can be used in the Task Plan user notification rules to specify for example that an email should only be sent if there are more than a certain number of error messages.

This variable can also be used in the subject line and email body expressions.

_field

_field contains properties of a single field or attribute, and is set is contexts where fields or attributes are processed one at a time, e.g. StreamAttribute expressions, StreamViewAttribute label expressions and FormattingRule expressions.

ValueDescription
name

The name of the field.

This field is set in all contexts in which _field is defined.

value

The value of the field.

This field is not set in all contexts. See individual form help pages for details.

labels

The list of header labels associated with the field.

This field is not set in all contexts. See individual form help pages for details.

_fieldName

_fieldName can be used within Stream Attribute Expressions. It represents currently processed stream attribute.

_fieldName contains the name of the field (stream attribute name) whose expression is currently being evaluated. This can be helpful for debug messages or user generated error messages.

_file

_file contains the details of one or more files that have been processed.

The file details are:

ValueDescription
nameThe name of the file, excluding the directory.
directoryThe directory containing the file.
typeThe type of the file; one of 'INPUT' (Imported), 'OUTPUT' (Exported).
_fileCount

_fileCount contains the number of files processed during the running of a Task Plan.

This variable can be used in the Stream Action result message.

_fileName

_fileName can be used within Stream Attribute Expressions in cases where the Stream has data coming from a File Collector.

_fileName contains the name of the file that provided the current input Stream Item.

_fileName must be prefixed with the name of the Pipe linking the File Collector to the Stream e.g. in._fileName.

_filePathList

_filePathList is set to a list of the files that were received as attachments to the same email as that of the attachment currently being processed.

The full path of each file is shown. Individual file paths are separated by semi-colons (;).

This variable is only populated when reading from a File Collector with the Source Type set to Managed File

_files

Contains a list of names of files that have been uploaded by the Stream Action.

_form

Available when a user is entering values in a form - a type of stream view. Current form view values can be referred in Selection Views by using the _form variable (e.g. in background filters).

_fromAddr

_fromAddr is set to the email address from which this email was sent.

This variable is only populated when reading from a File Collector with the Source Type set to Managed File

_fromDate

Refers to the start date and time of the Stream Set currently being referenced / calculated. For Periodic Streams or Alarm Generators the time element will be zero (i.e. midnight at the start of the day).

_fromDate is most often used in the SQL field of Database Collectors to restrict the query to return data based on the dates being processed. It is also used in the Name field of File Collectors, File Exporters and Email Transitions etc. to generate date specific names.

_importedDate

_importedDate is set to the date and time that the file was received by or uploaded to PhixFlow

It is only populated when reading from a File Collector with the Source Type set to Managed File

_inputMultiplier

An Input Multiplier Array can be generated by entering an Expression into the Input Multiplier field for a Stream. This causes the Stream to repeat its entire processing cycle for each entry in the Input Multiplier Array to create a single Stream Set. During this processing, _inputMultiplier refers to the element in the Input Multiplier Array that has initiated the current processing cycle.

_inputMultiplier is most often used in Stream Attribute Expressions but is also used in objects connected to Streams especially the SQL field on a Database Collector.

_itemNumber

This provides the position of the current Stream Item within the Candidate Set being processed.

_itemNumber is used within Expressions on Calculate by Set Streams and is especially useful for de-duplicating data.

_key

_key is made available on Merge, Calculate by Set and Aggregating Streams. _key is an Array of the values of the current Group By Attributes which were used to construct the Candidate Set. E.g if the Group By Attributes were AccountNum and InvoiceNum then _key[1] would refer to the AccountNum and _key[2] to the InvoiceNum for the current Candidate Set.

_key is most often used in Stream Attribute Expressions.

_keyList

_keyList is made available in Collector statements when a Collector is connected using a Directed Pipe as an input into a Merge or Aggregating Stream. _keyList is an Array of the first elements of many Group-By Attribute values which are being used to construct the Candidate Set.

E.g if the Group By Attribute was AccountNum, then _keyList would be set to an array of account numbers: ['ac1','ac2','ac3'] - the number of elements in the array is variable, up to the workerSize specified on the pipe from the collector to the Merge/Aggregating Stream.

The _keyList would then be used in the Collector statement, e.g.

	select * from a_table
	where a_field in ({_keyList})
	order by a_field
_lineNumber

_lineNumber can be used within Stream Attribute Expressions in cases where the Stream has data coming from a File Collector.

_lineNumber contains the position of the current input Stream Item within the file.

The _lineNumber attribute is not available for File Collectors of Type File Details Only

_lineNumber must be prefixed with the name of the Pipe linking the File Collector to the Stream e.g. in._lineNumber.

_messages

_messages contains the total number of messages generated during the running of a Task Plan.

This variable can be used in the Task Plan user notification rules.

This variable can also be used in the subject line and email body expressions.

_modifiedDate

_modifiedDate can be used within Stream Attribute Expressions in cases where the Stream has data coming from a File Collector.

_modifiedDate contains the datetime of when the file that provided the current input Stream Item was last modified.

The last modified time of a single file residing within a .gz or a .tgz container can not be determined by phixflow, instead the datetime of when the corresponding gz/tgz container was created will be returned.

_modifiedDate must be prefixed with the name of the Pipe linking the File Collector to the Stream e.g. in._modifiedDate.

_out

Refers to the Stream Item currently being created. E.g. to use the value of a Stream Attribute "account" that has already been calculated, use _out.account.

Note that you should ensure that the Stream Attribute will have been evaluated before it is referred to.

_out is most often used in Stream Attribute Expressions but is also used in objects connected to Streams e.g. Pipes, Database Collectors and File Collectors.

_outputMultiplier

An Output Multiplier Array can be generated by entering an Expression into the Output Multiplier field for a Stream. The Output Multiplier is calculated at the start of each Candidate Set and causes the Stream to repeat its output Stream Item generation processing step for each entry in the Output Multiplier Array.

Note that unlike the _inputMultiplier which repeats the entire Stream processing for each Array entry (e.g. refetching data from Input Pipes) the Output Multiplier just repeats the final output Stream Item calculation. During this processing, _outputMultiplier refers to the element in the Output Multiplier Array that is being used for the current output Stream Item.

_params

Currently this internal variable can only be used in Stream Action Validation Expressions. It refers to the prompted action attribute values that are manually entered by the user when an action is executed.

%PASSWORD%

%PASSWORD% is an internal variable designed to enable a collector (or exporter) to pass a stored value to an external location - in this instance the Password which is stored with the httpDatasourceInstance.

_path

_path can be used within Stream Attribute Expressions in cases where the Stream has data coming from a File Collector.

_path contains the full path of the file that provided the current input Stream Item.

_path must be prefixed with the name of the Pipe linking the File Collector to the Stream e.g. in._path.

_pipeItemNumber

_pipeItemNumber is available on Calculate by Set Streams and is useful when the Stream has two or more Input Pipes.

_pipeItemNumber is similar to _itemNumber but returns the position of the current input Stream Item within the Pipe being processed.

_pipeName

_pipeName contains the name of the current pipe when processing Input Stream Items for Calculate by Set and Calculate Streams. Note that this is useful since these Stream functions process their Input Pipes sequentially and it may be necessary to know which Pipe is being processed (e.g. because their Stream Attributes have different names).

_prompt

Used within Filters with notation _prompt.LABELNAME to indicate that a value will be prompted for in a user popup window. The popup window will display the LABELNAME for which the corresponding value must be entered before the filter is fully evaluated. Note that the LABELNAME must contain all English alphanumeric characters and must begin with an alpha character.

Note that each popup field will only accept a single string literal. Hence the other available phixflow functions must be used within the filter expression itself to correctly evaluate the user input to other datatypes/arrays i.e toNumber(_prompt.USERINPUTNUMBER) or split(_prompt.USERINPUTARRAY,",")

It is only used within the context of filters.

_response

_response contains the response (success or failure) returned from an HTTP Export.

It is only populated in this context.

_rootDirectory

_rootDirectory can be used within Stream Attribute Expressions in cases where the Stream has data coming from a File Collector.

_rootDirectory contains the root base directory (if specified) of the file that provided the current input Stream Item concatenated with the value evaluated in the Collector's 'Input Directory Expr' field.

_rootDirectory must be prefixed with the name of the Pipe linking the File Collector to the Stream e.g. in._rootDirectory.

_runId

_runId contains a unique identifier of an individual stream set

_sentDate

_sentDate is set to the date and time that the file was sent to PhixFlow

It is only populated when reading from a File Collector with the Source Type set to Managed File

_size

_size can be used within Stream Attribute Expressions in cases where the Stream has data coming from a File Collector.

_size contains the size of the file that provided the current input Stream Item in bytes.

The size of a single file residing within a .gz or a .tgz container can not be determined by phixflow, instead a size of -1 will be returned.

_size must be prefixed with the name of the Pipe linking the File Collector to the Stream e.g. in._size.

_source

_source contains the source of the set of files being collected. Possible values are:

ValueDescription
EMAILThe files were received as attachments to an inbound email.
UPLOADThe files were manually upoaded

It is only populated when reading from a File Collector with the Source Type set to Managed File

_subDirectory

_subDirectory can be used within Stream Attribute Expressions in cases where the Stream has data coming from a File Collector.

_subDirectory contains the sub directory relative to the _rootDirectory in which the corresponding file that provided the current input Stream Item resides.

_subDirectory must be prefixed with the name of the Pipe linking the File Collector to the Stream e.g. in._subDirectory.

_subject

_subject is set to the subject of the email when a File Collector is processing a file received as an attachment to an email.

This variable is only populated when reading from a File Collector with the Source Type set to Managed File

_success

_success contains a true or false value depending on the outcome of an HTTP Export.

It is only populated in this context.

_suspended

_suspended contains the suspended status of a Task Plan.

This variable can be used in the Task Plan user notification rules to specify for example that a reminder email be sent to a user to remind them that the problem needs to be investigated and to un-suspend the task plan.

This variable can also be used in the subject line and email body expressions.

_taskPlan

_taskPlan contains the name of a Task Plan and can be used to include the name of the task plan in the user notification rules, subject line or body of emails generated by the task plan.

_taskReturnValue

_taskReturnValue is only available on the Guard Expression of an Arc within a Workflow Model. _taskReturnValue contains the text string (i.e. the Name field value) of the Workflow Task Status that caused the previous Workflow Task to close.

_this

This variable refers to the entire Candidate Set. Within a Merge the expression '_this.name' would retrieve the name field from all records from all pull pipes. For a Merge this is equivalent to referring to the 'name' attribute without specifying a pipe.

For a Calculate with multiple Input Pipes the expression '_this.name' would retrieve the name field from all records on the pull pipe currently being processed (since each pipe on a calculate is processed separately).

_toAddress

_toAddress is set to a list of the email addresses to which this email was sent. The addresses are separated by semi-colons (;).

This variable is only populated when reading from a File Collector with the Source Type set to Managed File

_toDate

Refers to the end date and time of the Stream Set currently being referenced / calculated and is used in a similar way to _fromDate.

_type

Please see _outputMultiplier

_url

The _url internal variable is set for Http Collector and Exporter Url expressions to the value of the Url field on the httpDatasourceInstance used.

It is only populated in this context.

_user

The _user internal variable is set in all contexts to the details of the current logged in user.

_user has the following attributes:

AttributeDescription
nameThe user's full name, e.g. John Smith
firstNameThe user's first name, e.g. John
lastNameThe user's last name, e.g. Smith
usernameThe user's username (login name), e.g. jsmith
emailAddressThe user's email address, e.g. jsmith@megacorp.com
mobileNumberThe user's mobile phone number
languageThe user's language, e.g. English (GB)
userGroupsThe user's user groups, as a single string containing the names of the user's groups separated by commas, e.g. "Superuser,Administrator"
systemThis is set to 0 for a normal use, and 1 if this is the system user.The system attribute is set in contexts where there is no logged in user, e.g. in Stream Attribute Expressions.
%USERNAME%

%USERNAME% is an internal variable designed to enable a collector (or exporter) to pass a stored value to an external location - in this instance the Username which is stored with the httpDatasourceInstance.

_warning

_warning contains the details of one or more warning messages, and may be used in various contexts.

See _error for message properties.

_warnings

_warning contains the number of warning messages generated during the running of a Task Plan.

This variable can be used in the Task Plan user notification rules to specify for example that an email should only be sent if there are more than a certain number of warning messages.

This variable can also be used in the subject line and email body expressions.

_worksheet_worksheet contains the name of the current excel worksheet the record was read from.
_range_range contains excel data range expression used to read this record.
_worksheets_worksheets contains a list of names of available excel worksheets on the excel file. This variable is not available if file type is not excel spreadsheet.

Please let us know if we could improve this page feedback@phixflow.com