跳转至

Frequently asked questions(常见问题解答)

This page details some frequently asked questions about the Palantir Foundry Connector 2.0 for SAP Applications ("Connector").

Getting connected

General

Why does the Connector require an ABAP add-on installed on the SAP ABAP platform of the source SAP systems?

This approach has a number of benefits, including:

  • The ability to monitor SAP resource usage to prevent overloading the system.
  • Broader access / querying of SAP artifacts (such as views, BW InfoProviders, and BEx queries; not just raw data).
  • A rich source exploration experience in Foundry that significantly speeds up the process of finding the relevant data in SAP and allows for bulk data sync creation.
  • A wider range of support for incremental data syncs (change data capture).
  • More debugging facilities to investigate problems when data syncs fail.

Systems & versions

Which SAP systems does the Connector support?

  • SAP R/3, SAP ECC and SAP S/4HANA
  • SAP SLT Replication Server (for change data capture)
  • SAP BW (including tools such as APO)

What versions of SAP does the Connector support?

The SAP-certified add-on runs on the SAP ABAP platform (formerly known as the SAP NetWeaver Application Server), so the SAP_BASIS component version is most relevant. SAP_BASIS is the technical component version, applicable to both SAP NetWeaver and SAP S/4HANA systems. Our recommended minimum SAP_BASIS versions are as follows:

  • SAP_BASIS 7.4 SP5 or above
  • SAP_BASIS 7.5 (no minimum SP level)

These are minimum versions. The Connector supports all higher SAP_BASIS versions, including SAP S/4HANA releases based on SAP_BASIS 8.x (for example, SAP_BASIS 816).

If you plan to use SLT via OData, the OData component (PALODATA) requires SAP_BASIS 7.50 SP09 or above.

If your primary SAP system is running a SAP_BASIS version lower than 7.4, we have a solution that exposes a subset of the functionality of the Connector. However, this solution still requires a system with SAP_BASIS version 7.4 or higher to act as a gateway by which Foundry will connect with the earlier version; this application server can be empty or one in use by a newer SAP system, such as BW.

Does the Connector support SAP IBP / SAP Ariba / ... ?

If the SAP system or module runs on the SAP ABAP platform then the Connector will be able to extract data from it.

If, however, the SAP system is cloud-based (for example, SAP IBP) or is not ABAP-platform-based (such as SAP Ariba), then this Connector is not the right solution for data extraction. Contact Palantir Support about other options for extracting data from these systems.

Certification

What does “SAP-certified” actually mean?

The official definition of SAP certification is available on SAP’s site ↗.

Where can I find details of the add-on’s certification?

The add-on's certification is available on SAP's website ↗.

Uninstallation

Can the add-on be uninstalled?

Yes – uninstallation is tested as part of the certification process. The add-on uses its own namespace and uninstallation removes everything from the SAP system. The only trace left will be in the SAINT installation logs, to show when the add-on was installed and uninstalled.

Load & Performance

How can we be sure that the Connector will not overload our SAP system(s)?

The Connector was designed with SAP system load and performance as a foremost concern. It provides a resource check feature that aims to ensure that data replication from SAP systems does not put end-user experience or other critical processes at risk.

Data extraction is paginated and, prior to every page request, the add-on assesses the memory utilization, CPU utilization (both system and user), and number of running work processes (both dialog and background). If any of these metrics fall outside a set of fully configurable thresholds, extraction will be aborted and retried later when resource availability may be sufficient.

This feature is used across many large enterprises in complex production SAP system landscapes – where the Connector is replicating billions of rows of data – and has been seen to protect those systems from any excess load that may cause disruption to end-users or other running processes.

Licensing

Do we need additional SAP licenses to use the Connector?

:::callout{theme="warning" title="Warning"} As Palantir is not affiliated with SAP and cannot provide legal advice regarding your SAP license, it is your sole responsibility to assess the scope and details of your existing or potential usage of SAP systems and the Connector and its implications for your SAP licenses and contracts. :::

In our experience, scheduled extraction of data from SAP ERP systems via the application layer may be considered what SAP refers to as “indirect static read” and the usage of that data in third-party non-SAP systems may not need to be licensed. However, a user writing back data to SAP from a third-party non-SAP system may often require additional SAP licenses.

For any concerns, check with your legal counsel and/or SAP representative to discuss your SAP usage and license.

Security

