UiPath Documentation
process-mining
2023.4
false
Process Mining
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

使用 Theobald Xtract Universal 加载数据

简介​

本页面介绍了如何使用 Theobald Xtract Universal (XU) 将数据从 SAP 源系统加载到Process Mining (Automation Suite)中的流程应用程序中。有关 Theobald Xtract Universal (XU) 的更多信息,请前往Theobald 软件官方网站。

Theobald Xtract Universal 可以快速访问和提取 SAP ECC 和 SAP HANA 数据源。有关如何使用 Theobald Xtract Universal (XU) 的一般说明,请参阅官方 Theobald 软件文档 Theobald Xtract Universal 入门。

先决条件​

假设您已经:

备注:

使用 Theobald Xtract Universal 加载数据需要可以执行命令行工具 ( xu.exe ),而无需额外的身份验证。

设置 Theobald Xtract Universal​

Theobald Xtract Universal 是经过 SAP 认证的提取工具,用于从 SAP 源系统中提取数据,并通过远程函数调用 (RFC) 与 SAP 集成。Theobald Xtract Universal 包含要在 SAP 中安装的只读自定义功能模块。使用以下链接下载自定义模块:Z_THEO_READ_TABLE-transport1.zip。

备注:

许可证通过 UiPath 提供,用于 Process Mining。

请按照以下步骤设置 Theobald Xtract Universal。

  1. 从我们的网站下载 Theobald Xtract Universal 的最新试用版,请参阅下载试用版。在 Windows Server/虚拟机上安装 Theobald Xtract Universal。
  2. 检查 SAP 系统的网络访问是否已打开,请参阅SAP TCP/IP 端口。
  3. 授予 SAP 用户访问 SAP 实例的权限,请参阅授权对象 - 适用于表格的 SAP 用户权限。
  4. 需要在 SAP 中自定义 Theobald Xtract Universal 中的以下组件:Z_THEO_READ_TABLE。
  5. 为所需的应用程序模板配置 Theobald Xtract Universal。请参阅应用程序模板。
备注:

步骤 2-4 需要 SAP 团队的验证。

Setup credentials for the SQL Server database​

Uploading data to Process Mining (Automation Suite) requires access to the SQL Server database location to which the extracted data needs to be uploaded. To set up a SQL Server destination connection you need the following setup parameters to authenticate access to the SQL Server database location.

  • Server
  • Database
  • Schema
  • Role

使用 Theobald Xtract Universal 加载数据​

使用 Theobald Xtract Universal 设置数据加载需要执行多个步骤。

  1. 设置 SQL 用户以上传数据;
  2. 导入模板提取;
  3. 配置来源;
  4. 配置目标;
  5. 配置提取脚本;
  6. 运行提取脚本。

下面将详细介绍这些步骤。

设置 SQL 用户以上传数据​

每个使用通过提取程序上传数据选项的流程应用程序都需要专用的 SQL Server 用户,该用户对与流程应用程序相关联的架构拥有特定访问权限。

请执行以下步骤:

步骤操作语法
1创建登录。

需要在主数据库中创建登录名。
CREATE LOGIN <SQL_login_name> WITH PASSWORD = '<Password>'
2为登录创建数据库用户。

需要在 AutomationSuite_ProcessMining_Warehouse 数据库中创建此用户。
CREATE USER <User_name> FOR LOGIN <SQL_login_name>
3将用户分配给正确的数据库角色。SP_ADDROLEMEMBER <Role>, <User_name>
4为已创建的用户设置默认架构。

只有使用 Theobald Xtract Universal 加载数据时才需要执行此步骤。
ALTER USER <User_name> WITH DEFAULT_SCHEMA = <Schema>

导入模板提取​

请按照以下步骤在 Theobald Xtract Universal 中导入模板提取。

步骤操作
1转到“应用程序模板”页面,然后打开应用程序模板的文档页面。
2找到“使用 Theobald Xtract Universal 加载数据”部分,然后下载适用于您的应用程序模板的 XU_template_extractions_as.zip 文件。请参阅应用程序模板。 此 XU_template_extractions_as.zip 文件包含文件夹 destinations、extractions 和 sources。
3将下载的XU_template_extractions_as.zip文件中的文件夹复制到 Xtract Universal 的config文件夹。 此文件夹的位置为[XU_installation_path] /config。
4打开 Xtract Universal 设计器,然后单击其中的刷新按钮以加载所有提取内容。
备注:

您可以使用默认用户登录。

系统将显示所有提取内容的列表,每个提取内容从 SAP 系统中提取一个表格。模板源名为SAP ,模板目标名为SQL Server 。

配置源​

请按照以下步骤在 Theobald Xtract Universal 中配置 SAP 源。

