Skip to content

Entity Subordinate Behaviors

Use cases and scenarios for the GEN::ENTSUB (Entity Subordinate) area. These behaviors define the cross-cutting lifecycle contract shared by all subordinate entities in the application — entities whose existence and lifecycle depend on a parent entity. Current examples include ItemSupply (subordinate of Item) and BusinessRole (subordinate of BusinessAffiliate); future subordinate entity types must follow the same patterns or explicitly document deviations.

A subordinate entity is always accessed through its parent’s detail view and managed via parent-scoped API endpoints. Subordinate entities do not have independent list pages, cannot exist without a parent, and are deleted when their parent is deleted. For the parent entity’s behavioral contract, see GEN::ENT-DA.


GEN::ENTSUB::0001 — View Subordinate Entities

Section titled “GEN::ENTSUB::0001 — View Subordinate Entities”

The user inspects all subordinate entities attached to a given parent entity from within the parent’s detail panel.

DependsGEN::ENT-DA::0002
StatusPublished

GEN::ENTSUB::0001::0001.UC — View Subordinates in Parent Detail Panel

Section titled “GEN::ENTSUB::0001::0001.UC — View Subordinates in Parent Detail Panel”

The user opens the parent entity’s detail panel and navigates to the subordinate entity tab (for example, “Supplies” on an Item or “Roles” on a Business Affiliate). The system fetches subordinate records via the parent-scoped API endpoint and renders them as cards or rows. Each card shows the subordinate’s key fields, status indicators, and action buttons (Edit, Remove). Empty state displays guidance (for example, “No supplies yet. Add a supply source for this item.”).

Postcondition: The user sees all subordinate entities of the given type for the parent entity.

GEN::ENTSUB::0001::0002.UC — View Subordinate Details

Section titled “GEN::ENTSUB::0001::0002.UC — View Subordinate Details”

The user clicks a subordinate card to see additional detail — expanded inline view, tooltip, or secondary panel — showing creation date, last modified date, and any notes not visible in the summary card.

Postcondition: The user has visibility into the complete data for a specific subordinate entity.

GEN::ENTSUB::0001::0003.UC — Navigate from Subordinate to Referenced Entity

Section titled “GEN::ENTSUB::0001::0003.UC — Navigate from Subordinate to Referenced Entity”

When a subordinate entity holds a reference to an entity in another domain (for example, an ItemSupply referencing a BusinessAffiliate), the referenced entity’s name is rendered as a navigable link. Clicking the link navigates to the referenced entity’s detail page. If the subordinate holds a legacy free-form reference with no linked entity (for example, a supplier name entered before the Business Affiliate system was introduced), the name is rendered as plain text with no link.

Postcondition: The user navigates from a subordinate entity to the full detail view of its referenced entity.


GEN::ENTSUB::0002 — Add Subordinate Entity

Section titled “GEN::ENTSUB::0002 — Add Subordinate Entity”

The user creates a new subordinate entity for a given parent, using a form dialog accessible from the parent’s detail panel.

DependsGEN::ENTSUB::0001
StatusPublished

GEN::ENTSUB::0002::0001.UC — Add Subordinate from Parent Detail Panel

Section titled “GEN::ENTSUB::0002::0001.UC — Add Subordinate from Parent Detail Panel”

With the parent detail panel open on the subordinate tab, the user clicks the Add button. A form dialog opens. The user fills in the subordinate’s fields — which may include selecting a reference to an entity in another domain via a typeahead control. The user clicks Save. The system calls the parent-scoped creation endpoint. The dialog closes, the new subordinate appears in the list, and a confirmation toast is displayed.

Postcondition: A new subordinate entity is created for the parent.

GEN::ENTSUB::0002::0002.UC — Add Subordinate with Create-on-the-Fly

Section titled “GEN::ENTSUB::0002::0002.UC — Add Subordinate with Create-on-the-Fly”

While filling in the subordinate creation form, the user types a reference value with no existing matches. The typeahead offers a creation option (for example, ”[+] New supplier: Acme Corp”). An inline form appears for creating the referenced entity with minimal required fields. The referenced entity is created in the background, the reference field is populated, and the user completes the remaining subordinate fields and saves.

Postcondition: Both a new referenced entity and a new subordinate entity are created in a single workflow.

GEN::ENTSUB::0002::0003.FS — Subordinate Uniqueness Constraint

Section titled “GEN::ENTSUB::0002::0003.FS — Subordinate Uniqueness Constraint”

