付加フレックスフィールドのデータのロード方法
このトピックでは、.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に設定されます。