> ## Documentation Index
> Fetch the complete documentation index at: https://docs.validio.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Progress OpenEdge

> Connect Validio to Progress OpenEdge to monitor and validate your operational data.

Progress OpenEdge is an application development platform with an integrated relational database used to build and run business applications. Integrate Validio with your OpenEdge database to monitor, analyze, and validate your data assets.

To integrate with Progress OpenEdge,

1. Create a service account in OpenEdge with the appropriate permissions for Validio. See [Prerequisites](#prerequisites).
2. Create a Validio credential to connect to the OpenEdge account. See [Add a Progress OpenEdge Credential](#add-a-progress-openedge-credential).
3. Create a Validio source to monitor the tables in the OpenEdge database. See [Add a Progress OpenEdge Source](#add-a-progress-openedge-source).

> [!NOTE]
>
> **Limitations**
>
> Because of constraints in the Progress OpenEdge SQL engine, the following Validio capabilities are not available for OpenEdge sources:
>
> * **Percentage-based profiling and sampling** — OpenEdge does not support `TABLESAMPLE`, so percentage-based table sampling is disabled for OpenEdge sources.
> * **Regex string filters** — The *Regex* operator is not available when building string filters on OpenEdge sources. Other string operators are supported.
> * **Duplicates Count and Duplicates Percentage validators** — Not supported.
> * **Unique Count and Unique Percentage validators** — Not supported.
> * **Categorical Distribution validator** — Not supported (all metric types).
> * **Numeric Distribution validator with the Relative Entropy metric** — The Numeric Distribution validator is available, but the *Relative Entropy* metric is not. Other Numeric Distribution metrics are supported.
>
> Unsupported validators, metrics, and filter operators appear disabled with a tooltip explaining that they are not supported for the source.

## Prerequisites

Create a service account in OpenEdge with read-only access so that Validio can read and validate your data. For more information about credentials in Validio, see [Credentials](https://docs.validio.io/v10.0/docs/credentials.md).

> [!WARNING]
>
> **Credential Permission Requirements**
>
> Validio Credentials **require** `VIEWER` access rights when connecting to sources to read and access data. Admins must ensure that they do not provide `EDITOR` access rights to their credentials.

Grant the service account:

* Permission to connect to the OpenEdge database.
* `SELECT` access on each table and view you want Validio to monitor. OpenEdge has no schema-wide or "all tables" `SELECT` grant, so every table and view must be granted individually.

OpenEdge exposes its SQL catalog (`SYSPROGRESS.*`) to all users by default, so no system-table grants are required — the catalog covers Validio's schema, table, view, and lineage discovery.

The following SQL script provides steps for setting up a user with the necessary permissions for the source in Validio. Run it as a user with database administrator (DBA) privileges:

```sql title="SQL" theme={null}
/*--------------------------------------- Parameters used in this script -------------------------------------------------
Search/replace all instances of these parameters in the script with names of your choice.

validio_user                                      -- Name of the Validio user. Using a new, dedicated user is recommended.
<Some_Password123>                                -- Password for the Validio user.
<schema_to_monitor> [, <schema2_to_monitor>...]   -- Optionally filter access to one or more schemas (owners).

*/------------------------------------------------ Script -----------------------------------------------------

-- A DBA user (e.g. the account used to administer the database) is required to run this setup.

-- Create the Validio user. (Creating the first SQL user also switches the
-- database into enforced-authentication mode.)
CREATE USER 'validio_user', '<Some_Password123>';
COMMIT;

-- No system-table grants are required: OpenEdge exposes the SQL catalog
-- (SYSPROGRESS.*) to all users, which covers Validio's schema/table/view and
-- lineage discovery.

-- Grant read access to the data to validate. OpenEdge has no schema-wide or
-- "all tables" SELECT grant, so each table and view is granted individually.
-- Rather than write them by hand, run the query below to GENERATE the grant
-- statements for every table and view (optionally filtered to specific
-- schemas). Then review the generated statements and run them.
--
-- NOTE: OpenEdge has no "default privileges" mechanism, so these grants apply
-- only to tables and views that exist now. When new tables or views are added
-- that Validio should monitor, re-run this generator and apply the new grants.
SELECT ('GRANT SELECT ON "' || OWNER || '"."' || TBL || '" TO validio_user;') AS stmt
FROM SYSPROGRESS.SYSTABLES
WHERE TBLTYPE IN ('T', 'V')           -- tables and views
  AND OWNER NOT IN ('SYSPROGRESS')    -- exclude the system catalog
--  AND OWNER IN ('<schema_to_monitor>' [, '<schema2_to_monitor>'...])  -- Uncomment to limit to specific schemas
ORDER BY OWNER, TBL;
```

> [!NOTE]
>
> **Per-table grants and table listing**
>
> OpenEdge has no schema-wide `SELECT` grant and no default-privileges mechanism, so you must grant `SELECT` on each table and view individually. The generated grants apply only to objects that exist when you run the generator query — when you add new tables or views you want Validio to monitor, re-run the query and apply the new grants.
>
> Because all SQL users can list tables in OpenEdge by default, tables may appear in Validio's drop-down menus (for example, in the source creation wizard) even when the user has not been granted `SELECT` access to them. Granting access as described above ensures Validio can read and validate the tables you select.

## Add a Progress OpenEdge credential

![The Progress OpenEdge credential configuration form, showing host, port, database, SSL mode, user, and password fields](https://mintcdn.com/validio/h4NQPs1kJwlpB1Yj/images/docs/integrations/920-openedge-credential.png?fit=max\&auto=format\&n=h4NQPs1kJwlpB1Yj\&q=85\&s=8973ededbd23e086f74b1d945443bcfe)

Progress OpenEdge credential configuration

To add a credential for Progress OpenEdge,

1. Navigate to **Credentials** and click **+ New credential**.
2. Under **Namespace**, select a namespace where the resources will be created.
3. For **Credential Type**, select **Progress OpenEdge**.
4. Fill in the credential parameter fields. Refer to the [Progress OpenEdge Credential Parameters](#progress-openedge-credential-parameters) table.
5. (Optional) Click **Test credential** to validate the connection to the OpenEdge account. If validation fails, check that you provided the correct parameter values and try again.
6. (Optional) Check **Use for catalog and schema checks** to automatically discover assets and add them to the catalog page.
7. Click **Create credential**.

Once the credential is created, you can add a [source](https://docs.validio.io/v10.0/docs/sources.md) to monitor OpenEdge data.

### Progress OpenEdge credential parameters

| Parameter | Description |
| :- | :- |
| Name | Identifier for the credential, referenced when configuring a source. |
| Host | DNS hostname or IP address of the OpenEdge database server. |
| Port | Port number of the OpenEdge database server. |
| Database | Name of the OpenEdge database to connect to. The database cannot be changed after the credential is created. |
| SSL mode | Select **Disable** for an unencrypted connection, or **Require** to encrypt the connection between Validio and the OpenEdge server with TLS. |
| User | Username of the OpenEdge account with read access to the desired tables. |
| Password | Password of the specified OpenEdge account. |
| TLS CA certificate | (Optional, SSL mode **Require**) Paste or upload the CA certificate used to verify the server certificate. |
| Certificate name | (Optional, SSL mode **Require**) Expected Common Name or Subject Alternative Name on the server certificate. Set this when it does not match the host you connect to. |

## Add a Progress OpenEdge source

![The Progress OpenEdge source configuration form, showing credential, schema, and table selection](https://mintcdn.com/validio/h4NQPs1kJwlpB1Yj/images/docs/integrations/920-openedge-source.png?fit=max\&auto=format\&n=h4NQPs1kJwlpB1Yj\&q=85\&s=7cbe60282fbedf2125babd065953c8b4)

Progress OpenEdge source configuration

To add a source for Progress OpenEdge,

1. Navigate to **Sources** and click **+ New source**.
2. Under Source type, select **Progress OpenEdge**.
3. Under **Config**,
   1. Select the valid **Credential** or create a new credential to authenticate your connection to the database.
   2. You have two options for specifying the dataset and tables to monitor:
      1. **Select an existing table** — Enter the **Schema** and **Table** to specify where the data comes from. Selecting more than one table will create a new source for each table. Refer to the [Source Configuration Parameters](#progress-openedge-source-configuration-parameters) table.
      2. **Use Custom SQL** — Write a valid SQL query to specify the data to monitor. See [Custom SQL Sources](https://docs.validio.io/v10.0/docs/sources/custom-sql-sources.md).
   3. Set the **Polling schedule**, which is how frequently the validators on the source will check for changes.
4. Under **Schema**, click **Continue** to automatically infer the schema fields from the tables you selected. If you select many tables, this operation can take a few minutes to complete.
5. Under **Source details**,
   1. Add **Tags** to help group related sources or to use for routing notifications.
   2. Add an **Owner** who will be the contact for incident notifications.
   3. Assign a **Priority**, which indicates the importance of incidents detected on this source.
6. Click **Continue** to create the source.
   Source names are generated automatically and will be displayed when the source creation completes. If there are more than 5 sources, you will see the names for the first five and a count of the remaining sources.

### Progress OpenEdge source configuration parameters

| Parameter | Description |
| :- | :- |
| Credential | Progress OpenEdge credential. |
| Schema | Name of the schema that contains the table. |
| Table | Name of the table to read data from. |