Is all data encrypted in transit and at rest?

Yes: data transfer from SAP to the Data Connection agent and from the agent to Foundry is over HTTPS; the data that is temporarily staged on the Data Connection agent host machine is encrypted.

What types of authorization roles does the add-on use?

There are four types of authorization roles used by the add-on:

  • Service roles: These roles are required for the add-on to run. Do not modify these roles.
  • Content roles: These roles are required for data to be extracted from SAP systems. These roles can be modified according to business requirements by copying them.
  • Writeback roles: These roles are required if writeback to the SAP system from Foundry is enabled.
  • Monitoring and debugging roles: These roles are required to expose SAP system information to Foundry that enables remote monitoring.

For more details, see Authorization roles.

How can I address SSL issues encountered when trying to sync data to Foundry?

  • javax.net.ssl.SSLHandshakeException: PKIX path building failed
  • This means that the Data Connection agent doesn’t have sufficient information to verify that the HTTPS connection to the SAP system is valid.
  • Often, this problem can be fixed by uploading the relevant SSL certificate to the Data Connection agent’s truststore.
  • To download the SSL certificate, run the following command from the (virtual) machine where the Data Connection agent is installed (replacing $HOST and $PORT with the host and port number for the SAP system):
    openssl s_client -showcerts -servername $HOST -connect $HOST:$PORT </dev/null 2>/dev/null |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | python3 -c "from sys import stdin; text = stdin.read(); ca_cert = text.split('-----BEGIN CERTIFICATE-----')[-1][:-26]; ca_cert = ca_cert.replace('\n', ''); print('\n' + ca_cert)"
    
    Note that this assumes openssl and python3 are installed on the machine.
  • The command will output a long string representation of the SSL certificate; copy this string to your clipboard.
  • Now, navigate to the configuration page of the Data Connection agent in the Foundry UI.
  • Click on Agent Settings > Manage agent certificates > Add a new certificate.
  • Give the certificate an alias (such as the name of the SAP system it comes from) and paste the certificate from the clipboard into the box titled “pem...”.
  • Save the changes and then restart the agent.
  • javax.net.ssl.SSLPeerUnverifiedException: Hostname XXXXX not verified
  • This usually means that the certificate doesn’t have any SANs (Subject Alternative Names) configured.
  • Since use of the CN (Common Name) to verify the domain has been deprecated, we recommend that you ask the SAP Basis team (or security team) to issue a new certificate using SANs.
  • Although not recommended, for a non-production scenario, it is possible to use the following setting on the SAP source config in Foundry to turn on a legacy hostname verifier: useLegacyHostnameVerifier: true.

Data integration approach

Why should we extract data from the source ERP (as opposed to, for example, SAP BW)?

Starting with the most granular source data available helps ensure the most flexible and useful downstream applications of data integration. Using preprocessed data may appear to be a shortcut, but doing so immediately narrows the scope of problems that can be addressed in the future.

If there are existing BW reports or queries that you’d like to use, a good pattern is to extract both the raw ERP data and the BW data.

Data extraction

General

What types of tables can be extracted from SAP?

Transparent, pool, and cluster tables can all be extracted from SAP.

How are ABAP data types converted to Foundry data types when data is extracted?

The following table shows how different types are mapped from one system to another.

SAP ABAP Data Type Foundry Data Type Description
ACCP String Posting period
CHAR String Fixed-length character string
CLNT String Client field
CUKY String Currency key (referenced by CURR)
CURR Decimal Currency field
D16D Decimal Decimal floating point number saved in BCD format
D16N Decimal Decimal floating point number
D16R Decimal Decimal floating point number saved as binary number
D16S Decimal Decimal floating point number with scaling (obsolete but still used by older systems)
D34D Decimal Decimal floating point number saved in BCD format
D34N Decimal Decimal floating point number
D34R Decimal Decimal floating point number saved as binary number
D34S Decimal Decimal floating point number with scaling (obsolete but still used by older systems)
DATN Date Date in format YYYYMMDD (native HANA type DATE)
DATS Date Date values
DEC Decimal Signed, fixed-point decimal number
FLTP Double Floating-point number
INT1 Integer Very small signed, exact whole number
INT2 Integer Small signed, exact whole number
INT4 Integer Regular signed, exact whole number
LANG String Language key
LCHR String Fixed-length character string
LRAW Binary Uninterpreted varying-length byte string
NUMC String Text string
PREC String Precision of a QUAN field
QUAN Decimal Quantity of a DEC field
RAW Binary An uninterpreted byte string
RAWSTRING Binary Varying-length character string data
TIMS String* Time value
UNIT String Units key (referenced by QUAN)

