Establishing a system of record

In the WFM database, certain tables are marked as using 'static IDs'.

For tables with static IDs and as a general best practice, it is required that there is only one system of record when using the Migration Tool. Duplicate key errors often result if this requirement is not adhered to.

It is crucial to identify your system of record when using the Migration Tool in WFM. The system of record is the authoritative data source for given data element within the WFM database. Without a system of record, the integrity and validity of the data in your database is called into question.

An example of this situation can be illustrated with the MAINTENANCE_FORM table.

For example, a user creates new forms through the Maintenance Forms page within WFM in environment SourceA which is your system of record. Simultaneously, additional maintenance forms are created in environment TargetB which is the destination or target of your data migration. This example does not have a single system of record since maintenance forms are simultaneously created in your source and target environments. This scenario is not supported since the Migration Tool uses the primary key to compare the records of these tables and having more than one system of record causes synchronization issues with the sequences between environments.

When using the Migration Tool, you must only create maintenance forms in the system of record. This is generally your source environment. You can use the Migration Tool to move the maintenance forms to a target environment.

If custom maintenance forms are already present in your target environment and you want to use the Migration Tool, then you can use this procedure:

  1. Create a backup of your TargetB environment database.
  2. Restore the backup created in step 1 in your system of record environment of SourceA.
  3. Start creating new forms in the system of record environment of SourceA.
  4. Use the Migration Tool to export from the SourceA environment to TargetB environment.
  5. Repeat steps 1 and 2 if any new forms are added to your target environment by means other than migration from the system of record that is SourceA.

Note that this is only an example using the MAINTENANCE_FORM table. The same system of record rule applies to all tables that use static IDs.

Tables that use Static IDs

  • ACCT_ACCOUNT
  • ACCT_DIMENSION
  • ACCT_ENTITY
  • ACCT_PROJECT
  • ACCT_UNIT
  • BUSINESS_OBJECT_STATUS
  • BUSINESS_OBJECT_TYPE
  • BUSOBJTYP_VERSION
  • CLOCK_TRAN_TYPE
  • CLSC_EHR_PTCARETYP_SEC_FLD
  • CLSC_GOV_REP_CODE
  • CLSC_IND_WKLD_CALC_FIELD
  • CLSC_IND_WKLD_MATH_OPR
  • CLSC_IND_WKLD_OPERAND
  • CLSC_IND_WKLD_TMPL_CALC
  • CLSC_IND_WKLD_TMPL_HEADER
  • CLSC_INTERVENTION_TYPE
  • CLSC_JOB_TEAM
  • CLSC_PT_ALERT
  • CLSC_PT_CARE_SERVICE
  • CLSC_PT_CARE_TYPE
  • CLSC_PT_CARE_TYPE_CAT
  • COMPARE_TYPE
  • CONTEXT_HELP
  • DATE_FORMAT
  • DATE_FORMAT_LOCALE
  • DAY_TYPE
  • DURATION_FORMAT
  • FIELD_TYPE
  • FORECAST_DRIVER
  • FORECAST_DRIVER_TYPE
  • FORECAST_FACILITY
  • FORECAST_GRANULARITY
  • HELP
  • HISTORY_PERMISSION
  • JOBSKD_CFG
  • JOBSKD_TASK
  • JOBSKD_TASK_PARAM
  • JSP_PARAM_VALD
  • JSP_VALD
  • MAINT_FRM_SEC_HDNG
  • MAINTENANCE_FORM
  • MAINTENANCE_FORM_TYPE
  • MATH_OPERATOR
  • MESSAGE_HEADER_TYPE
  • MESSAGE_TYPE
  • MESSAGE_TYPE_URL
  • MESSAGE_TYPE_URL_PARAM
  • OVERRIDE_TYPE
  • PARAM_TYPE
  • POP_UP
  • PROCEDURE_TABLE
  • READER_CONF_FIELD_TYPE
  • READER_CONF_PROP_DEF
  • READER_PROP_DEF
  • READER_PROP_TYPE
  • RELATED_LINK
  • ROLL_TYPE
  • SCH_SHIFT_OFFER_CHANNEL
  • SCH_SHIFT_OFFER_REJ_REASON
  • SCH_SHIFT_OFFER_STATUS
  • SELECT_DICTIONARY
  • SHIFT_PREMIUM_ZONE
  • SHIFT_PREMIUM_ZONE_DTTYPE
  • SO_CLIENT_STFDEF
  • SO_CLIENT_TYPE
  • SO_CLIENTYP_STFDEF
  • SO_CORP_ENT_HOUR
  • SO_DISTRIB_DETAIL
  • SO_DISTRIBUTION
  • SO_DISTRIBUTION_TYPE
  • SO_EMP_GRP_ACTRUL
  • SO_EMP_GRP_SHFTRUL
  • SO_EMPLOYEE_GROUP
  • SO_EMPLOYEE_GRPRUL
  • SO_EVENT_TYPE
  • SO_FCAST
  • SO_FCAST_DETAIL
  • SO_FCAST_GROUP
  • SO_FCAST_SOURCE
  • SO_FCAST_SPEC_DAY
  • SO_FCAST_SPEC_DET
  • SO_FISCAL_YEAR
  • SO_INTERVAL_OVER
  • SO_INTERVAL_REQ
  • SO_INTERVAL_TYPE
  • SO_LEVERAGE_MATRIX
  • SO_POSN_SET_ELMTS
  • SO_PROMO_SUBCATEGORY
  • SO_RULE
  • SO_RULE_GROUP
  • SO_RULE_GRP_TYPE
  • SO_RULE_PARM_TYPE
  • SO_RULE_PARM_VALUE
  • SO_RULE_TYPE
  • SO_SCHEDULE
  • SO_SCHEDULE_GROUP
  • SO_SCHEDULE_METRICS
  • SO_SCHEDULE_PROF
  • SO_SHIFT_STAFF_REQ
  • SO_SKD_EMPGRP
  • SO_SKDPROF_EMPGRP
  • SO_STAFFING_REQ_TYPE
  • SO_STDVOL_OVER
  • SO_STFDEF_DIST_OVR
  • SO_STFRND_METHOD
  • SO_STFRND_RULE_DETAIL
  • SO_STFRND_RULES
  • SO_TA_GROUP
  • SO_TA_GROUP_TEAM
  • SO_TASK_LIST_TMPLT
  • SO_TASK_TMPLT
  • SO_TASK_TYPE
  • SO_VOLTYP_SMRYTYPE
  • SO_VOLUME_DIST_OVR
  • SO_VOLUME_TYPE
  • SO_VOLUME_WORKLOAD
  • SR_SHIFT_OFFSET
  • TASK_PARAM
  • TASK_SCHEDULE
  • TIME_OFF_TYPE_APPROVAL_LVL
  • TIMEZONE
  • VALIDATOR_SETTING
  • VR_CONTENT
  • VR_TOC
  • WB_API
  • WB_API_FORMAT
  • WB_CUSTOM_DATA
  • WB_LOCALZD_TBL
  • WB_SURVEY_TYPE
  • WB_USER_DELEGATE_TYPE
  • WBINT_TYPE
  • WORKBRAIN_DISPLAY_TYPE
  • WORKBRAIN_LANGUAGE
  • WORKBRAIN_LOCALE
  • WORKBRAIN_MSG_LOCALE_DOMAIN
  • WORKBRAIN_PAGE
  • WORKBRAIN_PERMISSION
  • WORKBRAIN_REGISTRY
  • WORKBRAIN_VERSION
  • WORKFLOW_ACTION
  • WORKFLOW_FLOW