pub enum ErpEventType {
ProcessInitiated,
AperakAccepted,
AperakRejected {
erc_code: Option<ErcCode>,
},
AperakTimeout,
ContrlReceived,
ProcessCompleted,
MaloIdentified,
ProcessFailed {
reason: Box<str>,
},
VppDispatchConfirmed,
GabiFinalAllocationOverdue,
AbmeldeanfrageBeantwortet,
}Expand description
Semantic classification of an outbound ERP process event.
The ERP uses this to decide which action to take — update an order status, trigger a billing run, open a complaint ticket, etc.
Variants§
ProcessInitiated
A new MaKo process was spawned (e.g. inbound UTILMD received).
AperakAccepted
The counterparty sent an APERAK accepting our UTILMD.
AperakRejected
The counterparty sent an APERAK rejecting our UTILMD.
erc_code is Some when the APERAK carried a structured ERC segment
(BDEW APERAK AHB 1.0 §2.2), and None when the counterparty sent none.
Fields
erc_code: Option<ErcCode>Structured BDEW ERC error code from the APERAK ERC segment.
Use crate::erc::recommended_action to derive the
recommended automated ERP response.
AperakTimeout
No APERAK received within the regulatory SLA window (deadline expired).
ContrlReceived
A CONTRL syntax acknowledgement was received.
ProcessCompleted
The process reached its terminal success state (e.g. Lieferbeginn/Lieferende confirmed).
MaloIdentified
A MaLo identification request was successfully resolved: the MaLo was found and the positive callback was delivered to the requesting LF.
The payload field of the associated ErpEvent carries a BO4E
Marktlokation JSON object with the resolved MaLo data.
ProcessFailed
The process failed permanently (regulatory timeout, data error, …).
VppDispatchConfirmed
A WiM Steuerungsauftrag (PID 55168) dispatch was positively confirmed by
the MSB (EndantwortPositiv). Triggers downstream VPP settlement billing
in billingd via POST /api/v1/webhooks/vpp-dispatch.
Only emitted for Konfiguration (load-reduction) commands — not for
InitialZustand (reset) commands, which restore normal operation.
The CE data payload carries:
tx_id, location_id, location_type, execution_time_from,
execution_time_until, max_power_kw, command_type, sender_mp_id,
produkt_code.
GabiFinalAllocationOverdue
The KoV §6.4 final-allocation window closed with no binding final ALOCAT on file, so the gas day’s imbalance cannot be settled.
Raised from the gabi-gas-allocation deadline. The obligation is the
FNB’s/MGV’s, not ours — the operator’s action is to open a Clearingfall,
which is why this leaves the platform as an event rather than a message.
The CE data payload carries gas_day, deadline_label and
sender_eic / receiver_eic of the last ALOCAT recorded for the stream.
AbmeldeanfrageBeantwortet
The LFA answered the NB’s Anfrage zur Beendigung der Zuordnung (55011 / 55012), or its 09:00 window lapsed unanswered — „gilt dies als Bestätigung nach Fall a)“.
Consumed by processd, which resumes the Anmeldung decision on it:
E_0623 Prüfschritte 30–50 read the answer, and a Widerspruch that is
not A30 refuses the Anmeldung with A50.
Implementations§
Source§impl ErpEventType
impl ErpEventType
Sourcepub fn cloud_event_type(&self) -> &'static str
pub fn cloud_event_type(&self) -> &'static str
CloudEvents 1.0 type attribute for this event.
Follows the reverse-DNS prefix convention (de.mako.<domain>.<action>).
Used by the WebhookErpAdapter to populate the type field of the
CloudEvents envelope.
Trait Implementations§
Source§impl Clone for ErpEventType
impl Clone for ErpEventType
Source§fn clone(&self) -> ErpEventType
fn clone(&self) -> ErpEventType
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more