注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
本页面详细介绍了有关 Palantir Foundry Connector 2.0 以用于 SAP 应用程序(“Connector”)的一些常见问题。
这种方法有许多好处,包括:
SAP 认证的附加组件运行在 NetWeaver 应用服务器上,因此 NetWeaver 版本(也称为 SAP_BASIS 组件版本)最为相关。
我们推荐的最低 NetWeaver 版本如下:
如果您的主要 SAP 系统运行的 NetWeaver 应用服务器版本低于 7.4,我们有一个解决方案可以暴露 Connector 功能的子集。然而,该解决方案仍然需要一个 NetWeaver 应用服务器版本为 7.4 或更高的服务器作为网关,Foundry 将通过该网关连接到较早版本;此应用服务器可以为空或一个由更新的 SAP 系统(如 BW)使用的服务器。
如果 SAP 系统或模块运行在 NetWeaver 应用服务器上,则 Connector 将能够从中提取数据。
然而,如果 SAP 系统是基于云的(例如 SAP IBP)或不基于 NetWeaver(如 SAP Ariba),那么此 Connector 不是数据提取的合适解决方案。请联系 Palantir 支持团队以获取从这些系统中提取数据的其他选项。
SAP 认证的官方定义可在 SAP 的网站 ↗ 上找到。
附加组件的认证信息可在 SAP 的网站 ↗ 上找到。
可以的——卸载是认证过程的一部分。附加组件使用自己的命名空间,卸载时会从 SAP 系统中删除所有内容。唯一遗留的痕迹将在 SAINT
安装日志中,显示附加组件的安装和卸载时间。
Connector 设计时就将 SAP 系统负载和性能作为首要考虑因素。它提供了一种资源检查功能,旨在确保从 SAP 系统的数据复制不会危及最终用户体验或其他关键流程。
数据提取是分页的,并且在每个页面请求之前,附加组件都会评估内存使用率、CPU 使用率(系统和用户)以及运行的工作进程数量(对话和后台)。如果任何这些指标超出一组完全可配置的阈值,提取将被中止,并在资源可用性可能充足时重试。
此功能被许多大型企业在复杂的生产 SAP 系统环境中使用——在这些环境中,Connector 正在复制数十亿行数据,并且已被证明可以保护这些系统免受可能导致用户中断或其他运行中的过程的过载。
由于 Palantir 与 SAP 无关联,无法就您的 SAP 许可证提供法律建议,您需要自行负责评估您对 SAP 系统及 Connector 的现有或潜在使用范围及细节,以及它对您的 SAP 许可证和合同的影响。
根据我们的经验,通过应用层从 SAP ERP 系统定期提取数据可能被视为 SAP 所称的“间接静态读取”,在第三方非 SAP 系统中使用这些数据可能不需要获得许可。然而,用户将数据从第三方非 SAP 系统写回 SAP 时通常可能需要额外的 SAP 许可证。
如有任何顾虑,请咨询您的法律顾问和/或 SAP 代表以讨论您的 SAP 使用和许可证。
是的:从 SAP 到 Data Connection Agent 的数据传输以及从 Agent 到 Foundry 的数据传输均通过 HTTPS 进行;临时存储在 Data Connection Agent 主机上的数据是加密的。
附加组件使用四种类型的授权角色:
有关更多详细信息,请参阅 Authorization roles。
javax.net.ssl.SSLHandshakeException: PKIX path building failed
$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)"
注意,这假定 openssl
和 python3
已安装在机器上。
javax.net.ssl.SSLPeerUnverifiedException: Hostname XXXXX not verified
useLegacyHostnameVerifier: true
。从最细粒度的源数据开始,有助于确保数据集成的下游应用最灵活和有用。使用预处理数据可能看似捷径,但这样做会立即缩小未来可以解决的问题范围。
如果有现有的 BW 报告或查询要使用,一个好的模式是同时提取原始 ERP 数据和 BW 数据。
透明表、池表和聚簇表都可以从 SAP 提取。
下表显示了不同类型如何从一个系统映射到另一个系统。
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 引用) |
由于 Foundry 没有专用的 Time
数据类型(与 Date
或 Timestamp
区分开来),TIMS
类型表示为 String
。建议在 Foundry 数据变换管道的第一步中,将 TIMS
类型字段与其相应的 DATS
类型字段结合,形成新的 Date
或 Timestamp
字段。
SAP 中有几种类型的“视图”:
当在 Foundry 中针对给定的 SAP 源运行数据同步时,会发生以下步骤:
/PALANTIR/
空间中的表写入数据页面(高度压缩)。在 SAP 数据中遇到意外值 解析字段 YYY 中的值 XXX 出错
当前 CPU 用户负载(X%) 高于最大 CPU 用户参数(Y%),请增加 CPU_USER 阈值!,系统资源低于阈值。
出错:用户 XXXXX 没有足够的授权进行此服务调用。
incrementalField
字段的良好选择是什么?理想情况下,提供的增量字段应该是单调递增的值;然而,并不总是能找到这样的字段。最佳选择可能是日期字段(不带时间组件)。因此,系统使用“等于或大于”比较(而不仅仅是“大于”),以便如果前一次同步在给定日期的中途运行,也不会遗漏数据。结果,可能会在 Foundry 中的结果数据集中出现重复值。应在 Foundry 中的数据变换管道的第一步中删除这些重复值;例如,通过检查主键的重复行。有关更多详细信息,请参阅 增量更新。
SNAPSHOT
切换到 APPEND
(以开始增量数据同步)时整个表会被复制?如果数据同步以 SNAPSHOT
事务类型开始,则 Connector 不会跟踪任何增量状态。随后切换到 APPEND
将导致第一次增量同步从 SAP 系统提取所有数据,然后仅继续提取“增量”(自上次同步以来的更改)。因此,建议提前计划哪些数据同步应该是增量的,并以 APPEND
事务类型开始这些同步。
如果数据集由于从 SNAPSHOT
切换到 APPEND
而导致数据重复,请按照 重置增量同步步骤进行操作。
有三种不同的资源检查可用:
默认情况下,所有资源检查都开启并且这些资源检查是“连续”应用的,这意味着在每个页面请求之前都会进行检查,而不仅仅是在同步开始时。
要在单个数据同步级别覆盖默认行为,请在 Data Connection UI 中执行以下步骤:Extras > Resource Check / Continuous Resource Check > Off。
数据可以从以下位置提取:
在最高级别上,可以修改附加组件的内容授权角色,以防止提取整个表或对象。
在行级别限制可以提取的数据可以使用筛选器来实现,这些筛选器在数据离开 SAP 系统之前应用:
通过列限制数据提取有两种方法(如上所述的筛选方法一样,这些方法在数据离开 SAP 系统之前应用):
SAP 认证的附加组件提供了从 Foundry 调用 SAP 函数的支持。推荐使用 BAPI(业务 API)函数,因为它们具有良好定义的结构和清晰的失败消息,但附加组件支持调用任何类型的函数模块(如果需要)。
要设置数据输出,您需要创建一个 Foundry Webhook。有关更多详细信息,请参阅 Webhooks 以获取概述以及 Webhook Configuration - SAP 以获取 SAP 特定详细信息。
可以——这可以通过使用 OAuth 2.0 授权码流来支持。在此场景中,SAP 系统充当 OAuth 2.0 服务器,Foundry 充当 OAuth 2.0 客户端。当用户首次尝试从 Foundry 数据输出到 SAP 时,他们将被重定向到 SAP 系统中的授权对话框,以确认他们愿意允许 Foundry 代表他们将数据输出到 SAP。
有关更多详细信息,请参阅 用户归属的 SAP 数据输出与 OAuth 2.0。
您将获得新的支持包(SP)。请按照升级的文档说明。
没有固定的发布计划,但通常每 2-3 个月会交付一个新的支持包(SP)。
是的,但您需要启用相关的日常维护任务,因为这些任务不能由 SAINT
安装过程自动开启。有关更多详细信息,请参阅 设置和配置日常维护任务。