pub struct LfVorgangsdaten {
pub transaktionsgrund: Option<String>,
pub transaktionsgrund_ergaenzung: Option<String>,
pub vorgangsnummer: Option<String>,
pub uet_lieferanmeldung: Option<String>,
pub naechstmoeglicher_termin: Option<String>,
pub kunde_name: Option<String>,
pub kunde_namensformat: Option<String>,
pub lfn_mp_id: Option<String>,
}Expand description
The SG4 facts an LF-answered Vorgang carries beyond its Lokations-ID.
Every LF tree branches on at least one of them, so a
de.mako.process.initiated that omits them cannot be walked: the
Transaktionsgrundergänzung picks the code range, the Transaktionsgrund picks
the branch, DTM+154 starts E_0624’s own Frist and DTM+471 decides
whether E_0614 may refuse for Vertragsbindung at all.
Kept in one type so the Strom and Gas workflows cannot drift apart on what they publish, and so a new fact is added once.
Fields§
§transaktionsgrund: Option<String>SG4 STS+7 DE 9013 element 2 — Z33, ZQ7, ZT0, E01, E03, …
transaktionsgrund_ergaenzung: Option<String>SG4 STS+7 DE 9013 element 3 — ZW3 / ZW4 / ZW5 / ZAP.
vorgangsnummer: Option<String>SG4 IDE+24 DE 7402 — the sender’s Vorgangsnummer.
The answer references it in SG4 RFF+TN; it is never reused as the
answer’s own IDE+24, which the MIG requires to be globally unique.
uet_lieferanmeldung: Option<String>SG4 DTM+154 — ÜT der Lieferanmeldung des LFN, on a 55010.
E_0624 Prüfschritt 5 measures its own Frist from it and answers A43
when the NB asked too late.
naechstmoeglicher_termin: Option<String>SG4 DTM+471 — „Ende zum nächstmöglichen Termin“, on a 55016 / 44016.
Present instead of DTM+93. E_0614 Prüfschritt 60 branches on
which of the two arrived, and only the fixed date may be refused for
Vertragsbindung — so this field’s presence is load-bearing and it is
omitted, never nulled, when the message carried a fixed date.
kunde_name: Option<String>SG12 NAD+Z09 C080 — „Kunde des LF“, the customer name the request
carries, joined from the composite’s up-to-five DE 3036 components.
E_0624 Prüfschritt 50 („Ist der Kunde aus der Anfrage zur Beendigung
der Zuordnung identisch mit dem Kunden beim LFA?“) is answerable only
from this: the UTILMD AHB marks the segment Muss on a 55010 whose
Transaktionsgrundergänzung is ZW4/ZAP (Bedingung [279]), and
Bedingung [572] says what it is — „Kundenname aus Anmeldung Lieferant
neu”. Without it the whole Ein-/Auszug arm (A32/A33/A34)
escalates, which is a large share of all switches.
kunde_namensformat: Option<String>SG12 NAD+Z09 C080 DE 3045 — the Namensformat: Z01 Struktur von
Personennamen, Z02 Struktur der Firmenbezeichnung.
It says how to read Self::kunde_name: five interchangeable
components are a person (Nachname, Vorname, …) under Z01 and a company
name under Z02, and a comparison that ignores the difference matches a
person against a company.
lfn_mp_id: Option<String>SG12 NAD+VY DE 3039 — the Neulieferant’s MP-ID (Bedingung [567]).
The 55010 is the only message that names the LFN to the LFA before the switch completes; it is what reconciles an Anfrage against a Kündigung the LFA already answered.
Implementations§
Source§impl LfVorgangsdaten
impl LfVorgangsdaten
Sourcepub fn process_initiated(
&self,
pid: Pruefidentifikator,
malo_id: &MaLo,
sender: &MarktpartnerCode,
receiver: &MarktpartnerCode,
process_date: &str,
extra: &Value,
) -> PendingOutbox
pub fn process_initiated( &self, pid: Pruefidentifikator, malo_id: &MaLo, sender: &MarktpartnerCode, receiver: &MarktpartnerCode, process_date: &str, extra: &Value, ) -> PendingOutbox
The de.mako.process.initiated notification for an inbound Vorgang.
Without it processd’s LF module never sees the message: makod
delivers a CloudEvent only for an outbox entry, and an APERAK is a
technical acknowledgement, not a business notification.
extra merges Sparte-specific facts that other consumers need — the
Gas Bilanzierungsmethode, Fallgruppe and Gasqualität marktd folds into
the Marktlokation. Keys it does not set are left alone, so an extra
can never silently drop a fact a tree branches on.
§Panics
Never in practice: the panic guards the json! literal below, which is
an object by construction.
Trait Implementations§
Source§impl Clone for LfVorgangsdaten
impl Clone for LfVorgangsdaten
Source§fn clone(&self) -> LfVorgangsdaten
fn clone(&self) -> LfVorgangsdaten
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more