步骤操作
1转到“服务器 - 管理来源” ,然后编辑 SAP 来源。
2填写常规和身份验证选项卡上的设置以连接到 SAP 系统。
3测试连接。

配置目标​

请按照以下步骤在 Theobald Xtract Universal 中配置 SQL Server 目标。

  1. 转到“服务器 - 管理目标” ,然后编辑 SQL Server 目标。
  2. 填写设置以连接到 SQL Server 目标。

有关更多信息,请参阅检索 SQL Server 数据库参数。

配置提取脚本​

请按照以下步骤配置提取脚本。

步骤操作
1转到“应用程序模板”页面,然后打开应用程序模板的文档页面。
2找到“使用 Theobald Xtract Universal 加载数据”部分,然后下载应用程序模板的extract_theobald_as.zip文件。此extract_theobald_as.zip文件包含extract_theobald.ps1脚本和config.json文件。
3在安装了 Theobald Xtract Universal 的服务器上解压extract_theobald_as.zip文件的内容。
4在config.json中配置脚本的变量,如下所示。
变量描述
xu_locationXtract Universal 安装文件夹。您可以在其中找到 xu.exe 文件夹。例如:C:\MyFolder。
xu_server安装 Xtract Universal 的服务器的地址。 默认值为localhost 。
xu_port安装 Xtract Universal 的服务器的端口。 安装的默认端口为8065 。
as_serverURL 中表示创建应用程序的服务器的部分。请参阅检索 SQL Server 数据库参数。
as_organizationURL 中用于表示已创建应用程序的组织的部分。请参阅检索 SQL Server 数据库参数。
as_tenantURL 中用于表示已创建应用程序的租户的部分。请参阅检索 SQL Server 数据库参数。
as_app_ID已创建应用程序的应用程序 ID。
extraction_start_date用于限制提取的开始日期。 仅在此日期筛选应用了日期筛选器的表格。 格式为 YYYYMMDD。 默认情况下无限制,开始日期 19700101指示。

extraction_start_date 必须具有值。
extraction_end_date用于限制提取的结束日期。 仅在此日期筛选应用了日期筛选器的表格。 格式为 YYYYMMDD。 默认情况下,结束日期 20991231指示无限制。

extraction_end_date 必须具有值。
language从源系统中提取数据所用的语言。 默认为 E。
exchange_rate_type用于货币转换的汇率类型。 默认为 M。

运行提取脚本​

要加载数据并将其上传以在 Process Mining 中使用,您必须运行 extract_theobald.ps1 文件。

此任务花费的时间在很大程度上取决于加载的数据量。

手动启动文件​

请按照此步骤开始数据运行。

步骤操作
1运行 extract_theobald.ps1 文件以开始数据运行。

数据运行还会创建一个日志文件,如果出现意外结果或使用数据上传器上传数据失败,该文件可以提供帮助。文件 extraction.log 包含上次数据运行的日志。对于每个失败的提取,系统会显示返回代码。有关更多信息,请参阅 Theobald 软件官方文档通过命令行调用。如果设置不正确,则会在错误消息中提及。

为数据运行计划任务​

除了手动运行文件外,您还可以使用 Windows 任务计划程序来计划任务,该任务会运行批处理脚本以实现自动数据刷新。

备注:

在 Windows 计划程序中创建任务时,建议选择本地系统用户帐户来运行任务,并在“创建任务”窗口中选择“以最高优先级运行”。

重要提示:

如果您添加没有可用数据的间隔,仪表板将显示错误消息。

成功提取后,由于提取了错误的数据,数据提取可能会失败。您可以使用 WHERE 语句使用 Theobald Xtract Universal 筛选出此数据。有关 WHERE 语句的更多信息,请参阅 Theobald 官方文档。

备注:

如果您的 WHERE 子句使用变量(例如提取日期),则无法通过用户界面进行筛选。

故障排除​

数据运行还会创建一个日志文件,如果出现意外结果或使用数据上传器上传数据失败,该文件可以提供帮助。文件 extraction.log 包含上次数据运行的日志。对于每个失败的提取,系统会显示返回代码。有关更多信息,请参阅 Theobald 软件官方文档通过命令行调用。如果设置不正确,则会在错误消息中提及。

针对非 HANA 系统的 CDPOS 的提取问题​

在某些较旧的非 HANA 系统中,CDPOS 是集群表,可能会导致“与池表联接”错误,如下所示。

