pub struct AhbWorkflow {
pub pruefidentifikator: String,
pub description: String,
pub communication_direction: Option<String>,
pub fields: Vec<AhbFieldRule>,
pub ub_definitions: BTreeMap<String, ConditionExpr>,
pub package_conditions: BTreeMap<u32, ConditionExpr>,
}Expand description
AHB workflow definition for a specific Pruefidentifikator.
Fields§
§pruefidentifikator: StringThe Pruefidentifikator (e.g., “11001”, “55001”).
description: StringDescription of the workflow.
communication_direction: Option<String>Communication direction (e.g., “NB an LF”).
fields: Vec<AhbFieldRule>All field rules for this workflow.
ub_definitions: BTreeMap<String, ConditionExpr>UB (Unterbedingung) definitions parsed from the AHB XML.
Maps UB IDs (e.g., “UB1”) to their parsed condition expressions. These are expanded inline when evaluating condition expressions that reference UB conditions.
package_conditions: BTreeMap<u32, ConditionExpr>The conditions of the AHB’s packages (its <Pakete> section): package
number to condition, [11P] → [68] (“Wenn SG8 SEQ+ZH0 mehr als
zweimal vorhanden”). A code’s [11P1..1] binds only where its package’s
condition holds. Packages without a condition ([1P], --) are absent.
Not skipped when empty: the cache serializes workflows with bincode,
which has no field names to tell a skipped field from the next value.
Trait Implementations§
Source§impl Clone for AhbWorkflow
impl Clone for AhbWorkflow
Source§fn clone(&self) -> AhbWorkflow
fn clone(&self) -> AhbWorkflow
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more