:::callout{theme="neutral"} Since Foundry does not have a dedicated Time data type (distinct from Date or Timestamp), TIMS type is represented as String. It is recommended that a TIMS type field is combined with its respective DATS type field as a first step in a Foundry data transformation pipeline, to form a new Date or Timestamp field. :::

Does the Connector support extracting views?

There are several types of “view” in SAP:

  • ERP views: These can be extracted using the “ERP Table” object type; you will see “VIEW” next to the object name in the dropdown list in the sync configuration.
  • ABAP CDS views: Support for these views was added in SP21 of the add-on.
  • HANA Information views: Support for these views was added in SP22 of the add-on.

Technical details

What happens when a data sync runs in Foundry for a given SAP source?

The following steps occur when a data sync runs in Foundry for a given SAP source:

  1. The Data Connection Coordinator attempts to contact a suitable Data Connection agent to kick off the sync.
  2. The SAP plugin running on the Data Connection agent is triggered and starts the sync process.
  3. The first request to the SAP add-on is a paging initialization request, which causes the SAP add-on to query the relevant table or object and start writing pages of data (highly compressed) to a table within the /PALANTIR/ space.
  4. The subsequent requests to the SAP add-on poll for pages of data sequentially (pausing and retrying if a given page is not yet available) until the last page of data is reached – these pages of data are written as encrypted Apache Parquet files on the Data Connection agent host machine.
  5. After the last page of data is retrieved, a paging close request is sent to the SAP add-on.
  6. The Data Connection agent now proceeds to upload the Apache Parquet files to Foundry until all the data has been transferred to the target dataset.

How do I resolve the following data sync errors?

  • Unexpected value encountered in SAP data Failed to parse value XXX in field YYY
  • This can occur if a date or number value is malformed and cannot be parsed. Enable Ignore unexpected values on the sync to set unparseable values to null and continue.
  • Current CPU user load(X%) is higher than the max. CPU user parameter(Y%)., Please increase CPU_USER threshold value!, System resources are below threshold values.
  • You may see an error of this form when CPU, memory or work process resource checks fail. The problem is that the relevant system resource is insufficient based on the thresholds that have been defined to protect the system from being overloaded. Sometimes, this may be a desirable result – and the right solution is to wait until the system is less heavily loaded and retry the sync. However, it could also be the case that the resource check threshold in question is too conservative. To learn how to reconfigure the thresholds, see performance parameters.
  • ERROR : User XXXXX does not have enough authorization for this service call.
  • This error indicates that the necessary authorization roles have not been generated for the technical user being used by the SAP add-on or that the roles have not been assigned correctly. Review Authorization roles.

Change data capture

What options does the Connector provide for incremental syncs / change data capture?

  • SAP SLT Replication Server (if available)
  • Data is replicated to Foundry based on triggers in the source ERP.
  • SAP ERP or S/4HANA
  • BW Extractors (if available) can be used to replicate data to Foundry based on extractor-managed deltas.
  • The add-on also includes its own comprehensive and flexible approach to change data capture, which can be configured to work with a wide range of standard SAP tables. See incremental syncs for more details.

When setting up incremental syncs for an arbitrary table/object in SAP, what would be a good choice of field for incrementalField?

Ideally, the incremental field provided should be a monotonically increasing value; however, it is not always possible to find such a field. The best option may be a date field (with no time component). For this reason, the system uses a "greater than or equal to" comparison (as opposed to just "greater than"), so that no data is omitted if the previous sync was run midway through a given date. As a result, it is possible that duplicate values may appear in the resultant dataset in Foundry. These duplicate values should be removed as a first step in the data transformation pipeline in Foundry; for example, by checking for duplicate rows by primary key. See incremental syncs for more details.

Why is the whole table duplicated when switching from transaction type SNAPSHOT to APPEND (to start incremental data syncs)?

If a data sync starts off with the SNAPSHOT transaction type, then no incremental state is tracked by the Connector. Subsequently switching to APPEND will cause the first incremental sync to extract all the data from the SAP system before continuing only to extract the "delta" (what has changed since the previous sync). Therefore, it is advisable to plan in advance which data syncs should be incremental, and to start those with the APPEND transaction type.

