7 フレックスフィールド・データのロード

この章の内容は次のとおりです。

フレックスフィールド・データのロード: 説明

HCMデータ・ローダーを使用して、付加フレックスフィールドと拡張可能フレックスフィールドの両方のデータをロードできます。このトピックでは、両方のタイプのフレックスフィールドに共通のコンセプトについて説明します。

フレックスフィールドの構成

フレックスフィールドを含むオブジェクトのテンプレート・ファイルを生成する前に、Oracle HCM Cloudでフレックスフィールドを構成する必要があります。フレックスフィールドが構成されると、生成されたテンプレート・ファイルのMETADATA行に、フレックスフィールド・データをロードするために必要なすべての属性が含められます。

フレックスフィールド・コード

フレックスフィールド・データをロードするときは、次の形式でMETADATA行にフレックスフィールド・コードを指定する必要があります。

FLEX:<flexfield code>

たとえば、ジョブ付加フレックスフィールドのデータをロードする場合、フレックスフィールド・コードは次のようになります。

FLEX:PER_JOBS_DFF

ビジネス・オブジェクトの生成されたテンプレート・ファイルに、関連するフレックスフィールド・コードが含められます。

フレックスフィールド属性

フレックスフィールド属性名は、フレックスフィールドを構成するときに指定するものです。付加フレックスフィールドと拡張可能フレックスフィールドの両方に、1つ以上のコンテキストが含まれます。オブジェクトのMETADATA行にフレックスフィールド属性名を含める場合は、コンテキストを指定する必要もあります。次の形式でヒント値を指定して、属性が属するフレックスフィールドとコンテキストの両方を指定します。

<flexfield attribute name>(<flexfield code>=<context code>)

たとえば、PER_CONTRACT_LEG_DDF付加フレックスフィールドのコンテキスト・コードがCNである場合、その_MAIN_CONTRACT属性のMETADATA行のエントリは次のようになります。

_MAIN_CONTRACT(PER_CONTRACT_LEG_DDF=CN)

複数の付加フレックスフィールドを持つビジネス・オブジェクト

一部のビジネス・オブジェクト・コンポーネントは、複数の付加フレックスフィールドをサポートしています。単一のMETADATA行で、すべてのフレックスフィールドおよび構成済コンテキストに対して、すべての付加フレックスフィールド属性を含めることができます。属性ごとにフレックスフィールド・コードとコンテキストの両方を指定するため、このアプローチが可能になります。

参照により検証されるフレックスフィールド値

参照によって検証されるフレックスフィールド値には、参照コードと参照値のいずれかを指定できます。値を指定するには、METADATA行で属性名にサフィクス _Displayを追加する必要があります。

たとえば、構成済の性別フレックスフィールド属性には、参照コード(MまたはF)と値(MaleまたはFemale)のいずれかを指定できます。値を指定するには、次の例に示すように、属性名gender_Displayを使用します。

METADATA|Job|FLEX:PER_JOBS_DFF|gender_Display(PER_JOBS_DFF=JOBCONTEXT1)|...
MERGE|Job|JOBCONTEXT1|Male|...
MERGE|Job|JOBCONTEXT1|Female|...  

付加フレックスフィールドのデータのロード: 説明

このトピックでは、.datファイルでMETADATA行とMERGE行を構築して、付加フレックスフィールド・データを指定する方法について説明します。

METADATA行の構築

付加フレックスフィールドにより、ビジネス・オブジェクトが拡張されます。ビジネス・オブジェクト・コンポーネントのコア属性と同じMERGE行に、付加フレックスフィールドの属性を指定できます。METADATA行には、データをロードするフレックスフィールド・コードと付加フレックスフィールド属性の両方を含めることができます。生成されたビジネス・オブジェクト・テンプレートでは、構成済の付加フレックスフィールドのフレックスフィールド・コードと属性が自動的にMETADATA行に含まれます。

次の例は、PER_JOBS_DFF付加フレックスフィールドのエントリを含むジョブ・ビジネス・オブジェクトのMETADATA行を示しています。

