
## What does Atlan crawl from SAP S/4HANA?

URL: https://docs.atlan.com/apps/connectors/erp/sap-s4hana/references/what-does-atlan-crawl-from-sap-s4hana

> What does Atlan crawl from SAP S/4HANA?

# What does Atlan crawl from SAP S/4HANA?

Atlan integrates with SAP S/4HANA to crawl and map various asset types, helping you gain insights into structured business data. This page outlines the SAP S/4HANA components that Atlan supports and how their properties are mapped.

## Lineage

Atlan supports the following lineage in SAP S/4HANA:

- **Asset lineage:**
 - Tracks relationships from Tables to Views.
 - Tracks relationships from Tables, Views and CDS Views to CDS Views.
 - Tracks relationships from CDS Views to Fiori apps.
- **Column-level lineage:**
 - Tracks mappings from Table Columns to View Columns.
 - Tracks mappings from Table Columns, View Columns and CDS Columns to CDS Columns.

## Table relationships

Beyond lineage, Atlan captures the relationships that SAP declares between tables in the ABAP Dictionary. Each SAP table asset lists its related tables under the `sapErpRelatedTables` attribute, letting you move from a transactional table to the master data and text tables it depends on.

Atlan derives related tables from three ABAP Dictionary relationship types:

| Relationship type | What it captures | Example |
| --- | --- | --- |
| Check table | A column validates its values using a master or value table. | The material number column in a plant data table checks the material master table, so the material master appears as a related table. |
| Foreign key | A foreign key that SAP declares between two tables. | A plant data table declares a foreign key to the plant master table. |
| Text table | The table that holds language-dependent descriptions for a base table. | The material description table is the text table for the material master, so it appears as a related table of the material master. |

Keep the following in mind when you work with table relationships:

- **Relationships are bidirectional.** Atlan stores each relationship once, and both tables show the other as a related table. You don't need to crawl the tables in a particular order.
- **Atlan only links tables it has crawled.** If a related table falls outside your component filters or selected asset types, Atlan omits that relationship rather than creating a link to an asset that doesn't exist in your catalog.
- **Relationships apply to tables only.** Views and CDS views don't carry related tables.

## Assets

Atlan extracts metadata from SAP S/4HANA across different asset types, including:

- **[Components](#components):** Software modules providing specific functionalities.
- **[Tables](#tables):** Structured storage for master data, transactions, and configurations.
- **[Views](#views):** Logical representations of data for efficient access.
- **[CDS views](#cds-views):** Virtual data models in SAP S/4HANA that define and consume structured data efficiently.
- **[Columns](#columns):** Data attributes within tables and views.
- **[ABAP programs](#abap-programs):** Custom scripts written for automation and processing.
- **[Function modules](#function-modules):** Reusable logic blocks for ABAP programs and remote function calls.
- **[Transaction Codes](#transaction-codes):** Shortcuts for executing SAP functions.
- **[Fiori apps](#fiori-apps):** SAP Fiori user-facing applications that consume OData services backed by CDS views.
- **[Classes](#classes):** Groups of customer-defined characteristics used to classify master data.
- **[Characteristics](#characteristics):** Typed attribute definitions that belong to a class.

The following sections detail how each asset type is mapped in Atlan.

### Components

SAP S/4HANA components are modular software units that deliver specific business functions. These components form the foundation of SAP's enterprise applications, enabling functionalities such as finance, logistics, and human resources. Atlan maps Components from SAP S/4HANA to its `SapErpComponent` asset type.

| Source property | Atlan property |
| --- | --- |
| `TEXT` | `name` |
| `NAME` | `sapComponentName` |

### Tables

Tables in SAP S/4HANA store structured business data, including master records, transactional details, and configuration settings. These tables form the foundation of SAP's data storage and retrieval system. Atlan maps Table from SAP S/4HANA to its `SapErpTable` asset type.

| Source property | Atlan property |
| --- | --- |
| `TABNAME` | `name` |
| `DDTEXT` | `description` |
| `TABCLASS` | `sapErpTableType` |
| `DEVCLASS` | `sapPackageName` |
| `Column Count` | `sapFieldCount` |
| `CONTFLAG` | `sapErpTableDeliveryClass` |
| `AS4USER` | `sourceUpdatedBy` |
| `AS4DATE` | `sourceUpdatedAt` |
| `CHECKTABLE` | `sapErpRelatedTables` |

For details on how Atlan derives `sapErpRelatedTables`, see [Table relationships](#table-relationships).

### Views

Views provide a logical representation of data by combining information from one or more tables. They simplify data access and reporting by allowing users to work with pre-defined, structured datasets. Atlan maps View from SAP S/4HANA to its `SapErpView` asset type.

| Source property | Atlan property |
| --- | --- |
| `VIEWNAME` | `name` |
| `DDTEXT` | `description` |
| `VIEWCLASS` | `sapErpViewType` |
| `DEVCLASS` | `sapPackageName` |
| `Column Count` | `sapFieldCount` |
| `AS4USER` | `sourceUpdatedBy` |
| `AS4DATE` | `sourceUpdatedAt` |

### CDS views

CDS (Core Data Services) views in SAP S/4HANA are virtual data models that define and consume structured data efficiently. Atlan maps CDS View from SAP S/4HANA to its `SapErpCdsView` asset type.

| Source property | Atlan property |
| --- | --- |
| `DDLNAME` | `name` |
| `DDTEXT` | `description` |
| `DEVCLASS` | `sapPackageName` |
| `Column Count` | `sapFieldCount` |
| `PS_POSID` | `sapComponentName` |
| `AS4DATE` | `sourceUpdatedAt` |
| `AS4USER` | `sourceUpdatedBy` |

### Columns

Columns define individual data attributes within tables and views. Each column has a specific data type, length, and constraints, ensuring accurate data representation and integrity. Atlan maps Column from SAP S/4HANA to its `SapErpColumn` asset type.

| Source property | Atlan property |
| --- | --- |
| `FIELDNAME` | `name` |
| `TABNAME` | `sapErpTableName or sapErpViewName` |
| `ROLLNAME` | `sapErpColumnDataElement` |
| `DATATYPE` | `sapDataType` |
| `INTTYPE` | `sapErpColumnLogicalDataType` |
| `LENG` | `sapErpColumnLength` |
| `DECIMALS` | `sapErpColumnDecimals` |
| `KEYFLAG` | `sapErpColumnIsPrimary` |
| `CHECKTABLE` | `sapErpColumnIsForeign` |
| `NOTNULL` | `sapErpColumnIsMandatory` |
| `DEVCLASS` | `sapPackageName` |
| `POSITION` | `sapFieldOrder` |

### ABAP programs

Advanced Business Application Programming (ABAP) programs are scripts used to automate processes, manipulate data, and extend SAP functionalities. These programs are written in SAP's proprietary programming language. Atlan maps ABAP Programs from SAP S/4HANA to its `SapErpAbapProgram` asset type.

| Source property | Atlan property |
| --- | --- |
| `PROGNAME` | `name` |
| `TEXT` | `description` |
| `SUBC` | `sapErpAbapProgramType` |
| `DEVCLASS` | `sapPackageName` |
| `CNAM` | `sourceCreatedBy` |
| `CDAT` | `sourceCreatedAt` |
| `UNAM` | `sourceUpdatedBy` |
| `UDAT` | `sourceUpdatedAt` |

### Function modules

Function modules are reusable code blocks that perform predefined operations in SAP S/4HANA. They can be called within ABAP programs or accessed remotely to execute business logic efficiently. Atlan maps Function Modules from SAP S/4HANA to its `SapErpFunctionModule` asset type.

| Source property | Atlan property |
| --- | --- |
| `FUNCNAME` | `name` |
| `STEXT` | `description` |
| `FUNC_GROUP` | `sapErpFunctionModuleGroup` |
| Import Parameters | `sapErpFunctionModuleImportParams` |
| Import Parameters Count | `sapErpFunctionModuleImportParamsCount` |
| Export Parameters | `sapErpFunctionModuleExportParams` |
| Export Parameters Count | `sapErpFunctionModuleExportParamsCount` |
| Exception List | `sapErpFunctionExceptionList` |
| Exception List Count | `sapErpFunctionExceptionListCount` |
| `DEVCLASS` | `sapPackageName` |

### Transaction codes

Transaction codes (T-codes) provide quick access to specific SAP functions or screens. Users enter T-codes in the SAP command field to navigate directly to related operations, improving workflow efficiency. Atlan maps Transaction Code from SAP S/4HANA to its `SapErpTransactionCode` asset type.

| Source property | Atlan property |
| --- | --- |
| `FUNCNAME` | `name` |
| `STEXT` | `description` |
| `DEVCLASS` | `sapPackageName` |

### Fiori apps

SAP Fiori apps are the user-facing applications that end users launch from the SAP Fiori launchpad. Atlan catalogs each Fiori app and its lineage to the CDS views it depends on, giving you visibility into which business data each app surfaces. Atlan maps Fiori App from SAP S/4HANA to its `SapErpFioriApp` asset type.

| Source property | Atlan property |
| --- | --- |
| `O2APPLT-TEXT` | `name` |
| `sap.app.id` | `sapTechnicalName` |
| `sap.app.type` | `sapErpFioriAppType` |
| `sap.fiori.archeType` | `sapErpFioriAppArcheType` |
| `sap.fiori.registrationIds` | `assetSourceId` |
| Derived | `sapErpFioriAppIsCustom` |
| `O2APPL-APPLNAME` | `sapErpFioriAppBspApplication` |
| `sap.app.dataSources.mainService.uri` | `sapErpFioriAppOdataServiceUri` |
| `sap.app.dataSources.mainService.uri` | `sapErpFioriAppOdataServiceName` |
| `sap.app.dataSources.mainService.uri` | `sapErpFioriAppOdataVersion` |
| `DEVCLASS` | `sapPackageName` |
| `PS_POSID` | `sapComponentName` |
| `AUTHOR` | `sourceUpdatedBy` |

:::note
Atlan resolves lineage to CDS views for standard Fiori apps and for custom apps whose OData service is backed by a CDS view. Custom apps whose OData service is backed by hand-written ABAP, rather than a CDS view, aren't supported for lineage: Atlan still catalogs them, but doesn't trace their lineage to underlying CDS views. These apps have `sapErpFioriAppIsCustom` set to `true`, which you can use to identify custom apps that may not carry lineage.
:::

### Classes

SAP Classification models attributes that your organization defines rather than ones SAP ships as table columns. A class groups related characteristics and declares the kind of object it applies to, such as materials or equipment. Atlan catalogs each class from SAP S/4HANA as an asset that holds its characteristics and links to the tables it classifies.

Atlan stores class assets using the `SapErpTable` type and identifies them with `assetUserDefinedType` set to `Classes`.

| Source property | Atlan property |
| --- | --- |
| `CLASS` | `name` |
| `KSCHL` | `description` |
| `KLART` with class type description | `sapErpTableType` |
| Characteristic count | `sapFieldCount` |
| `VNAME` | `sourceUpdatedBy` |
| `VDATU` | `sourceUpdatedAt` |
| Classified object tables | `sapErpRelatedTables` |

A class asset links to the tables it applies to, combining the object table its class type declares with the tables of any objects that have actually been classified. From a master data table you can therefore see both the tables SAP relates it to and the classes applied to it, listed together under related tables. Classes are labeled `Classes`, so you can tell them apart from table relationships at a glance.

### Characteristics

Characteristics are the typed attribute definitions that make up a class, each with a data type, length, and optional check table. Atlan catalogs each characteristic from SAP S/4HANA as an asset within the class it belongs to.

Atlan stores characteristic assets using the `SapErpColumn` type and identifies them with `assetUserDefinedType` set to `Characteristics`.

| Source property | Atlan property |
| --- | --- |
| `ATNAM` | `name` |
| `ATBEZ` | `description` |
| `ATFOR` with data type description | `sapDataType` |
| `ANZST` | `sapErpColumnLength` |
| `ANZDZ` | `sapErpColumnDecimals` |
| `ATERF` | `sapErpColumnIsMandatory` |
| `ATPRT` | `sapErpColumnCheckTableName` |
| `POSNR` | `sapFieldOrder` |
| `CLASS` | `sapErpTableName` |

Keep the following in mind when you work with classes and characteristics:

- **Atlan creates one characteristic asset per class.** A characteristic that belongs to three classes appears as three assets, one under each class, in the same way a column belongs to exactly one table.
- **Component filters don't apply.** SAP stores classes as customizing data rather than repository objects, so they carry no application component or package. Include and exclude component filters have no effect on classes and characteristics, and these assets carry no `sapPackageName`.
- **Atlan only links tables it has crawled.** If you select only Classes & Characteristics, Atlan creates no links to tables, because it hasn't crawled any tables to link to.

---