If a dataset ends up in a state where data has been duplicated due to switching from SNAPSHOT to APPEND, follow the reset incremental state steps.

Resource checks

What types of resource checks are available?

There are three different resource checks available:

  • CPU_CHECK: To prevent syncs running if CPU utilization is over a given threshold
  • MEMORY_CHECK: to prevent syncs running if memory utilization is over a given threshold
  • PROCESS_CHECK: to prevent syncs running if the number of available processes is lower than a given threshold

What is the default behavior and how do I override it?

By default, all resource checks are turned on and those resource checks are applied “continuously”, meaning that a check will be made before each page is requested, not just at the beginning of the sync.

To override the default behavior on an individual data sync level, take the following steps in the Data Connection UI: Extras > Resource Check / Continuous Resource Check > Off.

SAP business warehouse (BW) features

Which SAP BW features are supported?

Data can be extracted from:

  • SAP BW InfoProviders – including DataStore Objects (DSOs), InfoCubes, and InfoObjects
  • SAP BW BEx Queries

Sensitive data

What options are available to ensure that sensitive data does not leave the SAP system without hindering extraction of required non-sensitive data?

At the highest level, the add-on’s content authorization roles can be modified to prevent extraction of entire tables or objects.

Limiting the data that can be extracted at the row level can be achieved using filters, which are applied before the data leaves the SAP system:

  • Filters can be defined in the sync configuration in the Data Connection UI in Foundry.
  • However, it is also possible to set up “prefilters” in the Connector Cockpit in the SAP system itself – these filters will be applied to a table in addition to any filters coming from Foundry, meaning they will also apply to the data previews shown in the Source Explorer and sync configuration UI. For more details, see Prefilters.

There are two methods for limiting data extraction by column (these methods, as with the filters described above, are applied before the data leaves the SAP system):

  • The sync configuration UI offers a “Drop Columns” feature to select which columns to exclude from a data extract.
  • The Connector Cockpit offers a range of encryption and data masking configurations.

Writeback

Technical details

How is writeback from Foundry to SAP facilitated?

The SAP-certified add-on provides support for calling SAP functions from Foundry. BAPI (Business API) functions are recommended for their well-defined structure and clear failure messages but the add-on supports calling any type of function module, if required.

To set up writeback, you will need to create a Foundry Webhook. For more details, see Webhooks for an overview and Webhook Configuration - SAP for SAP-specific details.

Named user attribution

Is it possible to write back to SAP from Foundry as a named user (rather than a technical user / service account)?

Yes – this is supported using the OAuth 2.0 Authorization Code flow. In this scenario, the SAP system acts as an OAuth 2.0 Server and Foundry acts as an OAuth 2.0 Client. When the user first attempts to write back to SAP from Foundry, they will be redirected to an authorization dialog in the SAP system to confirm that they are willing to permit Foundry to write back to SAP on their behalf.

See User-attributed SAP writeback with OAuth 2.0 for more details.

Connector maintenance

Upgrades

How is the SAP add-on upgraded?

You will be provided with a new support package (SP). Follow the documented instructions to upgrade.

How often are there new releases of the SAP add-on?

There is not a fixed release schedule, but a new support package (SP) is typically delivered every 2-3 months.

Housekeeping

Does the SAP add-on ensure that its log tables are truncated periodically to avoid the table space being filled up?

Yes, but you will need to enable the relevant housekeeping jobs as these cannot be turned on automatically by the SAINT installation process. For more details, see Set up and configure housekeeping jobs.


中文翻译

常见问题解答

本文详细介绍了关于 Palantir Foundry SAP 应用程序连接器 2.0(以下简称"连接器")的一些常见问题。

建立连接

通用问题

为什么连接器需要在源 SAP 系统的 SAP ABAP 平台上安装 ABAP 插件?

这种方法有许多好处,包括:

  • 能够监控 SAP 资源使用情况,防止系统过载。
  • 更广泛地访问/查询 SAP 工件(例如视图、BW InfoProvider 和 BEx 查询;而不仅仅是原始数据)。
  • 在 Foundry 中提供丰富的源探索体验,显著加快在 SAP 中查找相关数据的速度,并允许批量创建数据同步。
  • 对增量数据同步(变更数据捕获)提供更广泛的支持。
  • 提供更多调试工具,以便在数据同步失败时调查问题。

