SAP ERP 数据源

Google Cloud Cortex Framework 数据基础层(适用于 SAP ERP)需要 连接到源系统原始数据。SAP ECC 和 SAP S/4HANA 均受支持。

在部署 Cortex Framework 内容之前,必须将相关的 SAP ERP 表复制到 BigQuery 中。您可以通过 将数据放入专用的 原始层 数据集 以进行变更数据捕获 (CDC) 处理,或者使用已建立的 CDC 流水线直接向数据基础层馈送数据来实现此目的。如需了解详情,请参阅 复制 SAP ERP 数据的技术要求

您可以使用任意复制工具,前提是该工具能够以原始表格式将数据复制到 BigQuery。例如, Google Cloud 解决方案包括 BigQuery Connector for SAP(需要 SAP SLT),BigQuery Toolkit for SAP

为确保从 SAP ERP 复制的原始数据集与 Cortex Framework 数据基础层之间的兼容性,请确保满足以下要求。

复制 SAP ERP 数据的技术要求

请务必查看并满足以下技术要求,以便将 SAP 数据复制到 BigQuery 中的 Cortex Framework。

  1. 原始数据结构:来自 ECC 或 S/4HANA 的数据应以与 SAP 中的基本表相同的结构放入 BigQuery 中 ,且不进行业务转换。必须使用 SAP 中存在的所需字段名称、类型和粒度复制表。

  2. 表配置:要转换的表列表在 table_settings.yaml 文件(位于 config/cortex/data_foundation/sap 下)中定义。如果在部署期间缺少必需的表,则依赖于该表的特定数据产品将失败。

  3. 元数据要求:您必须从 SAP 来源复制表 DD03L。此表对于依赖项解析器至关重要,因为它包含字段元数据和键。

  4. 大小写:BigQuery 中复制的 SAP 表的名称 必须采用小写形式,以确保 Cortex Framework 数据模型 的兼容性(例如, SAP 表 MARA 在 BigQuery 中变为 mara)。

  5. 对象名称(列)和特殊字符:对于包含特殊字符(如 /- 或前导下划线 _)的对象名称(列),Cortex 期望采用通用清理模式:

    • 所有非字母数字字符都将替换为下划线 _
    • 不允许使用前导下划线和数字。例如,/GOOG/TEST 变为 goog_test_DATAAGING 变为 dataaging。如果您的复制工具保留了前导下划线,则需要在数据基础层中执行规范化步骤(别名)。
  6. 数据传播字段:为支持 CDC(变更数据捕获)和 数据传播,复制的 SAP 表需要具有:

    • 一个名为 operation_flag 的操作标志(L = 初始加载,I = 插入,U = 更新,D = 删除)。
    • 一个名为 recordstamp 的时间戳(在加载时填充当前时间戳)。
    • 可选:在 复制的 _DS_RAW 表中选择一个额外的字段 is_deleted (BOOLEAN)(在初始加载时默认为 false)。Cortex 生成的运行时视图会引用此列,但如果复制工具不生成此列,则可以在执行之前从 CDC 和视图模板中移除此列。
  7. 数据类型:SAP 数据类型与 BigQuery 数据类型之间的必要映射,以确保兼容性:

    标准操作所必需的

    数据类型 SAP 数据类型 BigQuery 说明
    DATS DATE 日期数据类型
    TIMS TIME 时间数据类型
  8. 强烈建议使用,以确保准确性和兼容性

    • CURR(货币)和 QUAN(数量)映射到 NUMERICBIGNUMERIC(避免使用 FLOAT64,以防止 财务计算中出现舍入错误)。
    • NUMC (数字字符)映射到 STRING(保留文档编号和商品编号的前导零,确保联接成功)。
  9. 载荷压缩:为防止 BigQuery 中的空 SAP 列(初始值 (如空格或零))填充 NULL,请确保在连接器 配置中停用载荷压缩(或启用“发送未压缩”)。这样可确保空字符串或零在目标中保留原样,而不是默认为 NULL