简介
本教程将创建 Oracle Integration Cloud (OIC) 集成,以使用 HCM 数据加载程序 (HDL) 将数据上载到 Oracle HCM Cloud。源文件从 FTP 服务器读取,解密,解压缩,转换为 HDL 业务对象文件配置,然后压缩,加密并上载到 Oracle WebCenter。最后,启动 HCM 数据加载程序以导入和加载文件中的数据。
本教程中提供的步骤可用于使用 HDL 的任何入站集成。使用提供的文件完成步骤以创建“新聘人员”集成。
目标
在本教程中,您将学习如何:
- 解密和解压缩 FTP 服务器上托管的源文件。
- 将源数据转换为 HDL 业务对象文件配置。
- 压缩、加密转换后的文件并将其上载到 Oracle WebCenter。
- 启动 HCM 数据加载程序。
先决条件
要完成本教程中的步骤,您需要访问以下内容:
- Oracle Integration Cloud (OIC) 用于创建此集成。
- 用于托管源文件的 FTP 服务器。
- 用于加密源文件的 PGP 加密密钥对。
- 用于创建用户帐户的安全控制台。
您还需要完成以下集成设置任务:
- 生成 fusion-key PGP 证书并下载公钥。
- 完成在 Oracle Integration Cloud (OIC) 中设置 HCM 数据加载程序 (HDL) 集成的任务教程中的步骤,该教程介绍了使用 HCM 数据加载程序的所有 OIC 集成所需的常见设置步骤。
- 为要生成的 HDL 文件配置生成 OIC 映射文件。
- 您需要为通过集成创建的 HDL 业务对象文件配置生成定制映射文件(请参阅任务 3:生成定制映射文件)。
- 如果要使用提供的资源文件完成教程步骤,可以使用此 Worker.dat 文件生成定制映射文件。
- 如果需要在生成的文件中包括 SET 指令,则还需要编辑映射文件以启用 SET 指令的配置(按照任务 4 中的向文件配置添加 SET 指令步骤操作)。
提示:
HDL 使用专用融合键解密文件。Configure Access to HCM Data Loader (HDL) and Understand HDL Security Options 教程中的任务 5 介绍了如何生成 PGP 证书以及下载集成用于加密文件的公钥。注意:
本教程将参考在设置教程中创建的连接。提示:
Generate the Oracle Integration Cloud (OIC) Mapping files for HCM Data Loader (HDL) 教程提供了完成此操作的步骤。任务 1:创建集成
在此步骤中,您将创建计划集成。
- 登录 OIC 并导航到设计 > 集成。
- 单击创建,然后选择计划。
- 指定名称和(可选)说明。
- 单击创建。您将导航到集成画布。
任务 2:下载和解密源文件
在此步骤中,您将调用 FTP 连接以读取源文件并根据需要对其进行解密。
- 单击调度后的 + 图标以打开“建议”框。在调用选项卡下,选择 FTP 连接。
- 指定 DownloadFile 的名称,并且可以选择指定说明。单击创建。
- 选择 Download File 操作,然后选择 Transfer Mode 。
- 将输入目录指定为找到源文件的 FTP 服务器上的路径以及源文件的名称。
- 指定将文件下载到的目录名称,例如 /newHires 。
- 如果文件已加密,请选中 Perform PGP Decryption on an encryption file downloaded from external FTP server(对从外部 FTP 服务器下载的已加密文件执行 PGP 解加密)复选框。
- 单击 Continue 和 Finish 。
提示:
FTP 连接定义包括用于解密文件的 PGP 私钥。
提示:
以下任务创建的操作将解压缩解密的文件。如果您的文件未加密,您可以在下载文件时解压缩文件,方法是选中对从外部 FTP 服务器下载的压缩文件执行解压缩。注意:
检查解压缩和解密选项将首先解压缩文件,然后解密内容。本教程中的步骤假定您首先需要解密,然后解压缩源文件。提示:
将在执行 DownloadFile 操作之前自动生成映射操作。您无需配置此项。
任务 3:解压缩源文件
在此任务中,您将解压缩从 FTP 服务器下载的文件。如果您的文件未压缩,或者您在下载期间解压缩了文件,则可以跳过此步骤。
- 在右侧导航窗格上,单击操作。选择 Stage File(阶段文件),然后在调用 DownloadFile 操作后将其拖到 + 图标。
- 指定名称 UnzipFile 并(可选)指定说明。单击继续。
- 选择 Unzip File 暂存文件操作。
- 单击 "Zip File Name" 和 "Directory" 字段右侧的 Developer View 图标。
- 完全展开 $DownloadFile 源分层结构。将 filename 源属性拖动到 Zip File Name 字段,将 directory 源属性拖动到 Zip File Directory 字段。

