METADATAおよびMERGE行を使用して付加フレックスフィールド・データを.datファイルに含めるにはどうすればよいですか。
このトピックでは、.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
グローバル・セグメントの更新
フレックスフィールドのグローバル・セグメントとコンテキスト固有のセグメントの両方を構成できます。 コンテキスト固有のセグメントがあるレコードでグローバル・セグメントを更新する場合は、Global Data Elementsではなく既存のコンテキスト値にコンテキスト値を設定します。 コンテキスト値をGlobal Data Elementsに設定すると、コンテキストが変更されるため、既存のコンテキスト固有の値がnullに設定されます。 たとえば、フレックスフィールド・レコードに次の2つのセグメントがあるとします。
|
セグメント |
グローバル |
コンテキスト |
|---|---|---|
|
セグメント 1 |
はい |
該当なし |
|
セグメント 2 |
いいえ |
CN |
セグメント1 (グローバル・セグメント)を更新する場合は、コンテキストをGlobal Data ElementsではなくCNに設定する必要があります。 そうしないと、セグメント2の既存のコンテンツがnullに設定されます。
付加フレックスフィールドのデータのロードの例
この項では、複数の構成済付加フレックスフィールドを持つ就業者オブジェクトの契約コンポーネントのMETADATA行を定義する方法について説明します。 生成された就業者テンプレートには、METADATA行が自動的に配置されます。
契約コンポーネントは、次の付加フレックスフィールドをサポートしています。
-
PER_CONTRACT_DF
-
PER_CONTRACT_LEG_DDF
就業者の契約コンポーネントに対するMETADATA行の構築
PER_CONTRACT_DF付加フレックスフィールドは、次の表に示すコンテキストと属性の値を使用して、Oracle HCM Cloudで構成されます。 ヒント列は、各属性の結果のヒントを示しています。
|
コンテキスト |
属性 |
ヒント |
|---|---|---|
|
グローバル |
CONTRACT_GLB |
(PER_CONTRACT_DF=Global Data Elements) |
|
CONTRACT_DF |
通貨 |
(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行で複数のフレックスフィールドの属性を定義できます。