> For the complete documentation index, see [llms.txt](https://docs.ovaledge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ovaledge.com/release8.1/connectors/connector-repositories/etl-tool/sap-bods.md).

# SAP BODS

This article outlines the integration with the SAP BusinessObjects Data Services (SAP BODS) connector, enabling streamlined metadata management through metadata crawling and lineage building (both automatic and manual). The connector crawls SAP BODS repository metadata, including Jobs, Workflows, Dataflows, variables, transformation mappings, source code, and dataset relationships, to support metadata discovery and lineage generation.

The connector establishes connectivity to the SAP BODS repository database through JDBC and supports repositories hosted on Oracle and SQL Server. It provides SQL Server Authentication, Windows Authentication, and Azure Active Directory – Password authentication for SQL Server repositories, while Oracle repositories use database credentials to authenticate and access SAP BODS repository metadata required for crawling and lineage extraction.

![](/files/klKqLXNlSPxfjdujTfo3)

## Overview

### Connector Details

| Connector Category                                                           | ETL Tool               |
| ---------------------------------------------------------------------------- | ---------------------- |
| OvalEdge Release Supported                                                   | Release6.3.x and later |
| <p>Connectivity</p><p>\[How the connection is established with SAP BODS]</p> | JDBC                   |

### Connector Features

| Feature                                      | Availability |
| -------------------------------------------- | :----------: |
| Crawling                                     |       ✅      |
| Delta Crawling                               |       ❌      |
| Data Preview                                 |       ❌      |
| Auto Lineage                                 |       ✅      |
| Manual Lineage                               |       ✅      |
| Secure Authentication via Credential Manager |       ✅      |
| Data Quality                                 |       ❌      |
| DAM (Data Access Management)                 |       ❌      |
| Bridge                                       |       ✅      |

### Metadata Mapping

The following objects are crawled from SAP BODS and mapped to the corresponding UI assets.

<table><thead><tr><th>SAP BODS Object</th><th>SAP BODS Attribute</th><th width="117">OvalEdge Attribute</th><th width="134.333251953125">OvalEdge Category</th><th>OvalEdge Type</th></tr></thead><tbody><tr><td>Job</td><td>JOB_NAME (ALVW_JOBINFO)</td><td>Schema / Domain</td><td>Schema</td><td>Schema</td></tr><tr><td>Job</td><td>JOB_ID</td><td>-</td><td>Schema</td><td>-</td></tr><tr><td>WorkFlow</td><td>DESCEN_OBJ (AL_PARENT_CHILD)</td><td>Code Name</td><td>Codes</td><td>BODS_WorkFlow</td></tr><tr><td>WorkFlow</td><td>DESCEN_OBJ_TYPE</td><td>Code Type</td><td>Codes</td><td>BODS_WorkFlow</td></tr><tr><td>WorkFlow</td><td>TEXT_VALUE (AL_LANGTEXT)</td><td>Source Code</td><td>Source Code</td><td>XML</td></tr><tr><td>DataFlow</td><td>DESCEN_OBJ (AL_PARENT_CHILD)</td><td>Code Name</td><td>Codes</td><td>BODS_DataFlow</td></tr><tr><td>DataFlow</td><td>DESCEN_OBJ_TYPE</td><td>Code Type</td><td>Codes</td><td>BODS_DataFlow</td></tr><tr><td>DataFlow</td><td>TEXT_VALUE (AL_LANGTEXT)</td><td>Source Code</td><td>Source Code</td><td>XML</td></tr><tr><td>Global Variables</td><td>VP_NAME / VP_DTYPE (AL_VARPARAM)</td><td>Source Code</td><td>Source Code</td><td>Application/JSON</td></tr><tr><td>SQL Transform (lineage)</td><td>Parsed from Dataflow/Workflow XML</td><td>Code Name</td><td>Codes</td><td>BODS_SQL</td></tr><tr><td>Built In Function (lineage)</td><td>DESCEN_OBJ_TYPE='Built In Function'</td><td>Code Name</td><td>Codes</td><td>BODS_BuiltInFunc</td></tr><tr><td>Table (lineage)</td><td>DESCEN_OBJ_TYPE='Table' + AL_COLMAP</td><td>Table / Column Lineage</td><td>Lineage</td><td>OETABLE</td></tr><tr><td>File (lineage)</td><td>DESCEN_OBJ_TYPE='File' + AL_COLMAP</td><td>File / File Column</td><td>Files</td><td>FILE</td></tr><tr><td>Column Mapping Text</td><td>MAPPING_TEXT (AL_COLMAP_TEXT)</td><td>Dataset Association</td><td>Association</td><td>-</td></tr></tbody></table>

## Set up a Connection

### Prerequisites

The following are the prerequisites to establish a connection:

**Whitelisting Ports**

Make sure the inbound port is whitelisted to ensure successful connectivity to the SAP BODS database.

{% hint style="warning" %}
By default, Oracle uses port 1521 and SQL Server uses port 1433. If a custom port is configured, specify that port during connection setup and ensure it is whitelisted to establish successful connectivity to the SAP BODS repository database.
{% endhint %}

**SQL Server Authentication Prerequisites**

When the SAP BusinessObjects Data Services repository is hosted on SQL Server, ensure the following prerequisites are met based on the selected authentication method.

1. **SQL Server Authentication**
   1. A SQL Server login must exist and be active.
   2. The account must have access to the target database and required metadata objects.
   3. Ensure the SQL Server instance is configured to allow SQL Server Authentication.
2. **Windows Authentication**
   1. Windows Authentication requires additional native libraries depending on the OvalEdge release and JVM architecture.
   2. **For detailed file versions and download links, click** [**here**](https://docs.ovaledge.com/connectors/additional-requirements/external-supporting-files-for-windows-authentication)**.**
3. **Azure Active Directory – Password**
   1. Azure AD user credentials must be active and permitted for SQL access.
   2. Azure AD authentication must be enabled at the SQL endpoint.
   3. The account must have appropriate permissions in the target database.

**Service Account User Permissions**

{% hint style="warning" %}
It is recommended to use a separate service account to establish the connection to the data source, configured with the following minimum set of permissions.
{% endhint %}

{% hint style="info" %}
**👨‍💻Who can provide these permissions?** These permissions are typically granted by the SAP BODS administrator, as users may not have the required access to assign them independently.
{% endhint %}

<table><thead><tr><th width="207">Operations</th><th width="340">Query</th><th>Permissions</th></tr></thead><tbody><tr><td>Validate Connection</td><td>Oracle: SELECT 'HELLO WORLD' FROM DUAL | SQL Server: SELECT 1</td><td>CONNECT + SELECT on repository database</td></tr><tr><td>List Jobs (Domains / Schemas)</td><td>SELECT J.JOB_ID, J.JOB_NAME FROM {Schema}.ALVW_JOBINFO J WHERE J.JOB_NAME &#x3C;> 'di_job_al_mach_info'</td><td>SELECT on ALVW_JOBINFO</td></tr><tr><td>List Workflows &#x26; Dataflows under Job</td><td>SELECT DESCEN_OBJ, DESCEN_OBJ_TYPE FROM {Schema}.AL_PARENT_CHILD WHERE DESCEN_OBJ_TYPE IN ('WorkFlow','DataFlow') [AND PARENT_OBJ_TYPE=?] AND PARENT_OBJ=? ORDER BY DESCEN_OBJ_KEY</td><td>SELECT on AL_PARENT_CHILD</td></tr><tr><td>Source Code – Workflow / Dataflow XML</td><td>SELECT TEXT_VALUE FROM {Schema}.AL_LANGTEXT WHERE PARENT_OBJID IN (SELECT DISTINCT PARENT_OBJ_KEY FROM {Schema}.AL_PARENT_CHILD WHERE PARENT_OBJ=?) ORDER BY SEQNUM ASC</td><td>SELECT on AL_LANGTEXT, AL_PARENT_CHILD</td></tr><tr><td>Global Variables – Job</td><td>SELECT VP_NAME, VP_DTYPE FROM {Schema}.AL_VARPARAM INNER JOIN {Schema}.ALVW_JOBINFO ON PARENT_OBJID = JOB_ID WHERE JOB_NAME = ? ORDER BY VP_SEQNUM</td><td>SELECT on AL_VARPARAM, ALVW_JOBINFO</td></tr><tr><td>Global Variables – Workflow</td><td>SELECT VP_NAME, VP_DTYPE FROM {Schema}.AL_VARPARAM INNER JOIN {Schema}.ALVW_WORKFLOWINFO ON PARENT_OBJID = WORKFLOW_ID WHERE WORKFLOW_NAME = ? ORDER BY VP_SEQNUM</td><td>SELECT on AL_VARPARAM, ALVW_WORKFLOWINFO</td></tr><tr><td>Global Variables – Dataflow</td><td>SELECT VP_NAME, VP_DTYPE FROM {Schema}.AL_VARPARAM INNER JOIN {Schema}.ALVW_DATAFLOWINFO ON PARENT_OBJID = DATAFLOW_ID WHERE DATAFLOW_NAME = ? ORDER BY VP_SEQNUM</td><td>SELECT on AL_VARPARAM, ALVW_DATAFLOWINFO</td></tr><tr><td>Direct Table/File transforms</td><td>AL_PARENT_CHILD (Table/File) + AL_COLMAP + AL_DBNAME_MAPPING</td><td>SELECT on AL_PARENT_CHILD, AL_COLMAP, AL_DBNAME_MAPPING</td></tr><tr><td>Mapping text associations</td><td>SELECT TRG_TYPE, TRG_DS, TRG_TAB_NAME, TRG_COL_NAME, MAPPING_TYPE, MAPPING_TEXT FROM {Schema}.AL_COLMAP_TEXT WHERE DF_NAME=?</td><td>SELECT on AL_COLMAP_TEXT</td></tr><tr><td>Built-in Functions</td><td>AL_PARENT_CHILD (Built In Function) + AL_LANGXMLTEXT; walks parent Workflows/Job</td><td>SELECT on AL_PARENT_CHILD, AL_LANGXMLTEXT</td></tr><tr><td>SQL transforms in Dataflow XML</td><td>Parse crawled XML (&#x3C;sql_text>). Targets via AL_COLMAP WHERE DF_NAME=? AND SRC_TAB_NAME=?</td><td>SELECT on AL_COLMAP; catalog tables must exist in OE</td></tr><tr><td>Workflow script SQL</td><td>Parse Workflow SourceCode (AlGUIComment / ui_display_name / ui_script_text)</td><td>No extra repository query beyond crawl</td></tr><tr><td>Variable substitution</td><td>Reads SourceCode ending with _variables; replaces $[var]/$var</td><td>Access to crawled SourceCode in OvalEdge</td></tr><tr><td>Repository tables (minimum) </td><td>ALVW_JOBINFO, AL_PARENT_CHILD, AL_LANGTEXT, AL_VARPARAM, ALVW_WORKFLOWINFO, ALVW_DATAFLOWINFO, AL_COLMAP, AL_COLMAP_TEXT, AL_LANGXMLTEXT, AL_DBNAME_MAPPING </td><td>SELECT on listed objects/schema </td></tr></tbody></table>

{% hint style="info" %}

* The SAP BODS service account must have SELECT permission on the configured SAP BODS repository database schema to enable metadata crawling.
* To support lineage extraction, the service account must have access to SAP BODS repository objects containing Jobs, Workflows, Dataflows, variables, SQL definitions, mapping expressions, and dataset metadata. This access enables crawling of job structures, source code, variables, table and file lineage, SQL datasets, and transformation mappings.
  {% endhint %}

## Connection Configuration Steps

{% hint style="warning" %}
Users are required to have the Connector Creator role in order to configure a new connection.
{% endhint %}

1. Log into OvalEdge, go to **Administration > Connectors**, click + **(New Connector)**, search for **SAP BODS**, and complete the required parameters.

{% hint style="info" %}
Fields marked with an asterisk (\*) are mandatory for establishing a connection.
{% endhint %}

| Field Name                 | Description                                                                                                                                                                           |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Connector Type             | By default, "SAP BODS" is displayed as the selected connector type.                                                                                                                   |
| Data Services Repository\* | <p>Select the type of database used to host the SAP BusinessObjects Data Services repository.</p><p>Supported repository databases: </p><ul><li>Oracle </li><li>SQL Server </li></ul> |

{% tabs %}
{% tab title="Oracle" %}

<table data-search="false"><thead><tr><th width="195">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Credential Manager*</td><td><p>Select the desired credentials manager from the drop-down list. Relevant parameters will be displayed based on the selection.</p><p>Supported Credential Managers:</p><ul><li>OE Credential Manager</li><li>AWS Secrets Manager</li><li>HashiCorp</li><li>Azure Key Vault</li></ul><p>For more details, click <a href="https://docs.ovaledge.com/connectors/additional-requirements/credential-manager-configuration">here</a>.</p></td></tr><tr><td>License Add Ons</td><td><p>Select the checkbox for the Auto Lineage Add-On to build data lineage automatically.</p><p>For more details, click <a href="https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/license-types-and-add-ons">here</a>.</p></td></tr><tr><td>Connector Name*</td><td><p>Enter a unique name for the SAP BODS connection              </p><p>(Example: "SAP BODS_db").</p></td></tr><tr><td>Connector Environment</td><td><p>Select the environment (Example: PROD, STG) configured for the connector.</p><p>For more details, click <a href="https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/prerequisites#connector-environment">here</a>.</p></td></tr><tr><td>Connector Description</td><td>Enter a brief description of the connector.</td></tr><tr><td>Server*</td><td>Enter the hostname or IP address of the SAP BODS repository database server that the connector uses to establish the connection (Example: bods-serxxx.xxxxany.com or 1x2.1x8.1.x0). </td></tr><tr><td>Port*</td><td>Enter the port number of the SAP BODS repository database used for the connection. By default, it is displayed as 1521.</td></tr><tr><td>Database*</td><td>Enter the Oracle SID or Service Name used by the SAP BODS repository. </td></tr><tr><td>Database Type</td><td><p>Select the Oracle database connection type to use in the JDBC connection. Select depending on how the Oracle database is configured:</p><ul><li>SID</li><li>Service Name</li></ul></td></tr><tr><td>Driver*</td><td>Displays the JDBC driver class used to connect to the SAP BODS repository. The Driver details cannot be modified.</td></tr><tr><td>Schema*</td><td>Enter the name of the SAP BusinessObjects Data Services repository schema that contains metadata tables such as ALVW_JOBINFO, AL_PARENT_CHILD, and AL_LANGTEXT. (Example: BODS_REPOSITORY). </td></tr><tr><td>Username*</td><td>Enter the SAP BODS service account username used to authenticate and connect to the SAP BODS repository database.</td></tr><tr><td>Password*</td><td>Enter the password associated with the specified SAP BODS service account username to authenticate the connection to the repository database.</td></tr><tr><td>Connection String</td><td><p>Configure the connection string for the SAP BODS:</p><ul><li>Automatic Mode: The system generates a connection string based on the provided credentials.</li><li>Manual Mode: Enter a valid connection string manually.</li></ul><p>Replace placeholders with actual database details.</p><p>{sid} refers to Database Name</p></td></tr><tr><td>Plugin Server</td><td>Enter the server’s name when running as a plugin server.</td></tr><tr><td>Plugin Port</td><td>Enter the port number on which the plugin is running.</td></tr></tbody></table>
{% endtab %}

{% tab title="SQL Server" %}

<table data-search="false"><thead><tr><th width="190">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Authentication*</td><td>Select the authentication method used to connect to the SAP BODS repository. Supported authentication types include: SQL Server Authentication, Windows Authentication, and Azure Active Directory - Password.</td></tr><tr><td>OvalEdge Installed Environment</td><td><p>Select the operating system on which the OvalEdge application or Plugin Server is installed.</p><p><strong>Note:</strong> This field appears only when the <strong>Authentication</strong> type is selected as <strong>Windows Authentication</strong>.</p></td></tr><tr><td>Credential Manager*</td><td><p>Select the desired credentials manager from the drop-down list. Relevant parameters will be displayed based on the selection.</p><p>Supported Credential Managers:</p><ul><li>OE Credential Manager</li><li>AWS Secrets Manager</li><li>HashiCorp</li><li>Azure Key Vault</li></ul><p>For more details, click <a href="https://docs.ovaledge.com/connectors/additional-requirements/credential-manager-configuration">here</a>.</p></td></tr><tr><td>License Add Ons</td><td><p>Select the checkbox for the Auto Lineage Add-On to build data lineage automatically.</p><p></p><p>For more details, click <a href="https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/license-types-and-add-ons">here</a>.</p></td></tr><tr><td>Connector Name<strong>*</strong></td><td><p>Enter a unique name for the SAP BODS connection              </p><p>(Example: "SAP BODS_db").</p></td></tr><tr><td>Connector Environment</td><td>Select the environment (Example: <strong>PROD</strong>, <strong>STG</strong>) configured for the connector.</td></tr><tr><td>Connector Description</td><td>Enter a brief description of the connector.</td></tr><tr><td>Server*</td><td>Enter the hostname or IP address of the SQL Server hosting the SAP BODS repository database.</td></tr><tr><td>Port*</td><td>Enter the SQL Server port number used for the connection. By default, <strong>1433</strong> is displayed.</td></tr><tr><td>Database*</td><td>Enter the SQL Server database name that hosts the SAP BODS repository.</td></tr><tr><td>Domain</td><td><p>Enter the qualified Microsoft SQL Server domain name. </p><p><strong>Note</strong>: This field appears only when the Authentication Type is selected as Windows Authentication and the installation environment is selected as Linux/Unix.</p></td></tr><tr><td>Driver*</td><td>Displays the JDBC driver class used to connect to the SQL Server repository. The Driver details cannot be modified.</td></tr><tr><td>Username*</td><td><p>Enter the account username used to authenticate to the SAP BODS repository database.</p><p><strong>Note:</strong> This field appears only when the <strong>Authentication</strong> type is selected as <strong>SQL Server Authentication</strong> or <strong>Azure Active Directory - Password</strong>.</p></td></tr><tr><td>Password*</td><td><p>Enter the password associated with the specified user account to authenticate the connection.</p><p><strong>Note:</strong> This field appears only when the <strong>Authentication</strong> type is selected as <strong>SQL Server Authentication</strong> or <strong>Azure Active Directory - Password</strong>.</p></td></tr><tr><td>Connection String</td><td><p>Configure the connection string for the SAP BODS:</p><ul><li><strong>Automatic Mode:</strong> The system generates a connection string based on the provided credentials.</li><li><strong>Manual Mode</strong>: Enter a valid connection string manually.</li></ul><p>Replace placeholders with actual database details.</p><p>{sid} refers to the database name</p></td></tr><tr><td>Plugin Server</td><td>Enter the server name when running the connector through a Plugin Server.</td></tr><tr><td>Plugin Port</td><td>Enter the port number on which the Plugin Server is running.</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Default Governance Roles**

<table data-header-hidden><thead><tr><th width="218"></th><th></th></tr></thead><tbody><tr><td>Default Governance Roles*</td><td>Select the appropriate users or teams for each governance role from the drop-down list. All users configured in the security settings are available for selection.</td></tr></tbody></table>

**Admin Roles**

<table data-header-hidden><thead><tr><th width="219.333251953125"></th><th></th></tr></thead><tbody><tr><td>Admin Roles*</td><td>Select one or more users from the dropdown list for Integration Admin and Security &#x26; Governance Admin. All users configured in the security settings are available for selection.</td></tr></tbody></table>

**No of Archive Objects**

<table data-header-hidden><thead><tr><th width="218"></th><th></th></tr></thead><tbody><tr><td>No Of Archive Objects*</td><td><p>This shows the number of recent metadata changes to a dataset at the source. By default, it is off. To enable it, toggle the Archive button and specify the number of objects to archive.</p><p>Example: Setting it to 4 retrieves the last four changes, displayed in the 'Version' column of the 'Metadata Changes' module.</p></td></tr></tbody></table>

**Bridge**

<table data-header-hidden><thead><tr><th width="219.3333740234375"></th><th></th></tr></thead><tbody><tr><td>Select Bridge*</td><td><p>If applicable, select the bridge from the drop-down list.</p><p>The drop-down list displays all active bridges that have been configured. These bridges facilitate communication between data sources and the system without requiring changes to firewall rules.</p></td></tr></tbody></table>

2. After entering all connection details, the following actions can be performed:
   1. Click **Validate** to verify the connection.
   2. Click **Save** to store the connection for future use.
   3. Click **Save & Configure** to apply additional settings before saving.
3. The saved connection will appear on the Connectors home page.

## Manage Connector Operations

### Crawl

{% hint style="warning" %}
To perform crawl operations, users must be assigned the Integration Admin role.
{% endhint %}

The **Crawl/Profile** button allows users to select one or more data objects for crawling.&#x20;

1. Navigate to the Connectors page and click **Crawl/Profile**.
2. Select the data objects to crawl.
3. The **Crawl** option is selected by default.
4. Click **Run** to collect metadata from the connected source and load it into the **Data Catalog**.
5. After a successful crawl, the information appears in the **Data Catalog** > **Databases/<>Codes** tab.

The **Schedule** checkbox allows automated crawling at defined intervals, from a minute to a year.

1. Click the **Schedule** checkbox to enable the **Select Period** drop-down.
2. Select a time period for the operation from the drop-down menu.
3. Click **Schedule** to initiate metadata collection from the connected source.
4. The system will automatically execute the **crawl** operation at the scheduled time.

#### Other Operations

The Connectors page provides a centralized view of all configured connectors, along with their health status.

**Managing connectors includes:**

* **Connector Health**: Displays the current status of each connector using a green icon for active connections and a red icon for inactive connections, helping to monitor the connectivity with data sources.
* **Viewing**: Click the **Eye** icon next to the connector name to view connector details.

**Nine Dots Menu Options:**

To view, edit, validate, build lineage, configure, or delete connectors, click on the Nine Dots menu.

* **Edit Connector**: Update and revalidate the data source.
* **Validate Connector**: Check the connection's integrity.
* **Settings**: Modify connector settings.
  * **Lineage**: Select server dialects for parsing and setting connector priority for table lineage.
* **Build Lineage**: Automatically build data lineage using source code parsing.
* **Delete Connector**: Remove a connector with confirmation.

For more details on connector settings, click [here](https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/connector-settings).

## Connectivity Troubleshooting

If incorrect parameters are entered, error messages may appear. Ensure all inputs are accurate to resolve these issues. If issues persist, contact the assigned support team.

<table><thead><tr><th width="86">S.No.</th><th width="190">Error Message(s)</th><th>Error Description &#x26; Resolution</th></tr></thead><tbody><tr><td>1</td><td>Authentication Error / Failed to connect to SAP BODS</td><td><p><strong>Error Description</strong>:<br>The SAP BODS connector failed to connect because one or more connection details or authentication settings are incorrect. This may occur due to an invalid server, port, database/SID, schema, credentials, repository type, or Oracle connection configuration.</p><p><strong>Resolution</strong>:</p><ul><li>Verify that the server name, port number, database/SID, schema, username, and password are correct.</li><li>Confirm that the configured Data Services Repository type (Oracle or SQL Server) matches the actual repository.</li><li>Validate that the selected authentication type is correct for the SAP BODS environment.</li><li>For Oracle repositories, ensure the connection string uses /service_name when connecting to a Service Name, and SID when connecting to a SID.</li><li>Ensure that the configured user has the required permissions to access the SAP BODS repository.</li><li>Retry the connection after updating the connection details and authentication settings.</li></ul></td></tr><tr><td>2</td><td>Login failed (SQL Server) </td><td><p><strong>Error Description:</strong><br>The SAP BODS connector validation fails because authentication to the SQL Server instance could not be completed. This issue may occur due to incorrect authentication settings, invalid credentials, or an unsupported authentication configuration.</p><p><strong>Resolution</strong>:</p><ul><li>Verify that the selected authentication method (SQL Server, Windows, or Azure AD Password) is correct.</li><li>Confirm that the configured username and password are valid.</li><li>For Windows Authentication on a Linux/Unix OvalEdge host, specify the correct Domain and set the Environment to Linux/Unix.</li><li>Verify that the JTDS connection URL is correctly configured for Windows Authentication.</li><li>Ensure that the SQL Server user account is active and has permission to access the target database.</li><li>Retry the connection after updating the authentication settings.</li></ul></td></tr><tr><td>3</td><td>No Jobs / Schemas crawled </td><td><p><strong>Error Description</strong>:<br>The SAP BODS connector completed the crawl, but no jobs or schemas were discovered. This issue typically occurs when the configured schema is incorrect, or the connector user does not have permission to access the required SAP BODS repository objects.</p><p><strong>Resolution</strong>:</p><ul><li>Verify that the configured schema points to the SAP BODS repository schema containing the ALVW_JOBINFO table.</li><li>Ensure that the connector user has SELECT permission on the ALVW_JOBINFO table.</li><li>Confirm that the repository schema contains the required SAP BODS metadata objects.</li><li>Verify that the connector is configured to connect to the correct SAP BODS repository database.</li><li>Note that the di_job_al_mach_info job is intentionally excluded from crawling and will not appear in the results.</li></ul></td></tr><tr><td>4</td><td>No Workflows or Dataflows under a Job </td><td><p><strong>Error Description</strong>:<br>The SAP BODS connector could not find any workflows or dataflows associated with the selected job. This issue typically occurs when the required parent-child relationship information is missing or inaccessible.</p><p><strong>Resolution</strong>:</p><ul><li>Verify that the AL_PARENT_CHILD table contains entries where DESCEN_OBJ_TYPE is WorkFlow or DataFlow for the selected job (PARENT_OBJ).</li><li>Ensure that the selected job contains at least one workflow or dataflow in SAP BODS.</li><li>Grant SELECT permission on the AL_PARENT_CHILD table to the configured database user.</li><li>Validate that the connector is connected to the correct SAP BODS repository.</li><li>Retry the crawl after verifying the repository metadata and required permissions.</li></ul></td></tr><tr><td>5</td><td>Source code empty for Workflow / Dataflow </td><td><p><strong>Error Description:</strong><br>The SAP BODS connector could not extract the source code for a workflow or dataflow because the required source code text is missing. As a result, lineage parsing fails for the affected workflow or dataflow.</p><p><strong>Resolution</strong>:</p><ul><li>Verify that the workflow or dataflow contains valid source code in the SAP BODS repository.</li><li>Check the AL_LANGTEXT table for the TEXT_VALUE associated with the PARENT_OBJID linked through AL_PARENT_CHILD.PARENT_OBJ_KEY.</li><li>Ensure that the TEXT_VALUE is not empty for the affected workflow or dataflow.</li><li>Update or restore the missing source code entries in the SAP BODS repository, if required.</li><li>Re-run the crawl after verifying that the workflow or dataflow source code is available.</li></ul></td></tr><tr><td>6</td><td>No SQL's are found in the Workflow script </td><td><p><strong>Error Description:</strong><br>The SAP BODS connector could not generate workflow lineage because the workflow script contains no SQL statements or the required script blocks. As a result, the connector cannot extract lineage information from the workflow.</p><p><strong>Resolution</strong>:</p><ul><li>Verify that the workflow contains SQL statements for lineage extraction.</li><li>Ensure that the workflow script includes the required AlGUIComment blocks with ui_display_name and ui_script_text, or BEGIN_SCRIPT and END sections.</li><li>Confirm that the workflow script has been exported in full and contains no missing content.</li><li>Validate that the workflow is supported for SQL-based lineage extraction.</li><li>Re-import the updated workflow and re-run the lineage process after adding the required script blocks.</li></ul></td></tr><tr><td>7</td><td>Lineage failed / No SQL and Direct transforms found </td><td><p><strong>Error Description:</strong><br>The SAP BODS lineage extraction fails because no supported SQL statements or direct transformation mappings are found in the crawled metadata. This can occur when the required mapping information is missing from the XML or the source tables are not available in the catalog.</p><p><strong>Resolution</strong>:</p><ul><li>Verify that the crawled XML contains either AL_COLMAP table/file mappings or &#x3C;sql_text> entries.</li><li>Confirm that the required metadata tables (AL_COLMAP, AL_COLMAP_TEXT, and AL_PARENT_CHILD) are available and populated.</li><li>Ensure that the source tables referenced in the data flow are cataloged in OvalEdge.</li><li>Re-crawl the SAP BODS metadata after validating the XML and mapping information.</li><li>Retry the lineage extraction after confirming that the required metadata is available.</li></ul></td></tr></tbody></table>

## FAQs

<details>

<summary>Lineage is incomplete, and tables are not linked.</summary>

Ensure that the source and target databases have been crawled into OvalEdge, verify that AL\_DBNAME\_MAPPING.DB\_NAME correctly maps to the actual schema names, and confirm that the connector priority and SQL dialect settings match the source system.

</details>

<details>

<summary>Global variables are not substituted in SQL.</summary>

Ensure that the variable source code entries (\*\_variables) are crawled from the AL\_VARPARAM tables for Jobs, Workflows, and Dataflows. Verify that variables use the supported $name or $\[name] format and that the parent Job, Workflow, or Dataflow contains the required variable definitions.

</details>

<details>

<summary>Why do files appear under the BODS_Files connection?</summary>

This behavior is expected. During lineage processing, file-type transformations create or use an NFS connection named BODS\_Files to represent file-based data sources and targets. It is not an error.

</details>

***

Copyright © 2026, OvalEdge LLC, Peachtree Corners, GA, USA.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ovaledge.com/release8.1/connectors/connector-repositories/etl-tool/sap-bods.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
