Migration route

    PeopleSoftSAP SuccessFactors

    PeopleSoft to SAP SuccessFactors Data Migration

    Migrate core hr, job history, compensation from Oracle PeopleSoft to SAP SuccessFactors Employee Central using a controlled process for extraction, mapping, transformation, validation, loading and reconciliation.

    Migration overview

    PeopleSoft to SuccessFactors is a cross-vendor HCM move where, unusually, both systems model history as effective-dated rows. That makes the conceptual translation easier than a move to an event-based target — and shifts the difficulty onto reference data and load order.

    It typically follows an enterprise decision to standardise on SAP, so the HCM migration runs alongside or behind an ERP programme with its own organisational design.

    Typical data scope

    Scope is agreed in discovery. On this route it usually covers:

    Core HR

    Domain in scope for a typical PeopleSoft to SAP SuccessFactors programme.

    Job history

    Domain in scope for a typical PeopleSoft to SAP SuccessFactors programme.

    Compensation

    Domain in scope for a typical PeopleSoft to SAP SuccessFactors programme.

    Organisational data

    Domain in scope for a typical PeopleSoft to SAP SuccessFactors programme.

    Migration architecture

    One controlled pipeline, run as repeatable cycles.

    PeopleSoftDataMoveTransformation & validationSAP SuccessFactorsDataVault reconciliationDataLens

    Extracting from PeopleSoft

    What the source platform makes available, and the constraints that shape the extraction design.

    Effective-dated rows are the data modelPeopleSoft stores history as effective-dated, effective-sequenced rows. JOB in particular is a row per change, and the current record is whichever row is latest as at a date — not a flag. Extracting only current state throws away the history most HCM targets want.
    SetID and TableSet sharingReference data is scoped by SetID, so the same department or job code can mean different things in different business units. Flatten it and organisational structure silently merges.
    Translate valuesShort codes validate against the translate table rather than storing labels. Pulled with the transactions or the target inherits codes nobody can interpret.
    EMPLID, EMPL_RCD and concurrent jobsA worker is EMPLID plus employment record number. Someone with two concurrent jobs is two rows, and treating EMPLID as the unique key collapses them.
    Component interfaces vs direct SQLComponent interfaces apply PeopleSoft's own business rules and are slow at volume; direct SQL against the tables is fast and bypasses those rules. Migration extraction generally reads the tables, which means the rules have to be reimplemented in validation.
    Custom and bolt-on recordsA long-lived PeopleSoft estate carries customised records and bolt-ons holding data the business depends on. Profiling finds them; a standard object list does not.

    Source-to-target mapping

    A mapping workbook carries every field in scope from its PeopleSoft source through its transformation rule to the SAP SuccessFactors target object and field. It is reviewed and approved with the business before the production migration, and applied identically in every cycle so a decision made once is not re-made under cutover pressure.

    Transformation challenges on this route

    The differences between PeopleSoft and SAP SuccessFactors that create most of the work.

    Effective dating maps, but the rules differ

    PeopleSoft's effective date plus effective sequence becomes SuccessFactors' dated job_info rows, which must be chronologically sequenced and non-overlapping.

    SetID-scoped data to Foundation Objects

    Departments, jobs and locations scoped by SetID become single Foundation Object values, so collisions between business units are resolved explicitly rather than merged silently.

    Translate values to picklists

    Site-specific PeopleSoft translate values are crosswalked to approved SuccessFactors picklist values as reference data in their own right.

    Concurrent jobs

    A worker with multiple EMPL_RCDs must be expressed in the target's own model for multiple employments rather than collapsed.

    Load order is design

    Foundation Objects, positions, basic user, biographical, employment, job history, manager, compensation. Employee Central rejects out-of-order references.

    How SAP SuccessFactors accepts the data

    Load order is part of the design, not an implementation detail.

    1. 1Foundation Objects firstLegal Entity, Business Unit, Division, Department, Location, Job Classification, Pay Group and Cost Center. Everything else references these and nothing downstream succeeds until they are correct.
    2. 2PositionsWhere position management is in scope, positions exist before a worker can be assigned to one, and position-to-position reporting is established here.
    3. 3Basic user informationPerson ID External and User ID — where the legacy employee number is either retained or cross-referenced. That decision determines whether history stays traceable to the source.
    4. 4Biographical and personal informationName, date of birth, national identifiers, addresses, contacts, dependants, with country-specific field requirements applying here.
    5. 5Employment informationHire, rehire and termination dates and employment status, which anchor every dated record that follows.
    6. 6Job history (job_info)The effective-dated heart of Employee Central. Every job, transfer, position, manager and status change is a dated row, chronologically sequenced and non-overlapping, each referencing Foundation Objects that already exist.
    7. 7Manager assignmentSelf-referential — a worker's manager is another worker — so either the hierarchy loads in dependency order or managers are assigned in a second pass.
    8. 8CompensationBase salary, salary basis, pay frequency, pay components and allowances, effective-dated and validated against the Pay Group Foundation Object.

    Employee Central rejects a worker whose department, position, job classification or manager does not already exist, which makes load order part of the design rather than an implementation detail.

    Validation and reconciliation

    Validation before load

    Mandatory fields, referential integrity, format checks, business-rule validation and duplicate detection run on the prepared data, so problems surface as reportable exceptions rather than as failed loads in SAP SuccessFactors.

    Reconciliation after load

    Source counts, transformed counts, rejected records and target counts, with control totals where the data supports them. Every discrepancy is categorised so the migration is approved on evidence rather than assertion.

    Migration cycles

    The pipeline is run end to end more than once before anything touches production. A typical structure is a first rehearsal that surfaces the bulk of mapping and data-quality corrections, a second that applies them and demonstrates production readiness, and the production cutover itself. How many cycles a programme needs depends on data quality and scope, which is established during discovery.

    1. 1Mock / PPR 1First full extract, transform, load, reconcile and exception analysis. Expect the largest correction list here.
    2. 2Mock / PPR 2Corrections applied, re-extract, re-run. Intended to closely replicate the production migration.
    3. 3Production cutoverFinal extract, data freeze, load, reconciliation, business validation and sign-off.

    Common risks on this route

    Foundation Object design lagging

    Mapping cannot complete against an organisational structure still being agreed.

    Customised PeopleSoft records missed

    Profiling finds them; an object checklist does not.

    Manager hierarchy loaded in one pass

    Self-referencing data needs ordering or a second pass.

    Planning this migration?

    Tell us your source system, target platform, modules, data volumes and timeline. We can discuss the closest relevant migration experience and the recommended approach.