Internal Variables

Overview

PhixFlow makes available a number of internal variables for use within expressions and scripts. The table below is a comprehensive list of all the internal variables and their meaning.

You cannot use all the internal variables in all contexts. For example, an expression for SQL on a Database Collector can use a different set of internal variables than an expression for a Attribute. The context of the table type also matters, so a calculate table can take different variables to an aggregate table. For information about table types, see Understanding Tables and Pipes and Types of Table and When to Use Them.

Table of Internal Variables

Internal VariableDescription
_action

_action is available on any Expression within table actions and gives the name of the Action.

_cache

Within expressions evaluated for CalculateBySet table and Aggregate table, 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.

See also Understanding Tables and Pipes and Table properties.

_cacheRecord

This variable is available when using an in-memory table 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.

_client

_client refers to the whole application/window. It provides information about the state of the application/window that the user is on. 

  • _client.height - the current height of the application window
  • _client.mobile - returns true if the application is being used on a mobile device
  • _client.width - the current width of the application window
_context

Used as a prefix to reference the context parameter values that have been configured within a table-action using the notation _context.<ContextParameter Name>; see Table-Action.

_count

_count provides the number of records in the current candidate set.  _count is used on CalculateBySet and Aggregate tables.

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

For Attribute Expressions

 _current is only available when a table is configured to carry out CalculateBySet processing.

_current refers to the current input record being processed within the candidate set.

If you attempt to refer to the record 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 or pipe in.

Instead of using in.accountNum you should use _current.accountNum to return the current input.


_current is most often used in attribute expressions but is also used in objects connected to tables, such as pipes, database collectors and file collectors.

For Grids

You can use _current in an expressions when applying formatting rules to a grid, to get information about the current record.

For example, using conditional formatting to set an icon in a column for a record, that is based on that row's status.

For Card Containers

You can use _current in an expressions when applying formatting rules to a card. _current provides access to the information on the current card.

_dragSource

Used as a prefix to reference the values that are being dragged within a table-action using the notation _dragSource.<AttributeName>.

See Also Drag Types and Drop Targets and Table-Action.

 _dropPosition

A record on a view that is configured with a Drag Type can be dragged onto a component that is:

  • backed by a table
  • configured with a Drop Target action.

For more information, see Drag Types and Drop Targets.

Use this variable for the drop target action to provide co-ordinate values:

  • _dropPosition.left - the number of pixels from the left hand edge of the dropTarget
  • _dropPosition.top - gives the number of pixels from the top of the drop target. 

When  _dropPosition is used for a:

  • card container: the _dropPosition is relative to the top-left of the area within which cards are displayed, excluding the header for the card container.
  • area component: the _dropPosition is relative to the  the top-left co-ordinates of the component on which it was dropped. Position is given as the top-left co-ordinates. 
_dropTarget

Used as a prefix to reference the values that are having data dropped onto them within a table-action using the notation _dropTarget.<AttributeName>

See also Drag Types and Drop Targets and Table-Action.

_edited_edited is available in formatting rules for components. It is true if the form has unsaved data
_error

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

_error values are:

  • message - The text of the message.
  • sequence - The sequence number of the message within the log file.
  • datetime - The date and time that the message was generated.
  • type - The 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 can be used for:

  • attribute expressions
  • view attribute label expressions
  • formatting rule expressions

In table-actions that are double-click or in-cell actions,  use _field to access the name and label of a column or to refer to the value in the cell.

Use _field to access the name and value of an input field for components that are:

  • either input fields
  • or field containers that have an input field. 

Values are:

  • 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.

  • errors: contains the error values returned from any validations applied to a field.
_fieldName

_fieldName can be used within attribute expressions. It represents currently processed attribute.

