Locked choice sets
These values are choice sets in the data model, not tables, and their integers are fixed. Ten to twelve years of migrated history carries them, and business logic branches on them, so they cannot be edited here. If a list you expected to find is missing, it is on this page — the application is not broken.
Why this screen is read-only
Changing a fixed integer silently repoints migrated records at a different meaning. A change here is a code and migration change, not a configuration change, so it goes through a change request rather than an edit.
- Mastered in
- Platform 1 CHOICES.md for the inherited sets, the EPMS data model for the rest
A raised request is captured with its justification and reviewed by the platform team before any integer is added or retired.
Structural choice sets
40 locked sets
| Choice set | Integers owned by | Members | Business logic that depends on it | Actions |
|---|---|---|---|---|
| Account categoryseco_accountcategory | Platform 1 | 3 | Customer / Partner / Supplier only. Machine tool builder and distributor are SALES CHANNELS and live in the seco_channel reference table — end-user compliance checks read seco_channel.seco_requiresenduser, not the account category. | |
| Agreement kindseco_agreementkind | Platform 1 | 3 | Purchase order, letter of intent or long-term agreement. A statement of work is its own table (seco_sow) and an NDA is a document type — neither belongs here. | |
| Approval decisionseco_approvaldecision | Platform 1 | 4 | Approval outcome and escalation behaviour branch on it. | |
| Approval trackseco_approvaltrack | Platform 1 | 2 | Commercial and technical approvals run as separate tracks, and decline reasons group on the same distinction. | |
| Approver sourceseco_approversource | Platform 2 | 5 | Approval chain resolution reads this to decide who is asked: a named person, a role holder in an iHub or business unit, a manager, or a team. | |
| Archive destinationseco_archivedestination | Platform 2 | 3 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Audience sourceseco_audiencesource | Platform 2 | 5 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Blast severityseco_blastseverity | Platform 2 | 3 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Compartmentseco_compartment | Platform 2 | 3 | Gate steps and required-field rules are scoped to a compartment. | |
| Compartment modelseco_compartmentmodel | Platform 2 | 2 | Gate template compartments are validated against the model declared on the project type. | |
| Cost categoryseco_costcategory | Platform 1 | 7 | Cost sub-categories are children of these fixed parents; finance reporting rolls up on the integer. | |
| Delegation scopeseco_delegationscope | Platform 2 | 3 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Deployment regionseco_deploymentregion | Platform 2 | 3 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Environmentseco_environment | Platform 2 | 3 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Escalation policyseco_escalationpolicy | Platform 2 | 5 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Event kindseco_eventkind | Platform 1 | 6 | Carried by Platform 1 records and reported on; no Platform 2 rule branches on it. | |
| Feedback sourceseco_feedbacksource | Platform 1 | 2 | Carried by Platform 1 records and reported on; no Platform 2 rule branches on it. | |
| Gate kindseco_gatekind | Platform 1 | 2 | Gate template rules treat decision gates and review gates differently when checking a template can complete. | |
| Languageseco_language | Platform 1 | 6 | Notification templates are authored per language. | |
| Mastered byseco_masteredby | Platform 2 | 2 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Notification channelseco_notificationchannel | Platform 2 | 3 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Participant roleseco_participantrole | Platform 1 | 3 | External access rules grant a portal role from the participation record: customer contact, partner contact or observer. | |
| Platformseco_platform | Platform 2 | 9 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Project grant typeseco_projectgranttype | Platform 2 | 5 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Proposal kindseco_proposalkind | Platform 1 | 2 | Technical or commercial. A revision is a version (seco_proposal.seco_version), not a kind. | |
| Request originseco_requestorigin | Platform 1 | 3 | Routing conditions branch on where a request came from: Opportunity, Internal or Portal. There is no migrated origin in the spine. | |
| Resource kindseco_resourcekind | Platform 1 | 2 | Person or Equipment. The spine does not distinguish employment type, so cost rate and capacity rules separate people from equipment and nothing else. | |
| Restrictionseco_restriction | Platform 1 | 4 | CRM-mastered: the CRM tells EPMS that a project or opportunity is restrictive. NDA restricted (100000003) is the December default; ITAR is listed but not in scope for this build. Access rules refuse restricted work to a person without matching clearance, and the Restriction handling reference list declares what each kind withholds. | |
| Restriction originseco_restrictionorigin | Platform 1 | 2 | Says whether a restriction came from the CRM (the master) or was set by hand because the CRM was unavailable. Restriction handling reads it to decide whether a value may be edited in EPMS at all. | |
| Retention basisseco_retentionbasis | Platform 2 | 3 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Role levelseco_rolelevel | Platform 2 | 4 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Routeseco_projectroute | Platform 1 | 5 | Routing rules resolve to one of these routes; the first-match evaluator returns the integer. Reviewed (back to sales) is a review outcome, not a requestable route. | |
| Setting scopeseco_settingscope | Platform 2 | 2 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Stageseco_stage | Platform 1 | 9 | Gate template validation orders steps by stage, and required-field rules are declared per stage. | |
| Sync directionseco_syncdirection | Platform 2 | 4 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Sync mechanismseco_syncmechanism | Platform 2 | 3 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Sync stateseco_syncstate | Platform 1 | 5 | CRM field mapping and integration logging carry it on every mirrored record. Not applicable replaces the old Not synced; Superseded replaces Detached. | |
| Value typeseco_valuetype | Platform 2 | 6 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Web roleseco_webrole | Platform 2 | 3 | Nothing in Platform 2 branches on this set today. It stays locked because migrated records carry its integers. | |
| Yes / Noseco_yesno | Platform 1 | 2 | A shared two-member set used across Platform 1 forms. |
Change requests raised against locked sets
- No change request has been raised yet.