Skip to main content

ERPOperation

An ERP operation and its Pico mapping result. Read-only; mapping is written by the manage UI over grpcWeb.

type ERPOperation {
id: ID
name: String
externalId: String
externalRevision: String
subs: [ERPSubOperation!]!
hasPlannedOrder: Boolean
orderedViaSubOps: Boolean
mappings: [ERPOperationMapping!]!
neverMappedReason: String
neverMappedAt: Time
consumedSerials: [ERPConsumedSerial!]!
consumedSerialMappings: [ERPConsumedSerialMapping!]!
}

Fields

ERPOperation.id ● ID scalar

ERP-assigned operation id (immutable primary key).

ERPOperation.name ● String scalar

Display name.

ERPOperation.externalId ● String scalar

External identifier / part number (match key).

ERPOperation.externalRevision ● String scalar

Version/revision string.

ERPOperation.subs ● [ERPSubOperation!]! non-null object

Child sub-operations with their instance counts (sub-operation hierarchy).

ERPOperation.hasPlannedOrder ● Boolean scalar

Whether ERP places orders against this operation, echoed exactly as ingested (see ERPOperationInput.hasPlannedOrder for the full semantics). Gates the rest of the result: only operations with a planned order carry a mapping decision, and the mappings and consumed-serial fields below are populated only when this is true.

ERPOperation.orderedViaSubOps ● Boolean scalar

True when this operation is ordered via its sub-operations instead of being mapped directly: Pico builds its work through the operation's own sub-operations with planned orders — expect mappings and completions at those sub-operations rather than at this operation. Mutually exclusive with a self entry in mappings.

ERPOperation.mappings ● [ERPOperationMapping!]! non-null object

Pico operation mappings for this operation (which has a planned order), one entry per mapped operation. The entry whose operationId equals this operation's own id is the self mapping; any other entries map sub-operations (with or without their own planned orders) or groups of work in this operation's context (optional operations, or correlating sub-operation operationOrderProgress events). Empty for operations without a planned order and for those that are never-mapped or undecided.

ERPOperation.neverMappedReason ● String scalar

Never-map decision, applicable only to operations with a planned order. Stable reason key (e.g. notBuiltInPico), not display text; null otherwise. Mutually exclusive with a self entry in mappings.

ERPOperation.neverMappedAt ● Time scalar

When the operation was marked never-map (null otherwise).

ERPOperation.consumedSerials ● [ERPConsumedSerial!]! non-null object

Consumed serials echoed back as ingested (a serial may originate anywhere in this operation's subtree, including a sub-operation with its own planned order). Slim records only — Pico allocations are reported separately under consumedSerialMappings, keyed by consumedSerialId. Populated only when this operation has a planned order.

ERPOperation.consumedSerialMappings ● [ERPConsumedSerialMapping!]! non-null object

Consumed-serial allocations for this operation, each keyed back to a serial by consumedSerialId. Kept flat on the operation with the planned order (not nested on the serial) so a parent can absorb its whole subtree's serials: an entry may reference a consumedSerialId belonging to a descendant sub-operation. Populated only when this operation has a planned order.

Returned By

erpOperations query