默认情况下, CDPOS表的提取包括与CDHDR表的联接,以限制需要提取的记录数。 请按照以下步骤解决此错误。

  1. 在 Xtract Universal Designer 中编辑 CDPOS 提取,以从表格中删除 CDHDR。

  2. 将CDHDR~UDATE between @extraction_start_date and @extraction_end_date替换为:

    CHANGENR between @CHANGENR_min and @CHANGENR_max

  3. 在 extract_theobald.ps1中,将 &"$xu_location\xu.exe" -s "$xu_server" -p "$xu_port" -n "CDPOS" -o "extraction_start_date=$extraction_start_date" -o "extraction_end_date=$extraction_end_date" 替换为下面显示的代码。

&"$xu_location\xu.exe" -s "$xu_server" -p "$xu_port" -n "CDHDR_CSV" -o "extraction_start_date=$extraction_start_date" -o "extraction_end_date=$extraction_end_date"
CheckExtractionError('CDHDR_CSV')
$CDHDR = Import-Csv -Path "$xu_location\<app_template_specific>output\CDHDR_CSV.csv" -Delimiter "`t"
$CDHDR_sorted = $CDHDR | Sort-Object -Property CHANGENR
$CHANGENR_min=$CDHDR_sorted.GetValue(0).CHANGENR
$CHANGENR_max=$CDHDR_sorted.GetValue($CDHDR_sorted.Count-1).CHANGENR
&"$xu_location\xu.exe" -s "$xu_server" -p "$xu_port" -n "CDPOS" -o "CHANGENR_min=$CHANGENR_min" -o "CHANGENR_max=$CHANGENR_max"
&"$xu_location\xu.exe" -s "$xu_server" -p "$xu_port" -n "CDHDR_CSV" -o "extraction_start_date=$extraction_start_date" -o "extraction_end_date=$extraction_end_date"
CheckExtractionError('CDHDR_CSV')
$CDHDR = Import-Csv -Path "$xu_location\<app_template_specific>output\CDHDR_CSV.csv" -Delimiter "`t"
$CDHDR_sorted = $CDHDR | Sort-Object -Property CHANGENR
$CHANGENR_min=$CDHDR_sorted.GetValue(0).CHANGENR
$CHANGENR_max=$CDHDR_sorted.GetValue($CDHDR_sorted.Count-1).CHANGENR
&"$xu_location\xu.exe" -s "$xu_server" -p "$xu_port" -n "CDPOS" -o "CHANGENR_min=$CHANGENR_min" -o "CHANGENR_max=$CHANGENR_max"
备注:

这是一个一般示例,表格名称可以与应用程序模板的不同。

备注:

将输出文件夹 <app_template_specific>替换为在 extract_theobald.ps1 中为您指定的应用程序模板的输出文件夹。

其他提取问题​

解析错误​

当提取由于解析错误(例如Unexpected ')' )而失败时,请检查失败的提取的WHERE子句。确保中括号的间距及其中的值正确无误。格式不一致可能会导致出现解析问题。

例如, name in ('a', ‘b', ‘c’)应更新为name in ( ‘a’, ‘b’, ‘c’ ) )。

更正WHERE子句并保存提取后,再次运行。

元数据​

在提取过程中,您可能会遇到意外错误。 例如:

23,O2C_VBAK,2023-05-16_08:46:54.984,4,FinishedErrors,Error,LiveDataExtraction,Theobald.Extractors.Table.TheoReadTableException: Length of the field VBTYP not valid. Given length is 000002 . Length in SAP is 000008
23,O2C_VBAK,2023-05-16_08:46:54.984,4,FinishedErrors,Error,LiveDataExtraction,Theobald.Extractors.Table.TheoReadTableException: Length of the field VBTYP not valid. Given length is 000002 . Length in SAP is 000008

这可能是由于模板提取中定义的属性与您的 SAP 系统不匹配所致。

在 Theobald Xtract Universal 中,选择“刷新元数据”按钮以更新元数据属性,以反映您的 SAP 系统,并检查问题是否已解决。

增量提取问题​

如果您在 Theobald Xtract Universal 中遇到增量提取问题,可以通过打开提取并选择“删除 UTC 资源”来重置增量设置。

这将删除上次成功提取的记录。下次运行提取时,它将执行表格的完整加载。后续提取将再次以增量方式运行。

修改提取配置(例如,添加新字段)时,您也可以使用此选项。

超时问题​

在提取期间,您可能会遇到超时问题。请参阅官方SAP 文档,查看可用的超时参数。

复制密钥​

使用 Theobald Xtract Universal 上传数据时,可能会出现以下错误消息:

可能的原因

提取中不会检索用于表格主键的字段。

解决方案

要解决此问题,您需要检查提取过程中是否检索到了用于表格主键的所有字段。

下图显示了EKKN表中的示例。 此表格的主键不完整,因为未检索到字段ZEKKN 。 可以通过确保在提取中也使用此字段来解决此问题。

提示:

SAP 表中的主键可以通过字段名称前面显示的键符号来识别。

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新