Integration
Migrating student demographics, academic programs, enrollment records, and grade history from Infor CloudSuite Higher Education to Workday Student using a structured ETL workbench with automated schema mapping and multi-term validation.
This engagement migrates the core student record from Infor CloudSuite Higher Education (formerly SunGard Banner on Infor infrastructure) into Workday Student, including person records, academic programs, enrollment history, grades, and financial holds.
The primary challenge is reconciling Infor's deeply normalized, ad-hoc extension tables—often carrying decades of custom fields and non-standard codes—with Workday's opinionated, worker-centric data model. Academic calendars, program ownership, and multi-term enrollment sequencing require careful re-hosting to avoid data loss and reporting breaks in student-facing services.
A working piece from this integration — no sign-up. The full build handles the edge cases, safeguards, and cutover.
Mapping student core records from Infor CloudSuite HEDU (Banner) to Workday Student:/* Entity Mapping: Infor (Banner) → Workday Student *//* Infor extraction: student demographics + active program */ SELECT spr.pidm AS source_pidm, spr.surname AS legal_last_name, spr.first_name AS legal_first_name, spr.birth_date AS birth_date, spr.sex AS gender_code, spr.email_address AS primary_email, sgb.sgbstdn_term_code_eff AS effective_term, sgb.sgbstdn_styp_code AS student_type, maj.stvmajr_desc AS primary_major_desc FROM spriden spr JOIN sgbstdn sgb ON spr.pidm = sgb.pidm JOIN stvmajr maj ON sgb.majr_code_1 = maj.stvmajr_code WHERE spr.entity_ind = 'P' AND spr.change_ind IS NULL AND sgb.sgbstdn_term_code_eff = :migration_term AND sgb.sgbstdn_stst_code = 'AS' -- Active Student Status; /* Target Workday Student payload (JSON, via WQL or Studio) */ { "Academic_Supplement": { "Student": { "Student_ID": "HEDU-PIDM-284751", "Legal_Last_Name": "Martinez", "Legal_First_Name": "Sofia", "Birth_Date": "2001-03-12" }, "Academic_Period_Reference": { "Academic_Period_ID": "2025SP" }, "Academic_Program_Data": { "Program": "BS Computer Science", "Student_Type": "Undergraduate", "Matriculation_Date": "2024-08-26" } } }
Infor Entity/Table Source Field → Workday Field SPRIDENSPRIDEN_PIDM→ Student.Workday_IDSPRIDENSPRIDEN_SURNAME→ Student.Legal_Last_NameSPRIDENSPRIDEN_FIRST_NAME→ Student.Legal_First_NameSPRIDENSPRIDEN_BIRTH_DATE→ Student.Birth_DateSGBSTDNSGBSTDN_TERM_CODE_EFF→ Academic_Period.Start_DateSTVMAJRSTVMAJR_DESC→ Academic_Program.Major
How we'd take this from discovery to a production-safe cutover — the phases, the canonical mapping, and the edge cases that bite.
This implementation pathway governs the migration of core student data from Infor CloudSuite Higher Education to Workday Student using a structured ETL workbench. The approach follows a discover–validate–load–reconcile methodology with a controlled cutover window and full reversibility safeguards.
PS_PERSONAL_DATA, PS_ACAD_PROG, PS_STDNT_CARTERM, PS_STDNT_ENRL, PS_PERSON_NAME, and PS_EMAIL_ADDRESSES. Extract record counts, identify nullable columns, and profile data distributions (enrollment terms, program codes, grade schemes). Confirm Infor extract method: direct DB connection, CSV export via Process Scheduler, or Infor OS API.Student, Academic_Program, Academic_Record, Course_Section_Enrollment, Academic_Grade. Align source attributes to Workday business objects using the ETL workbench mapping canvas. Validate referential integrity: every EMPLID must resolve to a Student_ID; every ACAD_PROG must exist in Academic_Program.EMPLID zero-padded to 10 characters maps to Student.Student_ID; PS_PERSONAL_DATA.BIRTHDATE reformat to YYYY-MM-DD for Student.Date_of_Birth. Encode ENRL_STATUS translation table (A→Active, D→Withdrawn, W→Leave of Absence). Wire staging tables between extract and load layers to enable pre-load auditing.EMPLID values, malformed email addresses, and future-dated enrollments. Route exceptions to a remediation queue; require human sign-off before load. Reject records with unresolved primary-key collisions; insert placeholder rows with STATUS=Pending for orphaned program affiliations.| Source Entity.Column | Workday Business Object.Field | Transform Logic | Validation Rule |
|---|---|---|---|
PS_PERSONAL_DATA.EMPLID |
Student.Student_ID |
Zero-pad to 10 characters; strip leading alpha prefix | UNIQUE; NOT NULL; matches ACAD_PROG.EMPLID |
PS_PERSON_NAME.FIRST_NAME |
Student.Legal_First_Name |
Direct map; use PREFERRED_FIRST_NAME if populated |
MAX 50 chars; no numeric characters |
PS_PERSON_NAME.LAST_NAME |
Student.Legal_Last_Name |
Direct map; apply suffix normalization (JR/SR → stripped) |
MAX 50 chars; NOT NULL |
PS_PERSONAL_DATA.BIRTHDATE |
Student.Date_of_Birth |
Reformat MM/DD/YYYY → YYYY-MM-DD |
NOT FUTURE; NOT NULL; age >= 16 |
PS_ACAD_PROG.ACAD_PROG |
Academic_Program.Program_Code |
Lookup map: UG→UG-BACH, GR→GR-MAST |
Exists in Academic_Program reference table |
PS_STDNT_CARTERM.STRM |
Academic_Period.Academic_Period_ID |
Map term code: 2241→FY2024, 2244→SP2024 |
Active period in Workday tenant |
PS_STDNT_ENRL.ENRL_STATUS |
Course_Section_Enrollment.Enrollment_Status |
Translate: A→Enrolled, D→Withdrawn, X→Cancelled |
NOT NULL; consistent with academic period |
PS_EMAIL_ADDRESSES.EMAIL_ADDR |
Student.Primary_Email_Address |
Direct map; prefer TYPE=O (official) over TYPE=C (campus) |
Valid RFC 5321 format; NOT NULL after transform |
PS_PERSONAL_DATA than in PS_PERSON_NAME; the ETL must resolve to a single canonical legal name or flag for manual review.PS_ACAD_PROG referencing a PROGRAM_ACTION of DIS (discontinued) that lack a corresponding active enrollment term must be loaded as inactive programs, not rejected.EMPLID collisions require prepending INSTITUTION code to the Student_ID.PS_ADDRESSES uses state/province codes that do not map to Workday's country-specific address schemas; enforce country-specific address transformation rules.PS_Holds; these must map to Workday's Student_Restriction object with a one-to-many cardinality check, as multiple holds per student are permitted.Initiate the cutover at a scheduled maintenance window with no active registration periods. Lock PS_PERSONAL_DATA, PS_STDNT_ENRL, and PS_STDNT_CARTERM for transactional writes in Infor by enabling database row security or suspending the relevant Process Scheduler jobs. Execute the final incremental extract capturing all ADD_DTTM timestamps greater than the previous full-extract checkpoint. Apply the complete ETL delta job to Workday staging, run the reconciliation compare (extracted vs. loaded counts by entity), and require sign-off from both the data migration lead and the academic records registrar before flipping the system-of-record flag. Maintain the Infor database and Workday staging environment in read-only restore mode for 30 days post-cutover to allow a point-in-time rollback if critical data integrity issues surface. Activate Workday inbound integrations (banner/portal sync, financial aid feeds) only after confirming zero reconciliation gaps on the core student population.
Reading the reference is free. Delivering it under liability — with the safeguards that keep production running through the cutover — is what we do.