P6 and Microsoft Project

P6 Cstr_type ↔ Project Constrainttype

P6 CS_* ↔ Project ConstraintType 0–7; holes marked

P6 Status tab Constraints group. Primary and Secondary show None.
A P6 constraint is a Status-tab choice. An MSP Deadline is a different field.

Only pairs we can source from both sides. P6 codes are from Oracle CPP / Prime maps + MPXJ PrimaveraReader, not from the XER TASK column map (that map only says cstr_type = Primary Constraint). Project integers are Microsoft ConstraintType.

Sourced pairs

P6 (CS_*)Project ConstraintTypeNotes
CS_ALAP1 As late as possiblePrime map + MPXJ. Not in the CPP list fetched
CS_MSOA4 Start no earlier thanMPXJ; Oracle "Start On or After"
CS_MSOB5 Start no later thanMPXJ; Oracle "Start On or Before"
CS_MEOA6 Finish no earlier thanMPXJ; Oracle "Finish On or After"
CS_MEOB7 Finish no later thanMPXJ; Oracle "Finish On or Before"
CS_MSO2 Must start onNot the same. P6 help: Start On is soft. Project MSO is a must
CS_MEO3 Must finish onSame caveat (P6 Finish On is soft in P6 help)
CS_MANDSTART2 Must start onP6 mandatory overrides network logic. Project has no separate mandatory. MPXJ collapses this with CS_MSO
CS_MANDFIN3 Must finish onSame collapse

Holes (do not invent a pair)

HoleWhy
P6 "no constraint" / ASAPWhether XER stores blank, CS_ASAP, or omits the field is unverified. Project ASAP is ConstraintType 0. CPP lists CS_ASAP; historical MPXJ map we fetched did not include it
CS_ASAP → 0Plausible, not dual-sourced from MPXJ + a live XER
Secondary constraint cstr_type2Project has one constraint per task. Drop / ignore is the usual converter outcome; unverified as MPXJ behavior
Expected Finish (expect_end_date)Not a cstr_type. No cited MSPDI equivalent
CPP vs P6-help hard/softCPP tags CS_MSO / CS_MEO / CS_MSOB / CS_MEOB as hard. P6 Professional/EPPM help: only Mandatory Start/Finish are hard. Write both; do not pick

A round-trip cannot restore Mandatory vs Start On / Finish On. That is a proved team fact (msp/constraints.md).

Never write a real MPP. Generate MSPDI.

Sources

Back to top