When the subordinate entity type defines a uniqueness constraint scoped to the parent (for example, no two ItemSupply records with the same supply name under a single Item), the system validates the constraint before saving. If a duplicate is detected, the form displays a field-level error and the save is rejected. The user must provide a unique value before the subordinate can be created.


GEN::ENTSUB::0003 — Edit Subordinate Entity

Section titled “GEN::ENTSUB::0003 — Edit Subordinate Entity”

The user modifies an existing subordinate entity’s data from within the parent’s detail panel.

DependsGEN::ENTSUB::0001
StatusPublished

GEN::ENTSUB::0003::0001.UC — Edit Subordinate from Parent Detail Panel

Section titled “GEN::ENTSUB::0003::0001.UC — Edit Subordinate from Parent Detail Panel”

With the parent detail panel open on the subordinate tab, the user clicks the Edit button on a subordinate card. A form dialog opens pre-filled with the subordinate’s current field values. The user modifies fields and clicks Save. The system calls the parent-scoped update endpoint. The dialog closes, the subordinate card updates to reflect the new values, and a confirmation toast is displayed.

Postcondition: The subordinate entity is updated with the new values.

GEN::ENTSUB::0003::0002.FS — Parent Name Synchronization

Section titled “GEN::ENTSUB::0003::0002.FS — Parent Name Synchronization”

When a parent entity’s name or key identifying field changes, the system propagates the change to subordinate entities that carry a copy of the parent’s name. Synchronization is automatic as part of the parent update (GEN::ENT-DA::0004::0004). The specific fields synchronized are defined per subordinate entity type.


GEN::ENTSUB::0004 — Remove Subordinate Entity

Section titled “GEN::ENTSUB::0004 — Remove Subordinate Entity”

The user removes a subordinate entity that is no longer valid. Removal is permanent within the current version chain.

DependsGEN::ENTSUB::0001
StatusPublished

GEN::ENTSUB::0004::0001.UC — Remove Subordinate Entity

Section titled “GEN::ENTSUB::0004::0001.UC — Remove Subordinate Entity”

With the parent detail panel open on the subordinate tab, the user clicks the Remove button on a subordinate card. A confirmation dialog appears identifying the subordinate being removed. The user confirms. The system calls the parent-scoped delete endpoint. The subordinate card is removed from the list and a confirmation toast is displayed.

Postcondition: The subordinate entity is deleted.

GEN::ENTSUB::0004::0002.FS — Referential Impact Warning

Section titled “GEN::ENTSUB::0004::0002.FS — Referential Impact Warning”

When the subordinate being removed has special status (for example, designated as Primary supply) or is the only subordinate of its type, the confirmation dialog includes an additional warning describing the consequences. The user may still proceed after acknowledging the warning.


GEN::ENTSUB::0005 — Cross-Reference Navigation

Section titled “GEN::ENTSUB::0005 — Cross-Reference Navigation”

The user navigates between entities that are related through a shared subordinate entity, enabling bidirectional traversal across domain boundaries.

DependsGEN::ENT-DA::0002
StatusPublished
Section titled “GEN::ENTSUB::0005::0001.UC — View Related Entities via Subordinate”

From the detail panel of an entity that is referenced by subordinate entities belonging to another parent type, the user opens a cross-reference tab. The tab displays a grid of parent entities whose subordinates reference the current entity — for example, from a Business Affiliate’s “Items” tab, all Items that have an ItemSupply referencing this affiliate. The grid inherits column display (GEN::LST::0002), sorting (GEN::LST::0004), and cell rendering (GEN::LST::0010) behaviors. Each row links to the corresponding parent entity’s detail page.

Postcondition: The user can traverse from one entity type to another via shared subordinate references.

Section titled “GEN::ENTSUB::0005::0002.FS — Empty State for No Related Entities”

When the cross-reference tab has no results (no subordinate entities of the relevant type reference the current entity), the tab displays an empty state with a descriptive message (for example, “No items are linked to this supplier.”). No error or loading indicator is shown.


Use CaseScenariosUCFS
GEN::ENTSUB::0001 View Subordinate Entities330
GEN::ENTSUB::0002 Add Subordinate Entity321
GEN::ENTSUB::0003 Edit Subordinate Entity211
GEN::ENTSUB::0004 Remove Subordinate Entity211
GEN::ENTSUB::0005 Cross-Reference Navigation211
Total1284