METADATA|Job|FLEX:PER_JOBS_DFF|JobCode|ActiveStatus|FullPartTime|MedicalCheckupRequired|RegularTemporary|EffectiveStartDate|EffectiveEndDate|Name|SetCode|JobFamilyName|_JOB_LEVEL(PER_JOBS_DFF=US)

付加フレックスフィールド属性は、行の任意の場所に配置できます。末尾に追加する必要はありません。

MERGE行の構築

ビジネス・オブジェクト・コンポーネントのそれぞれの付加フレックスフィールドには、単一のMERGEレコードに1つのみのコンテキストを含めることができます。MERGE行に、METADATA行の付加フレックスフィールドのフレックスフィールド・コードに対するコンテキスト値を指定します。

次に例を示します。

METADATA|Job|FLEX:PER_JOBS_DFF|JobCode|ActiveStatus|FullPartTime|MedicalCheckupRequired|RegularTemporary|EffectiveStartDate|EffectiveEndDate|Name|SetCode|JobFamilyName|_JOB_LEVEL(PER_JOBS_DFF=US)
MERGE|Job|US|ACC|A|F|N|R|2000/01/01|4712/12/31|Accountant|COMMON|Finance|1

MERGE行には、コンテキスト値(US)が、METADATA行のフレックスフィールド・コード(FLEX:PER_JOBS_DFF)と同じ位置に配置されます。

複数のフレックスフィールド・コードとコンテキストに対するMERGE行の指定

単一のビジネス・オブジェクト・コンポーネントが複数の付加フレックスフィールドをサポートしている場合、一度にすべてのフレックスフィールド・データをロードできます。次の例は、就業者オブジェクトの契約コンポーネントに対するMETADATA行とMERGE行を示しています。各MERGE行は単一のコンテキストに対応します。

METADATA|Contract|AssignmentId|ContractId|EffectiveStartDate|EffectiveEndDate|FLEX:PER_CONTRACT_DF|FLEX:PER_CONTRACT_LEG_DDF|_CONTRACT_GLB(PER_CONTRACT_DF=Global Data Elements) |_Currency(PER_CONTRACT_DF=CONTRACT_DF) |_MAIN_CONTRACT(PER_CONTRACT_LEG_DDF=CH)|_CONST_PROB_DATE(PER_CONTRACT_LEG_DDF=CN)|_NDA(PER_CONTRACT_LEG_DDF=CN)|_COMPETETION_CLAUSE(PER_CONTRACT_LEG_DDF=CN)|_NOTICE_DURATION_UNIT(PER_CONTRACT_LEG_DDF=CN)
MERGE|Contract|E8732|39987|2013/12/14|2014/03/04|CONTRACT_DF|CN|Contract Glb value|USD|Contract Data|||
MERGE|Contract|E8732|39987|2014/03/05|4712/12/31|CONTRACT_DF|CH|Contract Glb value|USD||31/03/2015|NDA Value|Competition Clause Value

付加フレックスフィールドのデータのロード: 例

このトピックでは、複数の構成済の付加フレックスフィールドを含む就業者オブジェクトの契約コンポーネントに対してMETADATA行を構築する方法を示しています。生成された就業者テンプレートには、METADATA行が自動的に配置されます。

契約コンポーネントは、次の付加フレックスフィールドをサポートしています。

  • PER_CONTRACT_DF

  • PER_CONTRACT_LEG_DDF

就業者の契約コンポーネントに対するMETADATA行の構築

PER_CONTRACT_DF付加フレックスフィールドは、次の表に示すコンテキストと属性の値を使用して、Oracle HCM Cloudで構成されます。ヒント列は、各属性の結果のヒントを示しています。

コンテキスト 属性 ヒント

Global

CONTRACT_GLB

(PER_CONTRACT_DF=Global Data Elements)

CONTRACT_DF

Currency

(PER_CONTRACT_DF=CONTRACT_DF)

