How You Load Data for Descriptive Flexfields

This topic describes how to construct METADATA and MERGE lines in a .dat file to supply descriptive flexfield data.

Constructing the METADATA Line

Descriptive flexfields extend a business object. You can supply the attributes of the descriptive flexfield on the same MERGE line as the core attributes of the business-object component. On the METADATA line, you must include both the flexfield code and the descriptive flexfield attributes for which you want to load data. In a generated business-object template, the METADATA line automatically includes the flexfield code and attributes for configured descriptive flexfields.

This example shows the METADATA line for the Job business object with entries for the PER_JOBS_DFF descriptive flexfield:

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

The descriptive flexfield attributes can appear anywhere on the line. You don't have to append them at the end.

Constructing the MERGE Lines

For each descriptive flexfield for a business-object component, a single MERGE record can have only one context. You specify the context value on the MERGE line against the flexfield code for the descriptive flexfield in the METADATA line.

For example:

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

On the MERGE line, the context value (US) appears in the same position as the flexfield code (FLEX:PER_JOBS_DFF) on the METADATA line.

Supplying MERGE Lines for Multiple Flexfield Codes and Contexts

When a single business object component supports multiple descriptive flexfields, you can load all of the flexfield data at once. The following example shows METADATA and MERGE lines for the Contract component of the Worker object. Each MERGE line is for a single context.

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

Updating Global Segments

You can configure both global and context-specific segments for a flexfield. When updating global segments in records that have context-specific segments, set the context value to the existing context value, not Global Data Elements. If you set the context value to Global Data Elements, then existing context-specific values are set to null because the context has changed. For example, consider these two segments of a flexfield record:

Segment

Global

Context

Segment 1

Yes

Not applicable

Segment 2

No

CN

If you update segment 1, which is a global segment, then you must set the context to CN, not Global Data Elements. Otherwise, the existing contents of segment 2 are set to null.