> For the complete documentation index, see [llms.txt](https://sealights-docs.tricentis.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sealights-docs.tricentis.com/sealights-agents-and-plugins/abap-agent/configuration-settings.md).

# Configuration settings

This section describes the SeaLights ABAP Agent's configuration settings, stored in `config.toml`. The default location is `%ProgramData%\Tricentis\SeaLights\ABAP Agent\config\config.toml`. You can edit some of these settings as described below by modifying this file directly.

{% hint style="info" %}
Back up the `config.toml` file before you make any changes.
{% endhint %}

### Configuration file sections

The `config.toml` file has the following sections:

#### version

This root key identifies the configuration schema version. The current supported version is `2`.

```toml
version = 2
```

Do not modify this value manually. The agent automatically migrates the configuration to the current version on startup. To upgrade a legacy (v0.69 or earlier) configuration, see [Migrate a legacy configuration](/sealights-agents-and-plugins/abap-agent/command-line-interface/set-up-the-agent/migrate-a-legacy-configuration.md).

#### \[settings]

This section stores the command-line interface's installation settings. It has the following fields:

<table><thead><tr><th width="110.94140625">Field</th><th width="644.1796875">Description</th></tr></thead><tbody><tr><td>userdata</td><td>The name of the ABAP Agent's userdata directory.</td></tr><tr><td>install</td><td>The path of the <code>bin</code>, <code>config</code> and <code>userdata</code> directories to the install directory.</td></tr><tr><td>key</td><td>Used for encryption. This field should be empty if there is no encryption.</td></tr><tr><td>iv</td><td>Used for encryption. This field should be empty if there is no encryption.</td></tr></tbody></table>

You can modify the **userdata** and **install** fields if you want to rename the userdata directory or change the location of the bin, config and userdata directories. Do not modify the **key** or **iv** fields.

#### \[\[rfc]]

These sections store the details for each of your RFC Destinations. They have the following fields:

<table><thead><tr><th width="157.046875">Field</th><th>Description</th></tr></thead><tbody><tr><td>name</td><td>The name of the RFC Destination.</td></tr><tr><td>router</td><td>(Optional) The router string used for the connection.</td></tr><tr><td>hostname</td><td>The hostname of the SAP server.</td></tr><tr><td>sysnr</td><td>The system number used for the connection.</td></tr><tr><td>client</td><td>The client number used for the connection.</td></tr><tr><td>username</td><td>The username used for the connection.</td></tr><tr><td>password</td><td>The password used for the connection.</td></tr><tr><td>cachedusage</td><td>Indicates whether usage data is cached for this RFC Destination.</td></tr></tbody></table>

You can rename an RFC Destination by modifying its **name** field. However, you'll also need to update each of \[\[Pipelines]] sections to use the new RFC Destination name.

Do not modify the **username** and **password** fields. These values are encrypted.

If you modify the connection details for an RFC Destination, you don't need to rerun the command-line interface's Initial Build Map or Build Modification commands. However, you will need to recreate any Footprints task that uses the RFC Destination by running `footprints stop` followed by `footprints run`. See [Collect Footprints data for your Pipeline](/sealights-agents-and-plugins/abap-agent/command-line-interface/collect-footprints-data-for-your-pipeline.md).

#### \[rfcdata.prd]

This section defines how the Agent retrieves data from each PRD system. It has the following fields:

<table><thead><tr><th width="204.328125">Field</th><th>Description</th></tr></thead><tbody><tr><td>retentionperiod (<strong>N</strong>)</td><td>The Agent retains the most recent <strong>N</strong> months of data from each PRD system.</td></tr><tr><td>typequeries</td><td>The queries used to retrieve data from each PRD system.</td></tr><tr><td>separators</td><td>The field separators used when retrieving usage data from the PRD system.</td></tr><tr><td>mnemonicfieldtokens</td><td>The mnemonic field tokens used when retrieving usage data from the PRD system.</td></tr><tr><td>descriptionfieldtokens</td><td>The description field tokens used when retrieving usage data from the PRD system.</td></tr><tr><td>stepfieldtokens</td><td>The step field tokens used when retrieving usage data from the PRD system.</td></tr></tbody></table>

You can modify the **retentionperiod** and **separators** fields as required. Don't modify the other fields unless Tricentis Support asks you to.

#### \[rfcdata.qas]

This section defines how the ABAP Agent retrieves data from each QAS system. It has the following fields:

<table><thead><tr><th width="183.25390625">Field</th><th>Description</th></tr></thead><tbody><tr><td>retentionperiod (<strong>N</strong>)</td><td>The Agent retains the most recent N months of data from each QAS system.</td></tr><tr><td>tables</td><td>The SAP table from which to retrieve SCMON data.</td></tr></tbody></table>

You can modify the **retentionperiod** field as required. Don't modify the **tables** field unless Tricentis Support asks you to.

#### \[\[pipeline]]

These sections store details for each of your Pipelines. They have the following fields:

<table><thead><tr><th width="130">Field</th><th>Description</th></tr></thead><tbody><tr><td>appname</td><td>The SeaLights application name associated with this pipeline. Auto-populated by <code>slabapcli pipeline set --appname</code>.</td></tr><tr><td>name</td><td>The effective pipeline identifier used in <code>buildmap</code>, <code>buildmods</code>, and <code>footprints</code> commands. Auto-generated as <code>&#x3C;appname>-&#x3C;qas></code> if not set explicitly via <code>--name</code>.</td></tr><tr><td>qas</td><td>The Pipeline's QAS RFC Destination. Mutually exclusive with <code>dev</code>.</td></tr><tr><td>dev</td><td>The Pipeline's DEV RFC Destination (used in place of <code>qas</code> when the source system is a DEV system). Mutually exclusive with <code>qas</code>.</td></tr><tr><td>prd</td><td>The Pipeline's PRD RFC Destination.</td></tr><tr><td>labid</td><td>The lab ID associated with this pipeline. Auto-generated as <code>&#x3C;QAS SID> &#x3C;QAS hostname></code> if not set explicitly via <code>--labid</code>.</td></tr><tr><td>disablesetref</td><td>Boolean. Controls whether the set-ref step is disabled for this pipeline. Default: <code>false</code>. Managed via CLI only — do not edit directly.</td></tr></tbody></table>

If you modify the connection details for a Pipeline, you don't need to rerun the command-line interface's Initial Build Map or Build Modification commands. However, you will need to recreate any Footprints task that uses the Pipeline by running `footprints stop` followed by `footprints run`. See [Collect Footprints data for your Pipeline](/sealights-agents-and-plugins/abap-agent/command-line-interface/collect-footprints-data-for-your-pipeline.md).

#### \[componentstoignore]

This optional section specifies SAP software components (delivery units) to exclude from the Initial Build Map. Objects belonging to these components are filtered out during build map creation.

{% code title="Example" overflow="wrap" %}

```toml
[componentstoignore]
components = ["SAP_BASIS", "SAP_UI"]
```

{% endcode %}

| Field        | Description                                                      |
| ------------ | ---------------------------------------------------------------- |
| `components` | An array of SAP delivery-unit names (DLVUNIT values) to exclude. |

{% hint style="info" %}
If this section is omitted or `components` is empty, **SAP\_BASIS** and **SAP\_UI** are excluded by default. To include all components (no filtering), set `components` to an explicit empty array `[]`.
{% endhint %}

#### \[logging]

This section defines the ABAP Agent's logging settings. It has the following fields:

<table><thead><tr><th width="122.83203125">Field</th><th>Description</th></tr></thead><tbody><tr><td>level</td><td>The logging level.</td></tr><tr><td>flushinterval</td><td>The interval in seconds after which logging messages are written to the log files (optional).</td></tr><tr><td>flushlevel</td><td>The logging flush level (optional). If you don't set this field, the Agent uses info as the default value.</td></tr><tr><td>consolelevel</td><td>The logging console level (optional). If you don't set this field, the Agent uses info as the default value.</td></tr></tbody></table>

You can modify any of these settings as required. The **...level** fields may have the following values:

<table><thead><tr><th width="116.046875">Value</th><th>Description</th></tr></thead><tbody><tr><td>trace</td><td>The Agent logs detailed trace information (where available).</td></tr><tr><td>debug</td><td>The Agent logs detailed debug details.</td></tr><tr><td>info</td><td>The Agent logs information details.</td></tr><tr><td>warning</td><td>The Agent logs warning details.</td></tr><tr><td>error</td><td>The Agent logs error details.</td></tr><tr><td>critical</td><td>The Agent logs critical messages.</td></tr><tr><td>off</td><td>The Agent logs no messages.</td></tr></tbody></table>

#### \[sealights]

This section defines how the ABAP Agent communicates with SeaLights.

<table><thead><tr><th width="170.7421875">Field</th><th>Description</th></tr></thead><tbody><tr><td>token</td><td>The SeaLights bearer token.</td></tr><tr><td>delaybetweenmods</td><td>The time in seconds after which each Build Modification is sent to SeaLights. If you don't set this field, the Agent uses 300 as the default value.</td></tr><tr><td>clientattempts</td><td>The number of attempts the Agent makes at calling the SeaLights REST_API method. If you don't set this field, the Agent uses <strong>5</strong> as the default value.</td></tr></tbody></table>

You can modify the **delaybetweenmods** and **clientattempts** fields as required. Do not modify the **token** field. This value is encrypted.

#### \[footprints]

This section defines how the ABAP Agent processes Footprints data. It has the following fields:

<table><thead><tr><th width="260">Field</th><th>Description</th></tr></thead><tbody><tr><td>readstartdate</td><td>Deprecated — retained for backward compatibility. Ignored by current agent versions.</td></tr><tr><td>readstarttime</td><td>Deprecated — retained for backward compatibility. Ignored by current agent versions.</td></tr><tr><td>readtime</td><td>Deprecated — retained for backward compatibility. Ignored by current agent versions.</td></tr><tr><td>labid</td><td>The lab ID for which to process Footprints data.</td></tr><tr><td>testexecutionqueryingfreq</td><td>The frequency in seconds with which SeaLights checks Tosca to find new test executions.</td></tr><tr><td>scmonrecollectionfreqmins</td><td>How often (in minutes) the agent re-collects SCMON baseline data. Optional — the agent uses a default interval if not set.</td></tr><tr><td>typequeries</td><td>An array of type/pattern entries used to filter out SCMON context objects from footprints collection. See <strong>Footprints type queries</strong> below.</td></tr></tbody></table>

You can modify the **labid**, **testexecutionqueryingfreq**, **scmonrecollectionfreqmins**, and **typequeries** fields as required. Do not modify the other fields.

**Footprints type queries**

The `typequeries` field lets you exclude specific SCMON context objects from footprints collection based on object type and name pattern. Each entry has a `type` and a `query` (glob pattern):

{% code title="Example" overflow="wrap" %}

```toml
[footprints]
typequeries = [
  { type = "PROG", query = "SAPL*" },
  { type = "TCOD", query = "SE*" },
  { type = "ALL", query = "/SAP/*" },
]
```

{% endcode %}

| Type   | Matches              |
| ------ | -------------------- |
| `ALL`  | Any object type      |
| `PROG` | Programs             |
| `TCOD` | Transaction codes    |
| `FUNC` | RFC function modules |
| `ODAT` | OData services       |

Pattern syntax: `*` matches any sequence of characters, `?` matches a single character. Matching is case-insensitive.

{% hint style="info" %}
If `typequeries` is empty or not set, no objects are excluded. The agent auto-migrates older configs to include an empty `typequeries` array.
{% endhint %}

#### \[proxy]

This optional section defines how the ABAP Agent connects to SeaLights through a proxy server.\
If this section is present, at least the **server** field must be specified.

```
[proxy] # optional, if present, at least 'server' must be specified
server = 'http://domain.com'    # valid uniform resource identifier (URI)
username = 'user'               # optional, encrypted using the 'key'
password = 'password'           # optional, encrypted using the 'key'
```

The agent supports two ways to define proxy settings, in the following order of priority:

1. **Environment variables**\
   The following environment variables override any values in the `[proxy]` section:
   * `SL_PROXY` or `SL_PROXY_SERVER` - proxy server address (URI)
   * `SL_PROXY_USERNAME` - proxy username (optional)
   * `SL_PROXY_PASSWORD` - proxy password (optional)
2. **Configuration file section**\
   The `[proxy]` section in the `config.toml` file, as shown above.

If no proxy settings are configured in either method, the ABAP Agent will connect directly without a proxy.

#### \[http]

<table><thead><tr><th width="191.6328125">Field</th><th>Description</th></tr></thead><tbody><tr><td>disableSslCheck</td><td>Disables ssl certificate check on https calls. Defaults to false.</td></tr></tbody></table>