PER_CONTRACT_LEG_DDF付加フレックスフィールドは、次の表に示すコンテキストと属性の値を使用して、Oracle HCM Cloudで構成されます。ヒント列は、各属性の結果のヒントを示しています。

コンテキスト 属性 ヒント

CH

_MAIN_CONTRACT

(PER_CONTRACT_LEG_DDF=CH)

CN

_CONST_PROB_DATE

(PER_CONTRACT_LEG_DDF=CN)

CN

_NDA

(PER_CONTRACT_LEG_DDF=CN)

CN

_COMPETITION_CLAUSE

(PER_CONTRACT_LEG_DDF=CN)

CN

_NOTICE_DURATION_UNIT

(PER_CONTRACT_LEG_DDF=CN)

生成されたWorker.datテンプレート・ファイルでは、ContractのMETADATA行に、フレックスフィールド属性に対する次の属性定義が含まれています。

METADATA|Contract|...|_CONTRACT_GLB(PER_CONTRACT_DF=Global Data Elements) |_Currency(PER_CONTRACT_DF=CONTRACT_DF)|_MAIN_CONTRACT(PER_CONTRACT_LEG_DDF=CH)|_CONST_PROB_DATE(PER_CONTRACT_LEG_DDF=CN)|_NDA(PER_CONTRACT_LEG_DDF=CN)|_COMPETETION_CLAUSE(PER_CONTRACT_LEG_DDF=CN)|_NOTICE_DURATION_UNIT(PER_CONTRACT_LEG_DDF=CN)

各属性には、付加フレックスフィールドとコンテキストの両方を識別するヒントがあるため、同じMETADATA行で複数のフレックスフィールドの属性を定義できます。

拡張可能フレックスフィールドのデータのロード: 説明

このトピックでは、データ・ファイルでMETADATA行とMERGE行を構築して、拡張可能フレックスフィールド・データを指定する方法について説明します。

カテゴリ・コード

拡張可能フレックスフィールドには、フレックスフィールド・コードとカテゴリ・コードの両方が含まれます。カテゴリ・コードは、生成されたテンプレート・ファイルに自動的に指定され、属性名EFF_CATEGORY_CODEを持ちます。

METADATA行の構築

付加フレックスフィールドとは異なり、拡張可能フレックスフィールドはビジネス・オブジェクト・コンポーネントの拡張機能ではありません。正確には、これらはビジネス・オブジェクト階層の個別のコンポーネントです。拡張可能フレックスフィールドのデータを指定するには、単に、データ・ファイルに拡張可能フレックスフィールド・コンポーネントに対するMETADATA行を含めます。データを指定しない属性の名前は削除します。

次の例は、JobLegislative拡張可能フレックスフィールドに対するMETADATA行を示しています。

METADATA|JobLegislative|EFF_CATEGORY_CODE|FLEX:PER_JOBS_LEG_EFF|JobId(SourceSystemId)|JobCode|SetCode|EffectiveStartDate|EffectiveEndDate|SourceSystemOwner|SourceSystemId|LegislationCode|_EEO1_CATEGORY(PER_JOBS_LEG_EFF=HRX_US_JOBS)|_FLSA_STATUS(PER_JOBS_LEG_EFF=HRX_US_JOBS)|_INSEE_PCS_CODE(PER_JOBS_LEG_EFF=FR)|_ECAP_JOB(PER_JOBS_LEG_EFF=FR)|_LINE_OF_PROGRESSION(PER_JOBS_LEG_EFF=HRX_US_JOBS)

MERGE行の構築

拡張可能フレックスフィールド・レコードの各MERGE行には、1つのみのコンテキストを含めることができます。METADATA行に、拡張可能フレックスフィールドのフレックスフィールド・コードに対するコンテキスト値を指定します。

次の例は、JobLegislative拡張可能フレックスフィールドに対するMETADATA行と2つのMERGE行を示しています。

