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