系统与版本

连接器支持哪些 SAP 系统?

  • SAP R/3、SAP ECC 和 SAP S/4HANA
  • SAP SLT 复制服务器(用于变更数据捕获)
  • SAP BW(包括 APO 等工具)

连接器支持哪些 SAP 版本?

SAP 认证插件运行在 SAP ABAP 平台(以前称为 SAP NetWeaver 应用服务器)上,因此 SAP_BASIS 组件版本最为相关。SAP_BASIS 是技术组件版本,适用于 SAP NetWeaver 和 SAP S/4HANA 系统。 我们推荐的最低 SAP_BASIS 版本如下:

  • SAP_BASIS 7.4 SP5 或更高版本
  • SAP_BASIS 7.5(无最低 SP 级别要求)

这些是最低版本。连接器支持所有更高的 SAP_BASIS 版本,包括基于 SAP_BASIS 8.x 的 SAP S/4HANA 版本(例如 SAP_BASIS 816)。

如果您计划通过 OData 使用 SLT,则 OData 组件 (PALODATA) 需要 SAP_BASIS 7.50 SP09 或更高版本。

如果您的主 SAP 系统运行的 SAP_BASIS 版本低于 7.4,我们有一个解决方案可以公开连接器的部分功能。但是,此解决方案仍然需要一个 SAP_BASIS 版本为 7.4 或更高的系统作为网关,Foundry 将通过该网关与早期版本连接;此应用服务器可以是空的,也可以由较新的 SAP 系统(例如 BW)使用。

连接器是否支持 SAP IBP / SAP Ariba / ...?

如果 SAP 系统或模块运行在 SAP ABAP 平台上,则连接器将能够从中提取数据。

但是,如果 SAP 系统是基于云的(例如 SAP IBP)或不是基于 ABAP 平台的(例如 SAP Ariba),则此连接器不是用于数据提取的正确解决方案。请联系 Palantir 支持部门,了解从这些系统提取数据的其他选项。

认证

"SAP 认证"具体意味着什么?

SAP 认证的官方定义可在 SAP 网站 ↗ 上找到。

在哪里可以找到该插件认证的详细信息?

该插件的认证信息可在 SAP 网站 ↗ 上找到。

卸载

可以卸载该插件吗?

可以——卸载是认证过程的一部分,已经过测试。该插件使用自己的命名空间,卸载会从 SAP 系统中删除所有内容。唯一留下的痕迹将是在 SAINT 安装日志中,显示该插件何时安装和卸载。

负载与性能

如何确保连接器不会使我们的 SAP 系统过载?

连接器在设计时将 SAP 系统负载和性能作为首要考虑因素。它提供了一项资源检查功能,旨在确保从 SAP 系统复制数据不会危及最终用户体验或其他关键流程。

数据提取是分页进行的,在每个页面请求之前,插件会评估内存利用率、CPU 利用率(系统和用户)以及正在运行的工作进程数(对话和后台)。如果这些指标中的任何一个超出完全可配置的阈值集,提取将被中止,并在资源可用性可能足够时稍后重试。

此功能已在许多大型企业的复杂生产 SAP 系统环境中使用——连接器在其中复制数十亿行数据——并且已被证明可以保护这些系统免受可能导致最终用户或其他正在运行的进程中断的额外负载。

许可

使用连接器是否需要额外的 SAP 许可证?

:::callout{theme="warning" title="警告"} 由于 Palantir 与 SAP 无关,并且无法就您的 SAP 许可证提供法律建议,因此您有责任评估您现有或潜在使用 SAP 系统和连接器的范围、细节及其对您的 SAP 许可证和合同的影响。 :::

根据我们的经验,通过应用层定期从 SAP ERP 系统提取数据可能被视为 SAP 所称的"间接静态读取",并且该数据在第三方非 SAP 系统中的使用可能不需要许可。但是,用户从第三方非 SAP 系统将数据写回 SAP 通常可能需要额外的 SAP 许可证。

如有任何疑问,请咨询您的法律顾问和/或 SAP 代表,讨论您的 SAP 使用情况和许可证。

安全性

所有数据在传输和存储时是否都经过加密?

是的:从 SAP 到 Data Connection 代理以及从代理到 Foundry 的数据传输均通过 HTTPS 进行;临时暂存在 Data Connection 代理主机上的数据已加密。