_fieldName contains the name of the field (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:

  • name: The name of the file, excluding the directory.
  • directory: The directory containing the file.
  • directory: The 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 table-action result message.

_fileName

_fileName can be used within attribute expressions in cases where the Table has data coming from a File Collector. It contains the name of the file that provided the current input record.

_fileName must be prefixed with the name of the pipe linking the file collector to the table 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 table-action

_context._fileUploadIdContains the Id of the FileUpload Process, used to identify the location of the files that have been uploaded by the table-action
_flow
  1. _flow.name - Provides the name of the application followed by the Actionflow name e.g. MyApp.MyActionflow
  2. _flow.origin - Provides the origin of the Actionflow in the form: Path > ... > Event e.g. MyForm > MyButton > OnClick
  3. _flow.start - The DateTime the actionflow started
  4. _flow.flowID - a unique identification number for the actionflow run.

_form

References the data backed component the item currently resides on. It can be thought of as retrieving the parent data.

Typically this is the outer form of a screen.

Available to use in:

  • Views by using the _form variable, for example in a background filter.
  • Within table actions to reference data.
_formMappingsUsed as a prefix to reference the form mapping values that have been configured within a table-action using the notation _formMappings.<FormMapping Name>; see Table-Action.
_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 recordset currently being referenced / calculated. For periodic tables 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 etc. to generate date specific names.

_grid

A record currently selected on a grid. Can be referred in table-actions by using the _grid variable.
_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 a tables Input Multiplier option. This causes the table to repeat its entire processing cycle for each entry in the Input Multiplier Array to create a single recordset. 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 attribute expressions but is also used in objects connected to tables especially the SQL field on a Database Collector.

_itemNumber

This provides the position of the current record within the candidate set being processed.

_itemNumber is used within Expressions on CalculateBySet tables and is especially useful for de-duplicating data.

_kanban

When dragging a card on a kanban card container, _kanban contains information about the target card.

  • value: The value of the kanban attribute in the target kanban column.
  • attribute: The kanban attribute name of the card container.
  • heading Value: The value of the kanban heading attribute in the kanban column.
  • heading Attribute: The kanban heading attribute name of the card container.
_key

_key is made available on merge, calulate-by-set and aggregating tables. _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 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 aggretating table. _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 or aggregating table .

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 attribute expressions in cases where the table has data coming from a File Collector.

_lineNumber contains the position of the current input record 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 table 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 attribute expressions in cases where the table has data coming from a File Collector.

_modifiedDate contains the datetime of when the file that provided the current input record 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 table e.g. in._modifiedDate.

_out

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

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

_out is most often used in attribute Expressions but is also used in objects connected to tables e.g. pipes or collectors.

_outputMultiplier

An Output Multiplier array can be generated by entering an Expression into the Output Multiplier field for a table. The Output Multiplier is calculated at the start of each candidate set and causes the table to repeat its output record generation processing step for each entry in the Output Multiplier Array.

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

_params

Currently this internal variable can only be used in table-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 attribute expressions in cases where the table has data coming from a File Collector.

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

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

_pipeItemNumber

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

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

_pipeName

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

Note: if using this in a merge table with multiple pull pipes coming in, _pipeName value will be null if the record exists on more than one pipe.

_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.

LABELNAME must contain all English alphanumeric characters or underscore and begin with an alpha character.

Each popup field will only accept a single string literal. Use other functions within the filter expression to evaluate the user input to other datatypes or arrays. For example:

  •  toNumber(_prompt.USERINPUTNUMBER)
  • split(_prompt.USERINPUTARRAY,",")
_range_range contains excel data range expression used to read a record from an Excel file.
_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 attribute expressions in cases where the tablehas data coming from a File Collector.

_rootDirectory contains the root base directory (if specified) of the file that provided the current input record 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 table.g. in._rootDirectory.

_runId

_runId contains a unique identifier of an individual recordset.

_screen

_screen is available in formatting rules for components. It provides information about the maximised state of the screen that the component is on. 
_screen  has the following values:

  • maximised
    • true if the screen is maximised
    • false the screen is not maximised.

The following values specify the position of the screen on the screen space:

  • top - the number of pixels from the top of the screen space to the top edge of the screen 
  • left - the number of pixels from the left edge of the screen space to the left edge of the screen 
  • width - the current width of the screen 
  • height - the current height of the screen.
_selected_selected is available in formatting rules for components. It is true if the current item is selected. _selected is particularly useful for card components.
_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 attribute expressions in cases where the table has data coming from a file collector.

_size contains the size of the file that provided the current input records 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 table e.g. in._size.

_source

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

  • email: The files were received as attachments to an inbound email.
  • upload: The 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 attribute expressions in cases where the table has data coming from a file collector.

_subDirectory contains the sub directory relative to the internal variable, _rootDirectory, in which the corresponding file that provided the current input recordresides.

_subDirectory must be prefixed with the name of the Pipe linking the File Collector to the table 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 when it has finished running.

This variable can be used in the Task Plan user notification rules to specify for example that an email be sent to a user to tell them that a problem needs to be investigated and the Task Plan must be un-suspended before it can run again.

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

_system.instance

_system.instance returns the name of the current instance. See System Configuration for details about setting the instance name.

_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.

_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).

For Custom Series on Charts (PhixFlow version 11.1+)

Use _this to return an array of records when creating a Custom Series on a chart. Set the Mode to Expression.

_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 recordset currently being referenced / calculated and is used in a similar way to the internal variable, _fromDate.

_type

This has been renamed to the internal variable, _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 values:

  • name: The user's full name, e.g. John Smith
  • firstName: The user's first name, e.g. John
  • lastName: The user's last name, e.g. Smith
  • username: The user's username (login name), e.g. jsmith
  • fullUsername: The user's domain-qualified username, e.g. jsmith@local, jsmith@external
  • emailAddress: The user's email address, e.g. jsmith@megacorp.com
  • mobileNumber: The user's mobile phone number
  • language: The user's language, e.g. English (GB)
  • userGroups: The user's user groups, as a single string containing the names of the user's groups separated by commas, e.g. "Superuser,Administrator"
  • system: This 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 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.

_value

The value held within the form field.

For Custom Series on Charts (PhixFlow version 11.1+)

Use _value to return a record of arrays when creating a Custom Series on a chart. Set the Mode to Expression.

_warning

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

See the internal variable ,_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.
_worksheets_worksheets contains a list of names of available excel worksheets on the excel file. This variable is only available in File Collectors' Excel Data Range Expressions.