What does Atlan crawl from SAP ECC?
What does Atlan crawl from SAP ECC?
Atlan integrates with SAP ECC to crawl and map various asset types, helping you gain insights into structured business data. This page outlines the SAP ECC components that Atlan supports and how their properties are mapped.
Lineage
Atlan supports the following lineage in SAP ECC:
- Asset lineage:
- Tracks relationships from Tables to Views.
- Tracks relationships from Tables to DataSources.
- Column-level lineage:
- Tracks mappings from Table Columns to View Columns.
- Tracks mappings from Table Columns to DataSource Fields.
DataSource lineage
Atlan traces DataSources back to the SAP tables they read, at both the asset and column level, so you can see which application tables feed the data your SAP BW systems and other receivers extract.
Atlan creates table lineage for the Logistics (LO) Cockpit DataSources for sales documents, deliveries, and billing documents. For other DataSources, Atlan catalogs the DataSource and its fields and links it to the ABAP program that runs the extraction, but doesn't create table lineage.
Keep the following in mind when you work with DataSource lineage:
- Atlan only links assets it has crawled in the same run. To get DataSource lineage, select Table alongside Data Source in Asset types, and make sure your component filters include the source tables. A run that crawls DataSources alone creates DataSources and their fields with no lineage.
- The link to the extractor program needs ABAP programs. Atlan links a DataSource to its extractor program only when ABAP Program is also selected in Asset types.
- Lineage stops at the DataSource. Atlan doesn't yet create lineage from a DataSource to the receiving system.
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 don't carry related tables.
Glossary
When you turn on Enable glossary ingestion in the crawler, Atlan builds a business glossary from the F1 help text that SAP ships for each data element and links the terms to the columns it crawls. Glossary ingestion is off by default. To turn it on, see Glossary ingestion.
Atlan creates the following glossary assets:
| Atlan asset | Name | What it holds |
|---|---|---|
| Glossary | SAP ECC (<connection name>), using the connection name you chose during setup | One glossary per connection, holding every category and term Atlan builds from that system. |
| Category | <component name> (<component path>), for example Material Master (LO-MD-MM) | One category per SAP application component. Categories nest along the component hierarchy, so LO-MD-MM sits under LO-MD, which sits under LO. Atlan creates the intermediate levels even when no term sits on them directly. |
| Term | <data element description> (<data element>), for example Base Unit of Measure (MEINS) | One term per data element. The description is the F1 long text, converted from SAPscript to Markdown, so headings, bullet lists, and cross-references to other SAP documentation carry over. |
Atlan maps each term from SAP ECC to its AtlasGlossaryTerm asset type.
| Source property | Atlan property |
|---|---|
DDTEXT with ROLLNAME | name |
DOKTEXT | description |
Application component NAME with PS_POSID | categories |
Keep the following in mind when you work with the glossary:
- Atlan creates a term only for a data element that a crawled table column uses. SAP documents far more data elements than any one system's tables reference. Atlan keeps only the data elements that at least one column of an active transparent, pooled, or cluster table uses, so the glossary describes fields that exist in your system.
- Each term sits in one category. A data element can appear in tables across several components. Atlan places the term under the component whose tables use it most, and prefers an application component over a cross-application (
CA) component when usage ties. - Component filters scope the glossary. When you include or exclude components, Atlan builds terms only for data elements used by tables in the components you kept, and categorizes each term under one of those components.
- Columns link to terms. Each crawled column that carries a data element (
sapErpColumnDataElement) links to that data element's term. Open a column to read its business definition, or open a term to see every column that uses it. A column links only to a term Atlan created, so a view column whose data element no crawled table uses stays unlinked. - Atlan reads the active English version of each document. SAP stores documentation per language and version. Atlan reads the current active English version and doesn't ingest other languages.
- Repeat runs update the glossary in place. Glossary, category, and term names are stable across runs, so re-running the crawler updates the existing assets rather than creating duplicates. Atlan rewrites each term's
descriptionwith the current F1 text on every run. Descriptions you add yourself in Atlan (userDescription) sit in a separate field and stay as you left them.
Assets
Atlan extracts metadata from SAP ECC across different asset types, including:
- Components: Software modules providing specific functionalities.
- Tables: Structured storage for master data, transactions, and configurations.
- Views: Logical representations of data for efficient access.
- Columns: Data attributes within tables and views.
- ABAP programs: Custom scripts written for automation and processing.
- Function modules: Reusable logic blocks for ABAP programs and remote function calls.
- Transaction Codes: Shortcuts for executing SAP functions.
- DataSources: Extractors that deliver SAP ECC data to SAP BW and other receiving systems.
- DataSource fields: Fields of the extract structure that a DataSource delivers.
- Classes: Groups of customer-defined characteristics used to classify master data.
- Characteristics: Typed attribute definitions that belong to a class.
The following sections detail how each asset type is mapped in Atlan.
Components
SAP ECC 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 ECC to its SapErpComponent asset type.
| Source property | Atlan property |
|---|---|
TEXT | name |
NAME | sapComponentName |
Tables
Tables in SAP ECC 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 ECC 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.
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 ECC to its SapErpView asset type.
| Source property | Atlan property |
|---|---|
VIEWNAME | name |
DDTEXT | description |
VIEWCLASS | sapErpViewType |
DEVCLASS | sapPackageName |
Column Count | sapFieldCount |
AS4USER | sourceUpdatedBy |
AS4DATE | sourceUpdatedAt |
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 ECC 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 |
When you enable glossary ingestion, each column that carries a data element also links to the glossary term for that data element. See Glossary.
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 ECC 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 ECC. They can be called within ABAP programs or accessed remotely to execute business logic efficiently. Atlan maps Function Modules from SAP ECC 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 ECC to its SapErpTransactionCode asset type.
| Source property | Atlan property |
|---|---|
FUNCNAME | name |
STEXT | description |
DEVCLASS | sapPackageName |
DataSources
DataSources, also called extractors, define how SAP ECC extracts data for delivery to a receiving system such as SAP BW or SAP BW/4HANA, either through the Operational Data Provisioning (ODP) framework or through classic BW staging. Atlan catalogs the DataSources that are in use, along with their fields, their source tables, and the ABAP program that runs the extraction. Atlan maps DataSource from SAP ECC to its SapErpDataSource asset type.
Atlan crawls only the DataSources that a receiving system is using, through a delta initialization or an ODP subscription.
| Source property | Atlan property |
|---|---|
OLTPSOURCE | name, sapTechnicalName |
TXTLG, falling back to TXTMD and then TXTSH | description |
TXTMD | sapLogicalName |
DEVCLASS | sapPackageName |
DEVCLASS, or APPLNM when the DataSource has no package or a local ($) package | sapComponentName |
| Field count | sapFieldCount |
TSTPDAT with TSTPTIM | sourceUpdatedAt |
TYPE | sapErpDataSourceType |
EXMETHOD | sapErpDataSourceExtractionMethod |
| Extraction method description | sapErpDataSourceExtractionMethodText |
EXSTRUCT | sapErpDataSourceExtractStructure |
EXTRACTOR | sapErpDataSourceExtractor |
Derived from EXMETHOD and EXTRACTOR | sapErpDataSourceExtractorType |
Always SAPI | sapErpDataSourceProviderContext |
LOGSYS of the logon client | sapErpDataSourceLogicalSystem |
SLOGSYS | sapErpDataSourceLogicalSystemAliases |
| Derived from the DataSource name | sapErpDataSourceIsCustom |
| Derived | sapErpDataSourceScopeReasons |
| Derived from delta initializations and ODP subscriptions | sapErpDataSourceDeliveryPath |
| Derived from ODP registrations and subscriptions | sapErpDataSourceIsOdpEnabled |
TSN_CONFIRMED or MOD_TSTMP of the latest ODP subscription | sapErpDataSourceLastConfirmedAt |
<EXSTRUCT>SETUP table | sapErpDataSourceSetupTables |
| Extractor ABAP program | sapErpDataSourceExtractorAbapPrograms |
The following attributes need some explanation:
sapErpDataSourceExtractorType: The kind of object that reads the data, one ofFM(function module),CLASS,VIEW,TABLE, orINFOSET.sapErpDataSourceIsCustom:truewhen the DataSource name starts withZ,Y, or a customer namespace, so you can tell custom DataSources apart from those SAP delivers.sapErpDataSourceDeliveryPath: How the DataSource delivers its data: through ODP, through classic BW staging, or both.sapErpDataSourceSetupTables: The setup table that an LO Cockpit DataSource fills during initialization, linked when Atlan crawled it.sapErpDataSourceExtractorAbapPrograms: The ABAP program that runs the extraction. This link shows how data is extracted, not where it comes from, so it isn't part of the lineage.
DataSource fields
DataSource fields are the columns of the extract structure that a DataSource delivers. Atlan catalogs each field within its DataSource and, where it can, links it to the table column it comes from. Atlan maps DataSource Field from SAP ECC to its SapErpDataSourceField asset type.
| Source property | Atlan property |
|---|---|
FIELD or FIELDNAME | name, sapTechnicalName |
POSITION | sapFieldOrder |
DATATYPE | sapDataType |
ROLLNAME | sapErpDataSourceFieldDataElement |
DOMNAME | sapErpDataSourceFieldDomain |
LENG | sapErpDataSourceFieldLength |
KEYFLAG_DS, falling back to KEYFLAG | sapErpDataSourceFieldIsPrimary |
OLTPSOURCE | sapErpDataSource |
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 ECC 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 ECC 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.