- 指定应放置已提取文件的目录。例如, '/newhires' (带引号)。
- 单击 Continue 和 Finish 。
任务 4:读取源文件
在本任务中,您将读取准备将其转换为 HDL 业务对象文件配置的整个文件内容。
- 创建阶段文件操作作为当前集成定义中的最后一个操作。指定 ReadFile 的名称,并且可以选择指定说明。单击继续。
- 选择 Read Entire File 阶段文件操作。
- 单击“文件名”和“目录”字段右侧的开发人员视图图标。
- 完全展开源层次。
- 将 filename 源属性拖动到 File Name 字段,将 directory 源属性拖动到 Directory 字段。
- 单击继续。
- 选择将描述源文件结构的文件类型。
如果使用提供的资源文件,请选择示例分隔文档(例如 CSV)。单击继续。
- 拖放包含源文件结构示例的文件。
提示:
如果创建了 UnzipFile 操作,源名称将是 $UnzipFile (如果未创建),请改为展开 $DownloadFile 源。
提示:
NewHireSample.csv 文件(如果使用提供的资源文件执行这些步骤)。
任务 5:写入文件
在本任务中,您将创建需要为要更新的 HDL 业务对象命名的 HCM 数据加载程序文件。
分配常量值
为文件定义中多次使用的属性值创建变量可简化映射过程。可以映射变量,如果需要更改一次以更新所有映射的字段,而不是手动重复键入这些变量。在这里,您将为 ActionCode 和 SourceSystemOwner 等属性创建常量。
- 在执行 ReadFile 操作后创建 Assign 操作并将其命名为 AssignFileConstants 。
- 为您经常引用的常量值创建基于字符串的变量。对于“新聘人员”集成,请定义以下内容:
| 名称 | 说明 | 值 |
|---|---|---|
| SourceSystemOwner | 源系统所有者的名称。 | 源系统责任人姓名。例如 'VISION' |
| 有效结束日期 | 新日期有效记录的有效结束日期。 | '4712/12/31' |
| ActionCode | 操作代码。 | 'HIRE' |
| LegislationCode | 法规代码。 | 'US' |
编写 HDL 业务对象文件
- 在指定 WriteFile 名称和(可选)说明的 AssignFileConstants 操作之后创建 Stage File 操作。单击继续。
- 选择 Write File 阶段文件操作。
- 指定要将转换的数据写入到的文件的名称。您应提供 HDL 业务对象文件的名称,例如 'Worker.dat' 。
- 为文件指定临时输出目录,例如 'WorkerOutput' 。单击继续。
- 指定 XML 方案 (XSD) 文档以描述文件内容的结构。单击继续。
- 拖放包含源文件结构示例的文件。
- 将 Schema Element(方案元素)设置为在 nxsd 文件顶部定义的元素。此元素的名称通常以 'FileData' 结尾。单击继续。
- 单击完成。
将自动生成 WriteFile 映射操作。您将在下一步中进行配置。
提示:
这是作为本教程的先决条件的一部分生成的 nxsd 映射文件。
任务 6:完成 WriteFile 映射
在此任务中,您将完成映射以将源数据转换为业务对象文件配置。Worker.dat ,在本示例中。
员工业务对象层次结构特别复杂。使用“新雇用”示例生成的文件将为层次结构中的以下组件创建记录:
- 员工(员工)
- 人员法规数据 (PersonLegislativeData)
- 人员姓名 (PersonName)
- 人员电子邮件 (PersonEmail)
- 工作关系 (WorkRelationship)
- 雇用条款 (WorkTerms)
- 分配(分配)
您需要为每个组件的标签和值定义映射。
注意:
提供给“标签”元素的值用于生成 METADATA 行,因此提供的值必须是您正在创建的业务对象文件的有效属性名称。提示:
开始为目标元素中的字段创建映射后,需要为该元素中的每个字段定义值,否则 OIC 将无法转换数据。提示:
映射 HDL 文件(例如 Worker)时,需要完成许多配置。定期验证和保存您的映射并保存您的集成。Worker
- 编辑 WriteFile “映射”操作以打开映射器。
- 单击 Developer(开发人员)和 XSLT 按钮可显示元素的技术名称。
- 在目标面板中,展开 WorkerFileData 和 WorkerLabel 元素。
- 将这些表达式分配给以下 WorkerLabel 目标元素:
- 右键单击目标字段,然后选择创建目标节点。
- 在表达式面板中,切换到开发人员视图。
- 指定表达式值,包括引号。
- 单击刻度图标以保存表达式。
- 展开 $ReadFile 分层结构。
- 将 NewHire 重复源元素映射到 Worker 重复目标元素。
- 在定义的变量(NewHire 源和 Worker 目标元素)之间创建以下映射:
左侧面板源显示可用于此映射的所有可用值和字段。右侧的 Target(目标)面板显示了写入分层结构。这是 HDL 业务对象文件的结构的表示形式,在本示例中为 Worker.dat 。其配置由您使用 HDL 生成并上载到 WriteFile 操作的 nxsd 映射文件确定。
提示:
您需要使用“标签”元素定义适用于每个组件的 HDL 业务对象属性名称。| 目标 WorkerLabel 属性 | 表达式 |
|---|---|
| SourceSystemOwnerLabel | 'SourceSystemOwner' |
| SourceSystemIdLabel | 'SourceSystemId' |
| PersonNumberLabel | 'PersonNumber' |
| EffectiveStartDateLabel | 'EffectiveStartDate' |
| EffectiveEndDateLabel | 'EffectiveEndDate' |
| StartDateLabel | 'StartDate' |
| ActionCodeLabel | 'ActionCode' |
| DateOfBirthLabel | 'DateOfBirth' |
提示:
要为元素创建表达式,请执行以下操作:
提示:
完成映射后,将使用内部的重复 Worker 元素生成一个 for-each 循环。仅当您单击了 XSLT 按钮时,才显示为这种情况。
Worker 目标层次现在与 NewHire 源层次链接; Worker 是 for-each 循环的子级。这意味着,对于源文件中的每个 NewHire 记录,将创建目标 Worker 记录。
| 源 NewHire 属性 | 目标 WorkerLabel 属性 | 表达式 |
|---|---|---|
| (x) SourceSystemOwner 美元 | SourceSystemOwner | |
| employeeExternalNumber | SourceSystemId | |
| employeeExternalNumber | 人员编号 | |
| hireDate | 有效开始日期 | |
| (x) EffectiveEndDate 美元 | 有效结束日期 | |
| hireDate | StartDate | |
| (x) ActionCode 美元 | ActionCode | |
| 出生日期 | DateOfBirth |
提示:
当有多个要映射的组件(例如,对于新聘人员)时,请考虑在完成集成定义后完成剩余的映射,以将文件写入 Oracle WebCenter。然后,您可以迭代激活和测试文件映射,在启动 HCM 数据加载程序以处理该文件之前,复核上载到 Oracle WebCenter 的生成文件。人员法规数据
- 展开 PersonLegislativeDataLabel 目标元素。
- 为以下 PersonLegislativeDataLabel 属性指定这些表达:
- 将 $ReadFile 分层结构中的 NewHire 重复源元素映射到 PersonLegislativeData 重复目标元素以生成 for-each 循环。
- 在定义的变量(NewHire 源元素和 PersonLegislativeData 目标元素)之间创建以下映射:
| 目标 PersonLegislativeDataLabel 属性 | 表达式 |
|---|---|
| SourceSystemOwnerLabel | 'SourceSystemOwner' |
| SourceSystemIdLabel | 'SourceSystemId' |
| PersonId_SourceSystemId_Label | 'PersonId(SourceSystemId)' |
| EffectiveStartDateLabel | 'EffectiveStartDate' |
| EffectiveEndDateLabel | 'EffectiveEndDate' |
| LegislationCodeLabel | 'LegislationCode' |
| SexLabel | ‘性别’ |
| 源 NewHire 属性 | 目标 PersonLegislativeData 属性 | 表达式 |
|---|---|---|
| (x) SourceSystemOwner 美元 | SourceSystemOwner | |
| employeeExternalNumber | SourceSystemId | concat('LD', {employeeExternalNumber} ) |
| employeeExternalNumber | PersonId_SourceSystemId_ | |
| hireDate | 有效开始日期 | |
| (x) EffectiveEndDate 美元 | 有效结束日期 | |
| (x) LegislationCode 美元 | LegislationCode | |
| 性别 | 性别 |
提示:
employeeExternalNumber 源元素用作 SourceSystemId 值以唯一标识 Worker。同一字段用于在其他组件上生成 SourceSystemId。但是,最好使 SourceSystemId 在各个组件中保持唯一,这样可以使调试更轻松。将 employeeExternalNumber 源元素拖动到 SourceSystemId 目标元素后,将表达式更改为前缀 concat('LD',。将 ) 放在表达式的末尾。此方法如下所示:
个人姓名
- 展开 PersonNameLabel 目标元素。
- 为以下 PersonNameLabel 属性指定这些表达:
- 将 NewHire 重复源元素映射到 PersonName 重复目标元素以生成 for-each 循环。
- 在 NewHire 源元素和 PersonName 目标元素之间创建以下映射:
| 目标 PersonNameLabel 属性 | 表达式 |
|---|---|
| SourceSystemOwnerLabel | 'SourceSystemOwner' |
| SourceSystemIdLabel | 'SourceSystemId' |
| PersonId_SourceSystemId_Label | 'PersonId(SourceSystemId)' |
| EffectiveStartDateLabel | 'EffectiveStartDate' |
| EffectiveEndDateLabel | 'EffectiveEndDate' |
| LegislationCodeLabel | 'LegislationCode' |
| NameTypeLabel | 'NameType' |
| FirstNameLabel | 'FirstName' |
| MiddleNamesLabel | 'MiddleNames' |
| LastNameLabel | 'LastName' |
| TitleLabel | ‘标题’ |
| 源 NewHire 属性 | 目标 WorkerLabel 属性 | 表达式 |
|---|---|---|
| (x) SourceSystemOwner 美元 | SourceSystemOwner | |
| employeeExternalNumber | SourceSystemId | concat('PN', {employeeExternalNumber} ) |
| employeeExternalNumber | PersonId_SourceSystemId_ | |
| hireDate | 有效开始日期 | |
| (x) EffectiveEndDate 美元 | 有效结束日期 | |
| (x) LegislationCode 美元 | LegislationCode | |
| NameType | ‘全局’ | |
| firstName | FirstName | |
| MiddleNames | '' | |
| lastName | LastName | |
| title | 职位 |
提示:
元素中的所有目标字段都必须具有映射。如果没有要分配的值,例如本示例中的 MiddleNames ,请创建一个带两个引号的表达式,即 '' 。人员电子邮件
- 展开 PersonEmailLabel 目标元素。
- 为以下 PersonEmailLabel 属性指定这些表达:
- 将 NewHire 重复源元素映射到 PersonEmail 重复目标元素以生成 for-each 循环。
- 在 NewHire 源元素和 PersonEmail 目标元素之间创建以下映射:
| 目标 PersonEmailLabel 属性 | 表达式 |
|---|---|
| SourceSystemOwnerLabel | 'SourceSystemOwner' |
| SourceSystemIdLabel | 'SourceSystemId' |
| PersonId_SourceSystemId_Label | 'PersonId(SourceSystemId)' |
| DateFromLabel | 'DateFrom' |
| EmailTypeLabel | 'EmailType' |
| EmailAddressLabel | 'EmailAddress' |
| 源 NewHire 属性 | 目标 PersonEmail 属性 | 表达式 |
|---|---|---|
| (x) SourceSystemOwner 美元 | SourceSystemOwner | |
| employeeExternalNumber | SourceSystemId | concat('EM', {employeeExternalNumber} ) |
| employeeExternalNumber | PersonId_SourceSystemId_ | |
| hireDate | DateFrom | |
| 电子邮件类型 | 'W1' | |
| 电子邮件 | EmailAddress |
工作关系
- 展开 WorkRelationshipLabel 目标元素。
- 为以下 WorkRelationshipLabel 属性指定这些表达:
- 将 NewHire 重复源元素映射到 WorkRelationship 重复目标元素以生成 for-each 循环。
- 在 NewHire 源元素和 WorkRelationship 目标元素之间创建以下映射:
| 目标 WorkRelationshipLabel 属性 | 表达式 |
|---|---|
| SourceSystemOwnerLabel | 'SourceSystemOwner' |
| SourceSystemIdLabel | 'SourceSystemId' |
| PersonId_SourceSystemId_Label | 'PersonId(SourceSystemId)' |
| DateStartLabel | 'DateStart' |
| WorkerTypeLabel | 'WorkerType' |
| LegalEmployerNameLabel | 'LegalEmployerName' |
| ActionCodeLabel | 'ActionCode' |
| PrimaryFlagLabel | 'PrimaryFlag' |
| 源 NewHire 属性 | 目标 WorkRelationship 属性 | 表达式 |
|---|---|---|
| (x) SourceSystemOwner 美元 | SourceSystemOwner | |
| employeeExternalNumber | SourceSystemId | concat('WR', {employeeExternalNumber} ) |
| employeeExternalNumber | PersonId_SourceSystemId_ | |
| hireDate | DateStart | |
| WorkerType | 'E' | |
| legalEmployerName | LegalEmployerName | |
| (x) ActionCode 美元 | ActionCode | |
| PrimaryFlag | 'Y' |
雇用条款
- 展开 WorkTermsLabel 目标元素。
- 为以下 WorkTermsLabel 属性指定这些表达:
- 将 NewHire 重复源元素映射到 WorkTerms 重复目标元素以生成 for-each 循环。
- 在 NewHire 源元素和 WorkTerms 目标元素之间创建以下映射:
| 目标 WorkTermsLabel 属性 | 表达式 |
|---|---|
| SourceSystemOwnerLabel | 'SourceSystemOwner' |
| SourceSystemIdLabel | 'SourceSystemId' |
| PeriodOfServiceId_SourceSystemId_Label | 'PeriodOfServiceId(SourceSystemId)' |
| EffectiveStartDateLabel | 'EffectiveStartDate' |
| EffectiveEndDateLabel | 'EffectiveEndDate' |
| EffectiveSequenceLabel | 'EffectiveSequence' |
| EffectiveLatestChangeLabel | 'EffectiveLatestChange' |
| ActionCodeLabel | 'ActionCode' |
| AssignmentNameLabel | 'AssignmentName' |
| AssignmentNumberLabel | 'AssignmentNumber' |
| PrimaryWorkTermsFlagLabel | 'PrimaryWorkTermsFlag' |
| 源 NewHire 属性 | 目标 WorkTerms 属性 | 表达式 |
|---|---|---|
| (x) SourceSystemOwner 美元 | SourceSystemOwner | |
| employeeExternalNumber | SourceSystemId | concat('ET', {employeeExternalNumber} ) |
| employeeExternalNumber | PeriodOfServiceId_SourceSystemId_ | concat('WR', {employeeExternalNumber} ) |
| hireDate | 有效开始日期 | |
| (x) EffectiveEndDate 美元 | 有效结束日期 | |
| EffectiveSequence | '1' | |
| EffectiveLatestChange | 'Y' | |
| (x) ActionCode 美元 | ActionCode | |
| employeeExternalNumber | AssignmentName | concat('ET', {employeeExternalNumber} ) |
| employeeExternalNumber | 分配编号 | concat('ET', {employeeExternalNumber} ) |
| PrimaryWorkTermsFlag | 'Y' |
分配
- 展开 AssignmentLabel 目标元素。
- 为以下 AssignmentLabel 属性指定这些表达:
- 将 NewHire 重复源元素映射到 Assignment 重复目标元素以生成 for-each 循环。
- 在 NewHire 源元素和 Assignment 目标元素之间创建以下映射:
| 目标 AssignmentLabel 属性 | 表达式 |
|---|---|
| SourceSystemOwnerLabel | 'SourceSystemOwner' |
| SourceSystemIdLabel | 'SourceSystemId' |
| WorkTermsAssignmentId_SourceSystemId_Label | 'WorkTermsAssignmentId(SourceSystemId)' |
| EffectiveStartDateLabel | 'EffectiveStartDate' |
| EffectiveEndDateLabel | 'EffectiveEndDate' |
| EffectiveSequenceLabel | 'EffectiveSequence' |
| EffectiveLatestChangeLabel | 'EffectiveLatestChange' |
| ActionCodeLabel | 'ActionCode' |
| AssignmentNameLabel | 'AssignmentName' |
| AssignmentNumberLabel | 'AssignmentNumber' |
| PrimaryAssignmentFlagLabel | 'PrimaryAssignmentFlag' |
| BusinessUnitShortCodeLabel | 'BusinessUnitShortCode' |
| AssignmentStatusTypeCodeLabel | 'AssignmentStatusTypeCode' |
| PersonTypeCodeLabel | 'PersonTypeCode' |
| ProjectedStartDateLabel | 'ProjectedStartDate' |
| 源 NewHire 属性 | 目标分配属性 | 表达式 |
|---|---|---|
| (x) SourceSystemOwner 美元 | SourceSystemOwner | |
| employeeExternalNumber | SourceSystemId | concat('E', {employeeExternalNumber} ) |
| employeeExternalNumber | PersonId_SourceSystemId_ | concat('ET', {employeeExternalNumber} ) |
| hireDate | 有效开始日期 | |
| (x) EffectiveEndDate 美元 | 有效结束日期 | |
| EffectiveSequence | '1' | |
| EffectiveLatestChange | 'Y' | |
| (x) ActionCode 美元 | ActionCode | |
| employeeExternalNumber | AssignmentName | concat('E', {employeeExternalNumber} ) |
| employeeExternalNumber | 分配编号 | concat('E', {employeeExternalNumber} ) |
| PrimaryAssignmentFlag | 'Y' | |
| businessUnit | BusinessUnitShortCode | |
| AssignmentStatusTypeCode | 'ACTIVE_PROCESS' | |
| PersonTypeCode | 'Employee' | |
| hireDate | ProjectedStartDate |
SET 说明
如果需要在文件中包括 SET 指令,请执行以下步骤。
- 展开 SetInstructions 目标元素。
- 创建一个表达式以包括 Instruction 属性的完整 SET 指令。
任务 7:压缩生成的文件
在此任务中,您将压缩已生成的文件。
- 在 WriteFile 操作正下方添加 Stage File 操作并将其命名为 ZipFile 。
- 选择 Zip File 暂存文件操作。
- 为 zip 文件指定文件名,例如 NewHires.zip 。
- 单击目录字段的开发人员视图图标,然后从 $WriteFile 源分层结构
中选择目录
- 为输出目录指定 'outputdirectory' 。
- 单击 Continue 和 Finish 。
任务 8:加密文件
最好对加载到 Oracle WebCenter 的所有文件进行加密。
在此任务中,您将创建一个允许您控制何时加密文件的交换机。您可能希望在开发期间使文件保持未加密状态,以测试集成定义和文件转换。
为 HCM 数据加载程序参数定义变量
- 从右侧导航面板中,单击操作,然后选择分配。将此项拖动到调度后面的 + 图标,以便它是集成中的第一个操作。
- 重命名操作 AssignHDLParameters 。
- 创建一个名为 FileEncryption 的变量并为其赋值 'NONE' 。
- 创建名为 DeleteSourceFile 的第二个变量并为其赋值 'N' 。
提示:
对您可能希望在开发和生产之间更改的任何其他 HDL 参数重复此操作。注意:
我们现在正在创建这些变量,因为在下一步中创建的交换机引用了 FileEncryption 变量。创建切换到控制文件加密
- 从右侧导航面板中,单击操作,然后选择逻辑标题下的切换。将此项拖动到 ZipFile 操作之后的 + 图标。此时将显示 Configure route 页面。
- 指定 EncryptHDLFile 作为路由名称。
- 单击值字段上的开发人员视图按钮以显示输入源。
- 将 $FileEncryption 变量拖动到 Value 字段。将运算符设置为 = 并指定值 'PGPUNSIGNED' 。
加密文件
- 单击 "Switch"(切换)框中的 + 图标,然后选择 Stage File(阶段文件)操作。
- 指定 EncryptFile 的名称,并且可以选择指定说明。单击继续。
- 选择 Encrypt File 阶段文件操作。
- 单击文件参考和文件名字段右侧的开发人员视图图标。
- 完全展开 $ZipFile 源分层结构。
- 将 FileReference 源元素拖动到 File Reference 字段。
- 将 filename 源元素拖动到 File Name 字段。
- 指定 OutputDirectory 的目录名称,例如 '/WorkerOutput'。
- 选择融合键 PGP 证书以加密文件。
- 单击 Continue 和 Finish 。
提示:
您将创建调用操作以将文件上载到下一个 Oracle WebCenter。这将需要创建两个映射,一个用于此交换机中的每个路由。任务 9:将文件上载到 Oracle WebCenter
在此任务中,您将调用 Oracle HCM Cloud 连接以将文件上载到 Oracle WebCenter。
创建上载文件操作
- 单击 "Switch"(交换机)后的 + 图标并搜索 "Web"。选择 Oracle WebCenter HDL 导入连接。
- 指定 UploadFile 的名称,并且可以选择指定说明。单击继续。
- 选择将文件发送到 HCM 云,然后单击继续。
- 选择 FAFusionImportExport 安全组和 hcm$/dataloader$/import$ 文档帐户。
- 单击 Continue 和 Finish 。
提示:
将在调用操作之前和切换之后自动生成 UploadFile 映射。
定义加密文件的上载文件映射
在此任务中,您将为加密的文件路由创建 UploadFile 映射。
- 如果尚未展开,请展开交换机。
- 单击 Map UploadFile 操作并选择 Cut 。
- 在 EncryptFile 操作之后直接单击 + 图标,然后单击粘贴。
- 编辑 UploadFile 映射。
- 单击 Developer(开发人员)和 XSLT 按钮并完全展开 $EncryptFile 源元素层次。
- 在 $EncryptFile 源的 ICSFile 元素与 FileUpload 目标元素之间创建以下映射:
- 验证您的地图并返回到集成画布。
| 来源 $EncryptFile 元素 | 目标 FileUpload 元素 | 表达式 |
|---|---|---|
| FileReference | fileReference | |
| filename | docTitle | |
| docType | ‘文档’ |
定义未加密文件的上载文件映射
在此任务中,您将为未加密的文件路由创建 UploadFile 映射。
- 通过单击交换机的菜单并选择添加 > 否则,创建否则路由。

