Options for Carrying Forward Changed Attribute Values in Retain Mode

When you update a date-effective object in Retain mode, you may want to carry changes forward to future-dated records. In this case, you can either specify an effective end date or carry the changes forward to all existing future-dated records.

This topic describes how to achieve each outcome and what to consider when deciding how to proceed.

Specifying an Effective End Date

This table shows the date-effective history of a Job object.

Effective Start Date

Effective End Date

Job Code

Job Name

Regular Temporary

Full Part Time

Active Status

2010/06/08

2012/01/09

ACC1

Accounts Clerk

T

PART_TIME

A

2012/01/10

2012/03/03

ACC1

Accounts Clerk

T

FULL_TIME

A

2012/03/04

4712/12/31

ACC1

Accounts Administrator

T

FULL_TIME

A

To change the Regular Temporary value from T to R for the period from 2011/03/04 to 2014/04/04, you include these instructions in the .dat file:

SET PURGE_FUTURE_CHANGES N
METADATA|Job|SourceSystemId|EffectiveStartDate|EffectiveEndDate|ReqularTemporary
MERGE|Job|45346|2011/03/04|2014/04/04|R

After update, the Job object is as shown in this table.

Effective Start Date

Effective End Date

Job Code

Job Name

Regular Temporary

Full Part Time

Active Status

2010/06/08

2011/03/03

ACC1

Accounts Clerk

T

PART_TIME

A

2011/03/04

2012/01/09

ACC1

Accounts Clerk

R

PART_TIME

A

2012/01/10

2012/03/03

ACC1

Accounts Clerk

R

FULL_TIME

A

2012/03/04

2014/04/04

ACC1

Accounts Administrator

R

FULL_TIME

A

2014/04/05

4712/12/31

ACC1

Accounts Administrator

T

FULL_TIME

A

A new date-effective record is created for both the start and end dates of the change. The Regular Temporary attribute is updated for the specified period. All other attributes keep their existing values.

Applying Changes to All Future-Dated Records

You can use the #ALL token in place of an effective end date. This token specifies explicitly that your changes apply to all future-dated records, regardless of the object's end date.

For example, you want to make these changes to the Job object:

  • Change the Regular Temporary value from T to R.

  • Set the effective start date of the change to 2011/03/05.

  • Apply the changes to all future-dated records.

You include these instructions in the data file:

SET PURGE_FUTURE_CHANGES N
METADATA|Job|SourceSystemId|EffectiveStartDate|EffectiveEndDate|ReqularTemporary
MERGE|Job|45346|2011/03/04|#ALL|R

After update, the Job object is as shown in this table.

Effective Start Date

Effective End Date

Job Code

Job Name

Regular Temporary

Full Part Time

Active Status

2010/06/08

2011/03/03

ACC1

Accounts Clerk

T

PART_TIME

A

2011/03/04

2012/01/09

ACC1

Accounts Clerk

R

PART_TIME

A

2012/01/10

2012/03/03

ACC1

Accounts Clerk

R

FULL_TIME

A

2012/03/04

4712/12/31

ACC1

Accounts Administrator

R

FULL_TIME

A

You can achieve the same result by leaving the effective end date in the .dat file blank or setting it explicitly to 4712/12/31. However, you must use the #ALL tag for any object that has an explicit end-date.