该插件使用哪些类型的授权角色?

该插件使用四种类型的授权角色:

  • 服务角色: 这些角色是插件运行所必需的。请勿修改这些角色。
  • 内容角色: 这些角色是从 SAP 系统提取数据所必需的。可以通过复制这些角色并根据业务需求进行修改。
  • 回写角色: 如果启用了从 Foundry 到 SAP 系统的回写,则需要这些角色。
  • 监控和调试角色: 这些角色是向 Foundry 公开 SAP 系统信息以实现远程监控所必需的。

有关更多详细信息,请参阅授权角色

如何解决尝试将数据同步到 Foundry 时遇到的 SSL 问题?

  • javax.net.ssl.SSLHandshakeException: PKIX path building failed
  • 这意味着 Data Connection 代理没有足够的信息来验证与 SAP 系统的 HTTPS 连接是否有效。
  • 通常,可以通过将相关的 SSL 证书上传到 Data Connection 代理的信任库来解决此问题。
  • 要下载 SSL 证书,请在安装 Data Connection 代理的(虚拟)机器上运行以下命令(将 $HOST$PORT 替换为 SAP 系统的主机和端口号):
    openssl s_client -showcerts -servername $HOST -connect $HOST:$PORT </dev/null 2>/dev/null |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | python3 -c "from sys import stdin; text = stdin.read(); ca_cert = text.split('-----BEGIN CERTIFICATE-----')[-1][:-26]; ca_cert = ca_cert.replace('\n', ''); print('\n' + ca_cert)"
    
    请注意,这假设机器上已安装 opensslpython3
  • 该命令将输出 SSL 证书的长字符串表示形式;将此字符串复制到剪贴板。
  • 现在,在 Foundry UI 中导航到 Data Connection 代理的配置页面。
  • 点击 代理设置 > 管理代理证书 > 添加新证书
  • 为证书指定一个别名(例如,它来自的 SAP 系统的名称),并将剪贴板中的证书粘贴到标题为"pem..."的框中。
  • 保存更改,然后重新启动代理。
  • javax.net.ssl.SSLPeerUnverifiedException: Hostname XXXXX not verified
  • 这通常意味着证书没有配置任何 SAN(主题备用名称)。
  • 由于使用 CN(通用名称)来验证域已被弃用,我们建议您要求 SAP Basis 团队(或安全团队)使用 SAN 颁发新证书。
  • 虽然不推荐,但对于非生产场景,可以在 Foundry 中的 SAP 源配置上使用以下设置来启用旧版主机名验证器:useLegacyHostnameVerifier: true

数据集成方法

为什么应该从源 ERP 提取数据(而不是从例如 SAP BW 提取)?

从最细粒度的源数据开始,有助于确保数据集成最灵活、最有用的下游应用。使用预处理数据可能看起来像是一条捷径,但这样做会立即缩小未来可以解决的问题范围。

如果您有想要使用的现有 BW 报告或查询,一个好的模式是同时提取原始 ERP 数据和 BW 数据。

数据提取

通用问题

可以从 SAP 提取哪些类型的表?

透明表、池表和簇表都可以从 SAP 中提取。

提取数据时,ABAP 数据类型如何转换为 Foundry 数据类型?

下表显示了不同类型如何从一个系统映射到另一个系统。

SAP ABAP 数据类型 Foundry 数据类型 描述
ACCP String 过账期间
CHAR String 固定长度字符串
CLNT String 客户端字段
CUKY String 货币键(由 CURR 引用)
CURR Decimal 货币字段
D16D Decimal 以 BCD 格式保存的十进制浮点数
D16N Decimal 十进制浮点数
D16R Decimal 保存为二进制数的十进制浮点数
D16S Decimal 带缩放的十进制浮点数(已过时,但旧系统仍在使用)
D34D Decimal 以 BCD 格式保存的十进制浮点数
D34N Decimal 十进制浮点数
D34R Decimal 保存为二进制数的十进制浮点数
D34S Decimal 带缩放的十进制浮点数(已过时,但旧系统仍在使用)
DATN Date 格式为 YYYYMMDD 的日期(原生 HANA 类型 DATE)
DATS Date 日期值
DEC Decimal 有符号定点十进制数
FLTP Double 浮点数
INT1 Integer 非常小的有符号精确整数
INT2 Integer 小的有符号精确整数
INT4 Integer 常规有符号精确整数
LANG String 语言键
LCHR String 固定长度字符串
LRAW Binary 未解释的可变长度字节字符串
NUMC String 文本字符串
PREC String QUAN 字段的精度
QUAN Decimal DEC 字段的数量
RAW Binary 未解释的字节字符串
RAWSTRING Binary 可变长度字符串数据
TIMS String* 时间值
UNIT String 单位键(由 QUAN 引用)

