Skip to main content

AhbFieldRule

Struct AhbFieldRule 

Source
pub struct AhbFieldRule {
    pub segment_path: String,
    pub name: String,
    pub ahb_status: String,
    pub codes: Vec<AhbCodeRule>,
    pub parent_group_ahb_status: Option<String>,
    pub segment_ahb_status: Option<String>,
    pub element_index: Option<usize>,
    pub component_index: Option<usize>,
    pub mig_number: Option<String>,
    pub format: Option<String>,
    pub group_ahb_status: Option<String>,
}
Expand description

AHB field definition for validation.

Represents a single field in an AHB rule table with its status and allowed codes for a specific Pruefidentifikator.

Fields§

§segment_path: String

Segment path (e.g., “SG2/NAD/C082/3039”).

§name: String

Human-readable field name (e.g., “MP-ID des MSB”).

§ahb_status: String

AHB status (e.g., “Muss [182] ∧ [152]”, “X”, “Kann”).

§codes: Vec<AhbCodeRule>

Allowed code values with their AHB status.

§parent_group_ahb_status: Option<String>

AHB status of the innermost parent group (e.g., “Kann”, “Muss”, “Soll [46]”).

When the parent group is optional (“Kann”) and its qualifier variant is absent from the message, mandatory checks for child fields are skipped.

§segment_ahb_status: Option<String>

AHB status of the containing segment (e.g., “Kann”, “Muss”, “Muss [10]”).

When the containing segment is optional (“Kann”) and absent from the instance, AHB001 missing-field errors on its sub-fields are suppressed: “X” on a Kann segment’s sub-element means “required IF segment present”.

§element_index: Option<usize>

Element index within the segment (0-based). Used to locate the correct element when checking presence and code values. None defaults to 0.

§component_index: Option<usize>

Component sub-index within a composite element (0-based). Used to locate the correct component. None defaults to 0.

§mig_number: Option<String>

MIG Number attribute of the parent segment. Links this AHB field to the corresponding AssembledSegment::mig_number for tree-based joining.

§format: Option<String>

The MIG data format, e.g. "an..512", "n13". None when unknown.

§group_ahb_status: Option<String>

The innermost enclosing group’s own AHB status, as the AHB writes it (Muss [81] on 55035’s SG10 Zugeordnete Definition), where parent_group_ahb_status ANDs every conditional ancestor’s condition under Muss (Muss ([166] ∧ [205]) ∧ ([81])). Whether an absent child group is required is its own status, judged in its present parent. None for workflows built before it existed.

Trait Implementations§

Source§

impl Clone for AhbFieldRule

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AhbFieldRule

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AhbFieldRule

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for AhbFieldRule

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for AhbFieldRule

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.