METADATA|JobLegislative|EFF_CATEGORY_CODE|FLEX:PER_JOBS_LEG_EFF|JobId(SourceSystemId)|JobCode|SetCode|EffectiveStartDate|EffectiveEndDate|SourceSystemOwner|SourceSystemId|LegislationCode|_EEO1_CATEGORY(PER_JOBS_LEG_EFF=HRX_US_JOBS)|_FLSA_STATUS(PER_JOBS_LEG_EFF=HRX_US_JOBS)|_INSEE_PCS_CODE(PER_JOBS_LEG_EFF=FR)|_ECAP_JOB(PER_JOBS_LEG_EFF=FR)|_LINE_OF_PROGRESSION(PER_JOBS_LEG_EFF=HRX_US_JOBS)
MERGE|JobLegislative|JOB_LEG|HRX_US_JOBS|OCT18EFF1|OCT18EFF1|COMMON|1990/01/01|4712/12
MERGE|JobLegislative|JOB_LEG|FR|OCT18EFF1|OCT18EFF1|COMMON|1990/01/01|4712/12/31|VISION|OCT18EFF1_LEG2|FR|||387b|N|
注意: ビジネス・オブジェクト階層の他のコンポーネントとは異なり、拡張可能フレックスフィールドは単独では指定できません。これらは親レコードとともに指定する必要があります。

複数行の拡張可能フレックスフィールド・コンテキスト

複数の行を持つ拡張可能フレックスフィールド・コンテキストを構成できます。この場合、複数行コンテキストの単一行を一意に識別するキーとして、1つ以上のフレックスフィールド・セグメントを構成します。HCMデータ・ローダーでは、これらのフレックスフィールド・セグメントをユーザー・キー属性として処理します。したがって、ユーザー・キーを使用して、単一のフレックスフィールド・レコードを一意に識別できます。

拡張可能フレックスフィールド・レコードを作成するときに、ユーザー・キーのフレックスフィールド・セグメント属性に値を指定する必要があります。複数行の拡張可能フレックスフィールド・レコードを更新するときは、ソース・キーと完全なユーザー・キー(一意キーとして定義されたフレックスフィールド・セグメントを含む)のいずれかを指定する必要があります。「拡張可能フレックスフィールドの管理」ページでフレックスフィールド・セグメント構成をレビューして、一意キーを形成するフレックスフィールド・セグメントを特定できます。一意キーが選択されているすべてのフレックスフィールド・セグメントが、ユーザー・キー属性です。

拡張可能フレックスフィールドのデータのロード: 例

このトピックでは、構成済のJobLegislative拡張可能フレックスフィールドを含むジョブ・ビジネス・オブジェクト・コンポーネントに対するMETADATA行の構築方法を示しています。生成されたジョブ・テンプレートには、METADATA行が自動的に配置されます。

JobLegislative拡張可能フレックスフィールドに対するMETADATA行の構築

PER_JOBS_LEG_EFF拡張可能フレックスフィールドは、次の表に示すコンテキストと属性の値を使用して、Oracle HCM Cloudで構成されます。ヒント列は、各属性の結果のヒントを示しています。

コンテキスト 属性 ヒント

CA

_EE0G

(PER_JOBS_LEG_EFF=CA)

CA

_NOC_CODE

(PER_JOBS_LEG_EFF=CA)

CH

_POSITION_TYPE

(PER_JOBS_LEG_EFF=CH)

FR

_ECAP_JOB

(PER_JOBS_LEG_EFF=FR)

FR

_INSEE_PCS_EXT_CODE

(PER_JOBS_LEG_EFF=FR)

生成されたJob.datテンプレート・ファイルでは、JobLegislativeのMETADATA行に、フレックスフィールド属性に対する次の属性定義が含まれています。

METADATA|JobLegislative|...|EFF_CATEGORY_CODE|FLEX:PER_JOBS_LEG_EFF|_EEOG(PER_JOBS_LEG_DFF=CA)|_NOC_CODE(PER_JOBS_LEG_DFF=CA)|_POSITION_TYPE(PER_JOBS_LEG_DFF=CH)|_ECAP_JOB(PER_JOBS_LEG_DFF=FR)|_INSEE_PCS_EXT_CODE(PER_JOBS_LEG_DFF=FR)