:::callout{theme="neutral"} 由于 Foundry 没有专用的 Time 数据类型(与 DateTimestamp 不同),TIMS 类型表示为 String。建议在 Foundry 数据转换管道中,将 TIMS 类型字段与其相应的 DATS 类型字段组合作为第一步,以形成新的 DateTimestamp 字段。 :::

连接器是否支持提取视图?

SAP 中有几种类型的"视图":

  • ERP 视图: 可以使用"ERP 表"对象类型提取这些视图;您将在同步配置的下拉列表中看到对象名称旁边的"VIEW"。
  • ABAP CDS 视图: 从插件的 SP21 版本开始支持这些视图。
  • HANA 信息视图: 从插件的 SP22 版本开始支持这些视图。

技术细节

在 Foundry 中为特定 SAP 源运行数据同步时会发生什么?

在 Foundry 中为特定 SAP 源运行数据同步时,会发生以下步骤:

  1. Data Connection Coordinator 尝试联系合适的 Data Connection 代理以启动同步。
  2. 在 Data Connection 代理上运行的 SAP 插件被触发并启动同步过程。
  3. 对 SAP 插件的第一个请求是分页初始化请求,这会导致 SAP 插件查询相关的表或对象,并开始将数据页(高度压缩)写入 /PALANTIR/ 空间内的表中。
  4. 对 SAP 插件的后续请求依次轮询数据页(如果特定页面尚不可用,则暂停并重试),直到到达最后一页数据——这些数据页作为加密的 Apache Parquet 文件写入 Data Connection 代理主机。
  5. 检索到最后一页数据后,向 SAP 插件发送分页关闭请求。
  6. Data Connection 代理现在开始将 Apache Parquet 文件上传到 Foundry,直到所有数据传输到目标数据集。

如何解决以下数据同步错误?

  • Unexpected value encountered in SAP data Failed to parse value XXX in field YYY
  • 如果日期或数字值格式错误且无法解析,则可能发生此错误。在同步上启用忽略意外值,将无法解析的值设置为 null 并继续。
  • Current CPU user load(X%) is higher than the max. CPU user parameter(Y%)., Please increase CPU_USER threshold value!, System resources are below threshold values.
  • 当 CPU、内存或工作进程资源检查失败时,您可能会看到此形式的错误。问题是,根据为保护系统免受过载而定义的阈值,相关系统资源不足。有时,这可能是期望的结果——正确的解决方案是等待系统负载减轻并重试同步。但是,也可能是相关的资源检查阈值过于保守。要了解如何重新配置阈值,请参阅性能参数
  • ERROR : User XXXXX does not have enough authorization for this service call.
  • 此错误表明尚未为 SAP 插件使用的技术用户生成必要的授权角色,或者角色分配不正确。请查看授权角色

变更数据捕获

连接器为增量同步/变更数据捕获提供了哪些选项?

  • SAP SLT 复制服务器(如果可用)
  • 基于源 ERP 中的触发器将数据复制到 Foundry。
  • SAP ERP 或 S/4HANA
  • BW 提取器(如果可用)可用于基于提取器管理的增量将数据复制到 Foundry。
  • 该插件还包括自己全面且灵活的变更数据捕获方法,可以配置为与各种标准 SAP 表一起使用。有关更多详细信息,请参阅增量同步

为 SAP 中的任意表/对象设置增量同步时,incrementalField 字段应如何选择?

理想情况下,提供的增量字段应该是单调递增的值;但是,并不总是能找到这样的字段。最佳选择可能是日期字段(没有时间组件)。因此,系统使用"大于或等于"比较(而不仅仅是"大于"),这样如果前一次同步在某个日期的中间运行,则不会遗漏任何数据。因此,在 Foundry 的结果数据集中可能会出现重复值。这些重复值应在 Foundry 的数据转换管道中作为第一步删除;例如,通过主键检查重复行。有关更多详细信息,请参阅增量同步

