イントロダクション
このチュートリアルでは、HCMデータ・ローダー(HDL)を使用してOracle HCM CloudにデータをアップロードするためのOracle Integration Cloud (OIC)統合を作成します。ソース・ファイルは、Oracle WebCenterに圧縮、暗号化およびアップロードされる前に、FTPサーバーから読み取られ、復号化、解凍されてHDLビジネス・オブジェクト・ファイル形式に変換されます。最後に、HCMデータ・ローダーが開始され、ファイルにデータがインポートおよびロードされます。
このチュートリアルで説明するステップは、HDLを使用したインバウンド統合に使用できます。提供されたファイルを使用して、新規採用統合を作成するステップを完了します。
目的
このチュートリアルでは、次のことを学習します。
- FTPサーバーでホストされているソース・ファイルを復号化および解凍します。
- ソース・データをHDLビジネス・オブジェクト・ファイル形式に変換します。
- 変換されたファイルを圧縮して暗号化し、Oracle WebCenterにアップロードします。
- HCMデータ・ローダーの開始。
前提条件
このチュートリアルのステップを完了するには、次のものにアクセスする必要があります。
- この統合を作成するためのOracle Integration Cloud (OIC)です。
- ソース・ファイルをホストするためのFTPサーバー。
- ソース・ファイルを暗号化するためのPGP暗号化キー・ペア。
- ユーザー・アカウントを作成するためのセキュリティ・コンソール。
次の統合設定タスクを完了する必要もあります。
- fusion-key PGP証明書を生成し、公開キーをダウンロードします。
- HCMデータ・ローダーを使用するすべてのOIC統合に必要な共通設定ステップを説明する、Oracle Integration Cloud (OIC)でのHCMデータ・ローダー(HDL)統合の設定タスクチュートリアルのステップを完了します。
- 生成するHDLファイル・シェイプのOICマッピング・ファイルを生成します。
- 統合で作成するHDLビジネス・オブジェクト・ファイル・シェイプのカスタム・マッピング・ファイルを生成する必要があります(タスク3: カスタム・マッピング・ファイルの生成を参照)。
- 提供されているリソース・ファイルでチュートリアル・ステップを完了する場合は、このWorker.datファイルを使用してカスタム・マッピング・ファイルを生成できます。
- 生成されたファイルにSET命令を含める必要がある場合は、マッピング・ファイルを編集してSET命令の構成を有効にする必要もあります(タスク4のファイル形式へのSET命令の追加ステップに従います)。
ヒント :
HDLは、private fusion-keyを使用してファイルを復号化します。HCMデータ・ローダー(HDL)へのアクセスの構成およびHDLセキュリティ・オプションの理解チュートリアルのタスク5では、PGP証明書を生成し、統合によって使用される公開キーをダウンロードしてファイルを暗号化する方法について説明します。ノート:
セットアップチュートリアルで作成された接続は、このチュートリアルで参照されます。ヒント :
HCMデータ・ローダー(HDL)用のOracle Integration Cloud (OIC)マッピング・ファイルの生成チュートリアルでは、これを完了するステップを示します。タスク1: 統合の作成
このステップでは、スケジュール統合を作成します。
- OICにログインし、「設計」→「統合」にナビゲートします。
- 「作成」をクリックし、「スケジュール」を選択します。
- 「名前」と、必要に応じて説明を指定します。
- 「作成」をクリックします。統合キャンバスにナビゲートされます。
タスク2: ソース・ファイルのダウンロードおよび復号化
このステップでは、FTP接続を起動してソース・ファイルを読み取り、オプションで復号化します。
- 「スケジュール」の後の「+」アイコンをクリックして、「提案」ボックスを開きます。「起動」タブで、FTP接続を選択します。
- DownloadFileの名前と説明(オプション)を指定します。「作成」をクリックします。
- 「ファイルのダウンロード」操作を選択し、「転送モード」を選択します。
- 入力ディレクトリは、ソース・ファイルが見つかるFTPサーバー上のパスとして、ソース・ファイルの名前とともに指定します。
- /newHiresなど、ファイルのダウンロード先のディレクトリ名を指定します。
- ファイルが暗号化されている場合は、「外部FTPサーバーからダウンロードした暗号化されたファイルでのPGP復号化の実行」チェック・ボックスを選択します。
- 「続行」および「終了」をクリックします。
ヒント :
FTP接続定義には、ファイルの復号化に使用されるPGP秘密キーが含まれます。
ヒント :
次のタスクで作成されたアクションは、復号化されたファイルを解凍します。ファイルが暗号化されていない場合は、「外部FTPサーバーからダウンロードした圧縮ファイルでの解凍の実行」を選択して、ダウンロード中にファイルを解凍できます。ノート:
解凍オプションと復号化オプションの両方をチェックすると、最初にファイルを解凍してから、コンテンツを復号化します。このチュートリアルのステップでは、最初にソース・ファイルを復号化してから解凍する必要があることを前提としています。ヒント :
マップ・アクションは、DownloadFileアクションの前に自動的に生成されます。これを構成する必要はありません。
タスク3: ソース・ファイルの解凍
このタスクでは、FTPサーバーからダウンロードしたファイルを解凍します。ファイルが圧縮されていない場合、またはダウンロード中に解凍した場合は、このステップをスキップできます。
- 右側のナビゲーション・ペインで、「アクション」をクリックします。「ステージング・ファイル」を選択し、DownloadFileの起動アクションの後に+アイコンにドラッグします。
- UnzipFileという名前を指定し、オプションで説明を指定します。「続行」をクリックします。
- 「ファイルの解凍」ステージ・ファイル操作を選択します。
- 「Zipファイル名」および「ディレクトリ」フィールドの右側にある「開発者ビュー」アイコンをクリックします。
- $DownloadFileソース階層を完全に展開します。filenameソース属性をZipファイル名フィールドにドラッグし、directoryソース属性をZipファイル・ディレクトリ・フィールドにドラッグします。
- 抽出したファイルを配置するディレクトリを指定します。たとえば、'/newhires' (引用符付き)。
- 「続行」および「終了」をクリックします。
タスク4: ソース・ファイルの読取り
このタスクでは、HDLビジネス・オブジェクト・ファイル・シェイプに変換できるファイル・コンテンツ全体を読み取ります。
- 「ステージ・ファイル」アクションを現在の統合定義の最後のアクションとして作成します。ReadFileの名前と説明(オプション)を指定します。「続行」をクリックします。
- 「ファイル全体の読取り」ステージ・ファイル操作を選択します。
- 「ファイル名」および「ディレクトリ」フィールドの右側にある「開発者ビュー」アイコンをクリックします。
- ソース階層を完全に展開します。
- filenameソース属性を「ファイル名」フィールドにドラッグし、directoryソース属性を「ディレクトリ」フィールドにドラッグします。
- 「続行」をクリックします。
- ソース・ファイル構造を記述するファイルのタイプを選択します。
提供されたリソース・ファイルを使用する場合は、「サンプル区切りドキュメント(CSVなど)」を選択します。「続行」をクリックします。
- ソース・ファイル構造の例を含むファイルをドラッグ・アンド・ドロップします。
ヒント :
UnzipFileアクションを作成した場合、ソース名は $UnzipFileになります。そうでない場合は、代わりに $DownloadFileソースを展開します。
ヒント :
指定されたリソース・ファイルを使用してこれらのステップを実行する場合は、NewHireSample.csvファイル。
タスク5: ファイルへの書込み
このタスクでは、更新するHDLビジネス・オブジェクトに名前を付ける必要があるHCMデータ・ローダー・ファイルを作成します。
定数値の割当
ファイル定義内で複数回使用される属性値の変数を作成すると、マッピング・プロセスが簡略化されます。これらを繰り返し入力するかわりに、変数をマップし、必要に応じて1回変更してすべてのマップ済フィールドを更新できます。ここでは、ActionCodeやSourceSystemOwnerなどの属性の定数を作成します。
- ReadFileアクションの後にAssignアクションを作成し、AssignFileConstantsという名前を付けます。
- 定期的に参照する定数値の文字列ベースの変数を作成します。新規採用者インテグレーションでは、以下を定義します。
| 名前 | 説明 | Value |
|---|---|---|
| SourceSystemOwner | ソース・システム所有者の名前。 | ソース・システム所有者名。たとえば、'VISION' |
| EffectiveEndDate | 新規有効日レコードの有効終了日。 | '4712/12/31' |
| ActionCode | アクション・コード。 | 「HIRE」 |
| LegislationCode | 国別仕様コード。 | '米国' |
HDLビジネス・オブジェクト・ファイルの書込み
- AssignFileConstantsアクションの後にステージング・ファイル・アクションを作成し、WriteFileの名前と説明(オプション)を指定します。「続行」をクリックします。
- 「ファイルの書込み」ステージ・ファイル操作を選択します。
- 変換されたデータの書込み先ファイルの名前を指定します。HDLビジネス・オブジェクト・ファイルの名前('Worker.dat'など)を指定する必要があります。
- ファイルの一時出力ディレクトリ('WorkerOutput'など)を指定します。「続行」をクリックします。
- ファイル・コンテンツの構造を記述するには、XMLスキーム(XSD)ドキュメントを指定します。「続行」をクリックします。
- ソース・ファイル構造の例を含むファイルをドラッグ・アンド・ドロップします。
- 「スキーマ要素」をnxsdファイルの上部に定義されている要素に設定します。この要素の名前は、通常、'FileData'で終わります。「続行」をクリックします。
- 「終了」をクリックします。
WriteFileマップ・アクションが自動的に生成されます。これを次のステップで構成します。
ヒント :
これは、このチュートリアルの前提条件の一部として生成したnxsdマッピング・ファイルです。
タスク6: WriteFileマッピングの完了
このタスクでは、マッピングを完了して、ソース・データをビジネス・オブジェクト・ファイル形式に変換します。この例では、Worker.dat。
就業者ビジネス・オブジェクト階層は特に複雑です。新規採用の例で生成するファイルによって、階層内の次のコンポーネントのレコードが作成されます。
- 就業者(就業者)
- 個人国別仕様のデータ(PersonLegislativeData)
- 個人名(PersonName)
- 個人Eメール(PersonEmail)
- 雇用関係(WorkRelationship)
- 雇用条件(WorkTerms)
- 割当(割当)
各コンポーネントのラベルと値の両方にマッピングを定義する必要があります。
ノート:
'Label'要素に指定する値はMETADATA行の生成に使用されるため、指定する値は、作成するビジネス・オブジェクト・ファイルの有効な属性名である必要があります。ヒント :
ターゲット・エレメントのフィールドのマッピングの作成を開始したら、そのエレメントのすべてのフィールドの値を定義する必要があります。そうしないと、OICはデータの変換に失敗します。ヒント :
WorkerなどのHDLファイルのマッピング時に完了する必要がある構成は多数あります。マッピングを定期的に検証し、統合を保存します。作業員
- WriteFileマップ・アクションを編集してマッパーを開きます。
- 「開発者」および「XSLT」ボタンをクリックして、要素の技術名を表示します。
- 「ターゲット」パネルで、WorkerFileData要素およびWorkerLabel要素を展開します。
- これらの式を次のWorkerLabelターゲット要素に割り当てます。
- ターゲット・フィールドを右クリックし、「ターゲット・ノードの作成」を選択します。
- 「式」パネルで、「開発者ビュー」に切り替えます。
- 引用符を含む式の値を指定します。
- ティック・アイコンをクリックして式を保存します。
- $ReadFile階層を展開します。
- NewHire繰返しソース要素を就業者繰返しターゲット要素にマップします。
- 定義済の変数、NewHireソース要素とWorkerターゲット要素の間に次のマッピングを作成します。
左側のパネルの「ソース」には、このマッピングで使用できるすべての値およびフィールドが表示されます。右側の「ターゲット」パネルは、書込み階層を示しています。これは、HDLビジネス・オブジェクト・ファイル(この例ではWorker.dat)の構造を表しています。形状は、HDLを使用して生成し、WriteFileアクションにアップロードしたnxsdマッピング・ファイルによって決まります。
ヒント :
「ラベル」要素を使用して、各コンポーネントに適用可能なHDLビジネス・オブジェクト属性名を定義する必要があります。| ターゲットのWorkerLabel属性 | 正規表現 |
|---|---|
| SourceSystemOwnerLabel | 'SourceSystemOwner' |
| SourceSystemIdLabel | 'SourceSystemId' |
| PersonNumberLabel | 'PersonNumber' |
| EffectiveStartDateLabel | 'EffectiveStartDate' |
| EffectiveEndDateLabel | 'EffectiveEndDate' |
| StartDateLabel | 'StartDate' |
| ActionCodeLabel | 'ActionCode' |
| DateOfBirthLabel | 'DateOfBirth' |
ヒント :
エレメントの式を作成するには、次の手順に従います。
ヒント :
マッピングが完了すると、for-eachループが、内部の繰返しWorker要素とともに生成されます。「XSLT」ボタンをクリックした場合のみ、このように表示されます。
就業者ターゲット階層がNewHireソース階層にリンクされ、就業者がfor-eachループの子になります。つまり、ソース・ファイル内のNewHireレコードごとに、ターゲットのワーカー・レコードが作成されます。
| ソースNewHire属性 | ターゲットのWorkerLabel属性 | 正規表現 |
|---|---|---|
| (x) $SourceSystemOwner | SourceSystemOwner | |
| employeeExternalNumber | SourceSystemId | |
| employeeExternalNumber | PersonNumber | |
| hireDate | EffectiveStartDate | |
| (x) $EffectiveEndDate | 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 | EffectiveStartDate | |
| (x) $EffectiveEndDate | EffectiveEndDate | |
| (x) $LegislationCode | LegislationCode | |
| 性別 | 性別 |
ヒント :
employeeExternalNumberソース要素は、Workerを一意に識別するためのSourceSystemId値として使用されます。同じフィールドを使用して、他のコンポーネントで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 | EffectiveStartDate | |
| (x) $EffectiveEndDate | EffectiveEndDate | |
| (x) $LegislationCode | LegislationCode | |
| NameType | 'グローバル' | |
| firstName | FirstName | |
| MiddleNames | '' | |
| lastName | 姓 | |
| タイトル | 役職 |
ヒント :
エレメント内の全てのターゲット フィールドにはマッピングが必要です。割り当てる値がない場合(この例の MiddleNamesなど)、2つの引用符(''など)で式を作成します。個人Eメール
- 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 | |
| EmailType | '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 | EffectiveStartDate | |
| (x) $EffectiveEndDate | EffectiveEndDate | |
| EffectiveSequence | '1' | |
| EffectiveLatestChange | 'Y' | |
| (x) $ActionCode | ActionCode | |
| employeeExternalNumber | AssignmentName | concat('ET', {employeeExternalNumber} ) |
| employeeExternalNumber | AssignmentNumber | concat('ET', {employeeExternalNumber} ) |
| PrimaryWorkTermsFlag | 'Y' |
割当て
- AssignmentLabelターゲット要素を展開します。
- これらの式を次のAssignmentLabel属性に割り当てます。
- NewHire繰返しソース要素を割当て繰返しターゲット要素にマップして、for-eachループを生成します。
- NewHireソース要素と割当てターゲット要素の間に次のマッピングを作成します。
| ターゲットの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 | EffectiveStartDate | |
| (x) $EffectiveEndDate | EffectiveEndDate | |
| EffectiveSequence | '1' | |
| EffectiveLatestChange | 'Y' | |
| (x) $ActionCode | ActionCode | |
| employeeExternalNumber | AssignmentName | concat('E', {employeeExternalNumber} ) |
| employeeExternalNumber | AssignmentNumber | concat('E', {employeeExternalNumber} ) |
| PrimaryAssignmentFlag | 'Y' | |
| businessUnit | BusinessUnitShortCode | |
| AssignmentStatusTypeCode | 'ACTIVE_PROCESS' | |
| PersonTypeCode | '従業員' | |
| hireDate | 開始予定日 |
SET命令
SET命令をファイルに含める必要がある場合は、次のステップに従います。
- SetInstructionsターゲット要素を展開します。
- Instruction属性の完全なSET命令を含む式を作成します。
タスク7: 生成されたファイルのZip
このタスクでは、生成したファイルを圧縮します。
- ステージング・ファイル・アクションをWriteFileアクションのすぐ下に追加し、ZipFileという名前を付けます。
- 「Zipファイル」ステージ・ファイル操作を選択します。
- NewHires.zipなどのzipファイルのファイル名を指定します。
- ディレクトリ・フィールドの「開発者ビュー」アイコンをクリックし、$WriteFileソース階層
から「ディレクトリ」 を選択します
- 出力ディレクトリに 'outputdirectory'を指定します。
- 「続行」および「終了」をクリックします。
タスク8: ファイルの暗号化
Oracle WebCenterにロードされているすべてのファイルを暗号化することをお薦めします。
このタスクでは、ファイルを暗号化するタイミングを制御できるスイッチを作成します。統合定義およびファイル変換をテストするために、開発中にファイルを暗号化しないままにできます。
HCMデータ・ローダー・パラメータの変数の定義
- 右側のナビゲーション・パネルから、「アクション」をクリックし、「割当て」を選択します。これを「スケジュール」の後の「+」アイコンにドラッグして、統合の最初のアクションにします。
- アクション AssignHDLParametersの名前を変更します。
- FileEncryptionという名前の変数を作成し、'NONE'の値を割り当てます。
- DeleteSourceFileという名前の2番目の変数を作成し、'N'の値を割り当てます。
ヒント :
開発と本番の間で変更する可能性のあるその他のHDLパラメータについても繰り返します。ノート:
次のステップで作成したスイッチによってFileEncryption変数が参照されるため、これらの変数を現在作成しています。制御ファイル暗号化への切替えの作成
- 右側のナビゲーション・パネルから、「アクション」をクリックし、「ロジック」ヘッダーの下の「切替え」を選択します。これをZipFileアクションの後の+アイコンにドラッグします。「ルートの構成」ページが表示されます。
- ルート名としてEncryptHDLFileを指定します。
- 「値」フィールドの「開発者ビュー」ボタンをクリックして、入力ソースを表示します。
- $FileEncryption変数を「値」フィールドにドラッグします。演算子を=に設定し、'PGPUNSIGNED'の値を指定します。
ファイルの暗号化
- 「Switch」ボックスの「+」アイコンをクリックし、「Stage File」アクションを選択します。
- EncryptFileの名前と説明(オプション)を指定します。「続行」をクリックします。
- 「ファイルの暗号化」ステージ・ファイル操作を選択します。
- 「ファイル参照」および「ファイル名」フィールドの右側にある「開発者ビュー」アイコンをクリックします。
- $ZipFileソース階層を完全に展開します。
- FileReferenceソース要素を「ファイル参照」フィールドにドラッグします。
- filenameソース要素を「ファイル名」フィールドにドラッグします。
- OutputDirectoryのディレクトリ名('/WorkerOutput'など)を指定します。
- ファイルを暗号化するFusionキーPGP証明書を選択します。
- 「続行」および「終了」をクリックします。
ヒント :
次に、そのファイルをOracle WebCenterにアップロードするための起動アクションを作成します。これには、このスイッチ内のルートごとに1つずつ、2つのマッピングを作成する必要があります。タスク9: Oracle WebCenterへのファイルのアップロード
このタスクでは、Oracle HCM Cloud接続を起動して、ファイルをOracle WebCenterにアップロードします。
アップロード・ファイル処理の作成
- Switchの後の+アイコンをクリックし、'web'を検索します。「Oracle WebCenter HDLインポート」接続を選択します。
- UploadFileの名前と説明(オプション)を指定します。「続行」をクリックします。
- 「HCM Cloudへのファイルの送信」を選択し、「続行」をクリックします。
- FAFusionImportExportセキュリティ・グループおよびhcm$/dataloader$/import$ドキュメント・アカウントを選択します。
- 「続行」および「終了」をクリックします。
ヒント :
UploadFileマップは、起動アクションの前と切替え後に自動的に生成されます。
暗号化されたファイルのアップロード・ファイル・マップの定義
このタスクでは、暗号化されたファイル・ルートのUploadFileマップを作成します。
- まだ展開されていない場合は、スイッチを展開します。
- 「マップ」UploadFileアクションをクリックし、「切取り」を選択します。
- EncryptFileアクションの直後に「+」アイコンをクリックし、「貼付け」をクリックします。
- UploadFileマップを編集します。
- 「開発者」および「XSLT」ボタンをクリックし、$EncryptFileソース要素階層を完全に展開します。
- $EncryptFileソースのICSFile要素とFileUploadターゲット要素の間に次のマッピングを作成します。
- マップを検証し、統合キャンバスに戻ります。
| ソース$EncryptFile要素 | ターゲットのFileUpload要素 | 正規表現 |
|---|---|---|
| FileReference | fileReference | |
| filename | docTitle | |
| docType | 'ドキュメント' |
暗号化されていないファイルのアップロード・ファイル・マップの定義
このタスクでは、暗号化されていないファイルルートの UploadFileマップを作成します。
- スイッチのメニューをクリックし、「追加」→「その他」を選択して、「その他」ルートを作成します。
- 「Otherwise」ルートの「+」アイコンをクリックし、「Map」を選択します。
- データのマップ先のエンドポイントを尋ねられたら、UploadFileを選択し、「作成」をクリックします。
- 「開発者」および「XSLT」ボタンをクリックし、$ZipFileソース要素階層を完全に展開します。
- $ZipFileソースのICSFile要素とFileUploadターゲット要素の間に次のマッピングを作成します。
- マップを検証し、統合キャンバスに戻ります。
| ソース$ZipFile要素 | ターゲットのFileUpload要素 | 正規表現 |
|---|---|---|
| FileReference | fileReference | |
| filename | docTitle | |
| docType | 'ドキュメント' |
タスク10: HCMデータ・ローダーの開始
このステップでは、HCMデータ・ローダーREST接続を起動して、UploadFileアクションによってOracle WebCenterにアップロードされたファイルのインポートおよびロードを開始します。
- UploadFileアクションの直後にInvokeアクションを作成します。
- HDL REST接続の「Invoke」アクションを選択します。
- 名前と説明(オプション)を指定します。
- エンドポイントを/action/createFileDataSetとして指定し、アクションをPOSTに設定します。
- 以下のチェック ボックスをオンにします。
- このエンドポイントのリクエスト・ペイロードを構成
- このエンドポイントを構成してレスポンスを受信
- 「続行」をクリックします。
- 「リクエストの構成」ページで、次のフィールドに入力します:
- 「続行」をクリックします
- 「レスポンスの構成」ページで、次のフィールドに入力します:
- 「続行」をクリックします。「終了」をクリックします。
| プロンプト | Value |
|---|---|
| リクエスト・ペイロード書式を選択 | JSONサンプル |
| ドラッグ・アンド・ドロップ | JSON createFileDataSet payload.txtファイルを使用します。 |
| リクエスト本文メディア・タイプは何ですか。 | その他のメディア・タイプ |
| メディアタイプ | アプリケーション/vnd.oracle.adf.action+json |
| プロンプト | Value |
|---|---|
| レスポンス・ペイロード書式を選択 | JSONサンプル |
| ドラッグ・アンド・ドロップ | JSON createFileDataSet response.txtを使用します。 |
| リクエスト本文メディア・タイプは何ですか。 | JSON |
ImportAndLoadマップ・アクションが自動的に生成されます。
ImportAndLoadマップの構成
このステップでは、ImportAndLoadマップを構成して、Oracle WebCenterにアップロードされたファイルを参照し、必要に応じてHCMデータ・ローダー・パラメータをオーバーライドします。
- ImportAndLoadマップを編集します。
- 「開発者」および「XSLT」ボタンをクリックします。
- request-wrapperターゲット要素を展開します。
- $UploadFileソース要素階層を完全に展開します。
- 次のフィールドをマップします:
- マッピングを検証し、統合を保存します。
ヒント :
これらのフィールドには、createFileDataSetsパラメータが移入されます。| ソースFileUploadResponse属性 | ターゲット・リクエスト- ラッパー属性 | 正規表現 |
|---|---|---|
| dDocName | Content-ID | |
| $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にログインします、
- 「ツール」→「ファイル・インポートおよびエクスポート」にナビゲートします。
- 「アカウント」をhcm/dataloader/importに設定し、「検索」をクリックします。
ヒント :
デフォルトの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 Help Centerを参照してください。
Oracle Integration Cloud (OIC)用の暗号化されたHCMデータ・ローダー(HDL)統合
G35341-02
2025年10月