.. _filtering_transactions:

Filtering Transactions
----------------------

.. _20.1.1|VOSS-670|EKB-4802:


Choose **Administration Menu > Transaction** to open the list of
parent transactions. 
When a parent transaction is selected and opened from the list view,
its details and sub-transactions are shown.

To open the **Transaction Search Filter** pop-up, use either:

1. the **Filter** button at the bottom of the list
2. one of the filter icons in a column header of the list

A transaction filter is a logical AND operation over a number of active
search criteria related to column values that are entered in the 
**Transaction Search Filter** pop-up form:

* **Transaction ID**:

  * Equal: Default setting. The search only matches on the entered transaction 
    or sub-transaction ID value. 
  * If a value is entered, all other criteria are disabled. 
  * If no value is entered, any transaction ID is matched according the
    other criteria.
  * Range: Start and End ID input boxes are available to specify the search ID range.
* **Include Sub-transactions**:

  * Criteria in the search filter also apply to sub-transactions.
    Only one level of sub-transactions are filtered, in other words,
    if sub-sub-transactions are for example present, these are not included.
  * The search result list view shows both parent and 
    sub-transactions. 
  * By default, sub-transactions of a parent are listed *above* the
    parent in the search result list view, latest date at the top.
* **Select to exclude system transactions in results**: 
  
  * Transaction filter result list rows where the **Username** column value
    is ``system`` are *excluded*. By default, these are included in the filter result list.
* **Status**: 
  
  * A drop-down is available to select the transaction status
* **Date Range**: a drop-down is available so that the last day, week or month
  can be selected quickly. 
  
  Note that if a date range: Last Day, Last Week or Last Month is selected,
  the subsequent re-opening of this filter will show it as a *Custom* date range,
  since the range is then less than the selected interval.

  All and Custom date options will enable **Start Date** and **End Date** controls.
* **Start Date** and **End Date** and **Time**: specify a transaction date and time
  range in the format of the system locale.  
  For example, for language code ``en-us``, the typed format is ``mm/dd/yyyy``.
  The number format "9" instead of "09" is also valid.

  Date picker widgets and time drop-downs can be used to specify
  the range, but values can also be typed in. While time drop-down
  values only show 15 minute intervals, any valid minute value can
  be typed in. The widget values also follow the system locale format.

  * If a Username, Detail or Message filter is added, a warning about possible slow filtering
    will show if the transaction date range is more than 7 days.
  * By default, all transaction dates are searched, but if used,
    *both* Start Date and End Date values are required.
* **Action**: a drop-down to select a value from the **Action** column.

  * The drop-down options are filtered while text is entered.
  * If text is entered that does not match any action exactly,
    all actions containing the text (case-insensitive), will be listed.
  * If the transaction date range is more than 7 days,
    a warning about possible slow filtering will show.
* **Username**: filter on the **Username** column text.
  
  * The column should contain the entered text, case-insensitive.
  * If the transaction date range is more than 7 days,
    a warning about possible slow filtering will show.
* **Detail**: filter on the **Detail** column text.
  
  * The column should contain the entered text, case-insensitive.
  * If the transaction date range is more than 7 days,
    a warning about possible slow filtering will show.
* **Message**: filter on the transaction message
 
  * The message contains the entered text, case-insensitive
  * If the transaction date range is more than 7 days,
    a warning about possible slow filtering will show.
  * For *failed transactions*, hover over the **Status** column to
    see the message or inspect it in the detail view.
  * Some *successful transactions* also show messages
    when viewing its details, for example data import and bulk load.

Since transaction filters can take a long time, a filter timeout is added to limit
the filter duration to 2 minutes. 

Active transaction, sub-transaction and transaction log filters are displayed -
according to the Admin Portal in use, either:

* In text above the column headers

or

* at the bottom of the list view, as an **X** button next to the active Filter
  funnel icon. Select this **X** button to cancel a running filter. If the filter
  is a modification of a previous successful filter, the running filter will be
  reverted to the successful filter.
* in the columns headers that have been filtered, as highlighted funnel icons on
  the right hand side of the column header.