从事务类型 SNAPSHOT 切换到 APPEND(以开始增量数据同步)时,为什么整个表会重复?

如果数据同步以 SNAPSHOT 事务类型开始,则连接器不会跟踪增量状态。随后切换到 APPEND 将导致第一次增量同步从 SAP 系统提取所有数据,然后才继续仅提取"增量"(自上次同步以来发生的变化)。因此,建议提前规划哪些数据同步应该是增量的,并以 APPEND 事务类型开始这些同步。

如果数据集由于从 SNAPSHOT 切换到 APPEND 而导致数据重复,请按照重置增量状态步骤操作。

资源检查

有哪些类型的资源检查可用?

有三种不同的资源检查可用:

  • CPU_CHECK: 如果 CPU 利用率超过给定阈值,则阻止同步运行
  • MEMORY_CHECK: 如果内存利用率超过给定阈值,则阻止同步运行
  • PROCESS_CHECK: 如果可用进程数低于给定阈值,则阻止同步运行

默认行为是什么?如何覆盖它?

默认情况下,所有资源检查都处于开启状态,并且这些资源检查是"持续"应用的,这意味着在请求每个页面之前都会进行检查,而不仅仅是在同步开始时。

要在单个数据同步级别覆盖默认行为,请在 Data Connection UI 中执行以下步骤:额外 > 资源检查 / 持续资源检查 > 关闭

SAP 业务仓库(BW)功能

支持哪些 SAP BW 功能?

可以从以下对象提取数据:

  • SAP BW InfoProvider——包括 DataStore 对象(DSO)、InfoCube 和 InfoObject
  • SAP BW BEx 查询

敏感数据

有哪些选项可以确保敏感数据不会离开 SAP 系统,同时又不妨碍提取所需的非敏感数据?

在最高级别,可以修改插件的内容授权角色,以防止提取整个表或对象。

可以使用过滤器在行级别限制可以提取的数据,这些过滤器在数据离开 SAP 系统之前应用:

  • 可以在 Foundry 的 Data Connection UI 中的同步配置中定义过滤器。
  • 但是,也可以在 SAP 系统本身的连接器驾驶舱中设置"预过滤器"——这些过滤器将除了来自 Foundry 的任何过滤器之外应用于表,这意味着它们也将应用于源浏览器和同步配置 UI 中显示的数据预览。有关更多详细信息,请参阅预过滤器

有两种方法可以按列限制数据提取(这些方法,与上述过滤器一样,在数据离开 SAP 系统之前应用):

  • 同步配置 UI 提供了一个"删除列"功能,用于选择要从数据提取中排除的列。
  • 连接器驾驶舱提供了一系列加密和数据脱敏配置。

回写

技术细节

如何实现从 Foundry 到 SAP 的回写?

SAP 认证插件支持从 Foundry 调用 SAP 函数。推荐使用 BAPI(业务 API)函数,因为它们结构清晰且失败消息明确,但如有需要,该插件支持调用任何类型的函数模块。

要设置回写,您需要创建一个 Foundry Webhook。有关概述,请参阅 Webhooks;有关 SAP 特定的详细信息,请参阅 Webhook 配置 - SAP

命名用户归属

是否可以从 Foundry 以命名用户(而非技术用户/服务账户)身份回写到 SAP?

可以——这通过 OAuth 2.0 授权码流程得到支持。在此场景中,SAP 系统充当 OAuth 2.0 服务器,Foundry 充当 OAuth 2.0 客户端。当用户首次尝试从 Foundry 回写到 SAP 时,他们将被重定向到 SAP 系统中的授权对话框,以确认他们愿意允许 Foundry 代表他们回写到 SAP。

有关更多详细信息,请参阅使用 OAuth 2.0 的用户归属 SAP 回写

连接器维护

升级

如何升级 SAP 插件?

您将获得一个新的支持包(SP)。请按照记录的升级说明进行操作。

SAP 插件多久发布一次新版本?

没有固定的发布计划,但通常每 2-3 个月交付一个新的支持包(SP)。

日常维护

SAP 插件是否确保其日志表定期截断,以避免表空间被填满?

是的,但您需要启用相关的日常维护作业,因为这些作业无法通过 SAINT 安装过程自动开启。有关更多详细信息,请参阅设置和配置日常维护作业