- 单击 Otherwise 路由中的 + 图标,然后选择 Map 。
- 当询问要将数据映射到哪个端点时,请选择 UploadFile ,然后单击创建。
- 单击 Developer(开发人员)和 XSLT 按钮并完全展开 $ZipFile 源元素层次。
- 在 $ZipFile 源的 ICSFile 元素与 FileUpload 目标元素之间创建以下映射:
- 验证您的地图并返回到集成画布。
| 来源 $ZipFile 元素 | 目标 FileUpload 元素 | 表达式 |
|---|---|---|
| FileReference | fileReference | |
| filename | docTitle | |
| docType | ‘文档’ |
任务 10:启动 HCM 数据加载程序
在此步骤中,您将调用 HCM 数据加载程序 REST 连接,以启动 UploadFile 操作上载到 Oracle WebCenter 的文件的导入和加载。
- 在执行 UploadFile 操作后直接创建调用操作。
- 为 HDL REST 连接选择“调用”操作。
- 指定名称和说明(可选)。
- 将端点指定为 /action/createFileDataSet ,并将操作设置为 POST 。
- 选中以下复选框:
- 为此端点配置请求有效负载
- 配置此端点以接收响应
- 单击继续。
- 填写配置请求页上的以下字段:
- 单击继续
- 填写配置响应页上的以下字段:
- 单击继续。单击完成。
| 提示 | 值 |
|---|---|
| 选择请求有效负载格式 | JSON 示例 |
| 拖放 | 使用 JSON createFileDataSet payload.txt 文件。 |
| 请求正文的介质类型是什么? | 其他介质类型 |
| 介质类型 | 应用程序/vnd.oracle.adf.action+json |
| 提示 | 值 |
|---|---|
| 选择响应有效负载格式 | JSON 示例 |
| 拖放 | 使用 JSON createFileDataSet response.txt。 |
| 请求正文的介质类型是什么? | JSON |
将自动生成 ImportAndLoad 映射操作。
配置 ImportAndLoad 映射
在此步骤中,您将配置 ImportAndLoad 映射以引用上载到 Oracle WebCenter 的文件,并根据需要覆盖 HCM 数据加载程序参数。
- 编辑 ImportAndLoad 映射。
- 单击 Developer(开发人员)和 XSLT 按钮。
- 展开请求包装器目标元素。
- 完全展开 $UploadFile 源元素分层结构。
- 映射以下字段:
- 验证映射并保存集成。
提示:
这些字段将填充 createFileDataSets 参数。| 源 FileUploadResponse 属性 | 目标请求包装器属性 | 表达式 |
|---|---|---|
| dDocName | contentId | |
| $FileEncryption | fileEncryption | |
| $DeleteSourceFile | deleteSourceFileFlag |
提示:
默认 HDL 行为是在 HDL 将数据传输到其中转表后,立即从 Oracle WebCenter 中删除源文件。在检查并验证文件之前,请考虑将 deleteSourceFileFlag 设置为 'N'。任务 11:跟踪
配置任何集成的最后一步是设置业务标识符。这将为监视和报告生成唯一值。
- 单击菜单栏右侧的业务标识符。
- 将 startTime 源拖放到第一个业务标识符字段。
- 保存集成。
任务 12:激活和运行集成
- 在 DownloadFile 操作中指定的文件夹中加密源文件并将其上载到 FTP 服务器。例如,如果您创建了“新聘人员”集成,则为 /inbound/nh 。
提示:
您可以为此使用 NewHires.csv。 - 如果您仍位于集成画布中,请退出集成。
- 在设计 > 集成页面上查找您的集成。
- 选择您的集成并显示行级菜单。单击激活。
- 指定跟踪级别,然后单击激活。
- 刷新集成信息,直到状态为有效。
- 单击行菜单上的操作图标,然后选择运行。
- 单击运行
- 偶尔刷新,直到处理完成。
提示:
其状态应为已配置。如果仍是草稿,则您的集成存在错误,您需要编辑集成、查看并解决这些错误。
将显示活动流。
在 Oracle WebCenter 上验证文件
在集成执行期间,可以通过从 Oracle WebCenter 检索文件配置来验证文件配置。
- 登录 Oracle Cloud。
- 导航到工具 > 文件导入和导出。
- 将 Account(帐户)设置为 hcm/dataloader/import ,然后单击 Search(搜索)。
提示:
默认 HDL 行为是在 HDL 将数据传输到其中转表后,立即从 Oracle WebCenter 中删除源文件。此行为将由您定义的 deleteSourceFile 变量覆盖。加密 HDL 文件
测试完成后,请记住启用文件加密,并允许 HDL 在读取后从 Oracle WebCenter 中删除源文件。
- 编辑 AssignHDLParameters 操作。
- 将 FileEncryption 值更新为 'PGPUNSIGNED' 。
- 将 DeleteSourceFile 值更新为 'Y' 。
相关链接
教程:
更多学习资源
通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Oracle Integration Cloud (OIC) 的加密 HCM 数据加载程序 (HDL) 集成
G35344-02
2025 年10 月