|
Eventtyp |
Schleupen Quellobjekte |
EVI-Zielobjekte |
Abhängigkeiten |
Fachliche Beschreibung / Bemerkung |
|---|---|---|---|---|
|
de.schleupen.createOrUpdateBillingContract |
Vertrag |
Abrechnungsvertrag |
de.schleupen.createOrUpdateInstallationMalo de.schleupen.createOrUpdateContractAccount |
Abrechnungsvertrag zum Vertragskonto mit Verknüpfung zur Anlage. |
Komponentenübersicht Verarbeitung nach EVI
-
SC12SCHLEUPENUtils.createOrUpdate*
-
Entity
-
SC12SCHLEUPENUtils.checkMandatoryFields*
-
SC12SCHLEUPENUtils.read*
-
SC12EnergyMarketUtils.createOrUpdate*
-
-
Feldmapping
|
EVI |
|
|
|
|
Schleupen CS.VA |
|
|
|
Feldbezeichnung |
techn. Feldbezeichnung |
Schlüssel / Entität |
Besonderheit |
Funktion |
Objekt |
techn. Feldbezeichnung |
Besonderheit |
|---|---|---|---|---|---|---|---|
|
Abrechnungsvertrag |
BillingContract |
|
|
|
Vertrag |
|
|
|
Vertragsnummer |
Vertrag.BillingContract |
|
|
ID |
Vertrag |
Nummer |
innerhalb eines Mandanten eindeutig (Unique Index auf Mandant, Hauptmandant und Vertragsnummer) |
|
Vertragsbezeichnung |
ISU_VBez.BillingContract |
|
|
insert/update |
Vertrag |
Gegenstand |
Beschreibender Gegenstand des Vertrags wird aus Tarif übernommen, kann z.B. für Vertragsbezeichnung genutzt werden |
|
ERP Aktiv |
C12ERPActive.BillingContract |
|
fest auf true |
insert/update |
|
|
|
|
Vertragskonto-Nr. |
ContAccountNo.ContractAccount über ContractAccPK.BillingContract
|
CONTRACTACCOUNT |
Pflichtangabe für CreateOrUpdateBillingContract |
insert/update |
Vertrag |
RechnungseinheitId |
Technischer Schlüssel der Rechnungseinheit, zu welcher der Vertrag gehört, Fremdschlüssel |
|
Anlagenkonto |
C12InstAccPK.BillingContract |
C12INSTACC |
Anlagenkonto setzen, wenn genau ein Anlagenkonto gefunden wurde, über die Selektion mit InstallationNo.Installation = Vertrag.MarktlokationId + '-MALO' über InstallationPk.C12INSTACC, sonst leer (mehrere Anlagenkonten zu einer Anlage) . Wird dann synchron beim Speichern des Abrechnungsvertrags über Prozess C12CreateOrUpdateInstallationAccount gesucht oder angelegt. |
insert/update |
Vertrag |
MarktlokationId |
Technischer Schlüssel der Marktlokation, zu welcher der Vertrag gehört, Fremdschlüssel Bei Sparte <> Strom / Gas kann über die Abnahmestellen ID (Anschlussobjekt) VERTRAG.ABNAHMESTELLE die jeweilige Anlage identifiziert werden. |
|
Anlagennummer |
ISU_Anlage.BillingContract |
|
Wenn Vertrag.MarktlokationId gefüllt (reguliert): Wert aus MarktlokationId + '-MALO' setzen. sonst (unregulierte): leer |
|
Vertrag |
MarktlokationId |
wird nicht verwendet.
|
|
Netzbetreiber |
C12ServProvPk.BillingContract |
C12SERVPROV |
Selektion Verteilnetzbetreiber.Codenummer in BDEW_CODENUMMER.C12SERVPROV |
insert/update |
Verteilnetzbetreiber |
Codenummer |
Angabe des Verteilnetzbetreibers, der dem Vertrag zugeordnet ist aktuell gültige Zeitscheibe |
|
Sparte |
C12Medium.BillingContract |
S_KEYTAB (S_PRDART) |
Key: Vertrag.Geschaeftsbereich.Kuerzel Beschreibung: Vertrag.Geschaeftsbereich.Bezeichnung |
insert/update |
Vertrag |
Geschaeftsbereich
|
Angabe des Geschäftsbereiches, zu welchem der Vertrag gehört
|
|
Bearbeitungsstatus |
ISU_BearbStatus.BillingContract
|
S_KEYTAB (BSTATUS) |
Key: Vertrag.Status.Kuerzel Bezeichnung: Vertrag.Status.Bezeichnung |
insert/update |
Vertrag |
Status |
Aktueller Status des Vertrags Kürzel mit Länge 2 und Bezeichnung mit Länge 40 Mögliche Werte:
|
|
Abrechnungsart |
C12BillingType.BillingContract |
S_KEYTAB (C12BILLINGTYPE) |
Key: Vertrag.Abrechnungsart.Kuerzel Bezeichnung: Vertrag.Abrechnungsart.Bezeichnung |
insert/update |
Vertrag |
Abrechnungsart |
Aktuelle Abrechnungsart des Vertrags
|
|
Vertragsbeginn
Einzugsdatum |
ISU_VBeginn.BillingContract FromDate.BillingContract
|
|
|
insert/update |
Vertrag |
Beginn |
Datum des Vertragsbeginns Format: YYYY-MM-DD Beispiel: 2021-12-20 |
|
Vertragsende
Auszugsdatum |
ISU_VEnde.BillingContract UntilDate.BillingContract |
|
|
insert/update |
Vertrag |
Ende |
Datum des Vertragsendes
|
|
Verlängerungsfrist |
C12ExtPeriod.BillingContract |
|
|
insert/update |
Vertrag |
Verlaengernum |
Angabe des Wertes der Verlängerung, welcher im Zusammenhang mit VerlaengernUmTyp interpretiert werden muss |
|
Verlängerungsfrist Einheit |
C12ExtUnit.BillingContract |
S_KEYTAB (C12UNIT) |
Key: Vertrag.Verlaengernumtyp.Kuerzel Bezeichnung: Vertrag.Verlaengernumtyp.Bezeichnung Mapping siehe EVI-Schleupen Datenaktualisierung bei Änderung Schleupen2EVI | Schlüsselhandling |
insert/update |
Vertrag |
Verlaengernumtyp |
Kürzel der Verlängerungsart
|
|
Kündigungsfrist |
C12TermPeriod.BillingContract |
|
|
insert/update |
Vertrag |
Kuendigungsfrist |
Angabe des Wertes der Kündigungsfrist, welcher im Zusammenhang mit Kuendigungsfristtyp interpretiert werden muss |
|
Kündigungsfrist Einheit |
C12TermiUnit.BillingContract |
S_KEYTAB (C12UNIT) |
Key: Vertrag.Kuendigungsfristtyp.Kuerzel Bezeichnung: Vertrag.Kuendigungsfristtyp.Bezeichnung Mapping siehe EVI-Schleupen Datenaktualisierung bei Änderung Schleupen2EVI | Schlüsselhandling |
insert/update |
Vertrag |
Kuendigungsfristtyp |
Kürzel der Kündigungsfrist
|
|
Kündigungsdatum |
ISU_KuendDat.BillingContract |
|
|
insert/update |
Vertrag |
Aufloesung |
Datum, zu welchem der Vertrag aufgelöst werden soll; Auflösungsmeldung wurde erfasst |
|
Statistikgruppe |
ISU_StatGroup.BillingContract |
S_KEYTAB (STAGRUVER) |
|
insert/update |
Vertrag |
Statistikkennzeichen |
Statistisches Kennzeichen des Vertrags
|
|
Verlängerungsdatum |
ISU_VBisDat.BillingContract |
Datum |
|
insert/update |
Vertrag |
Vertragsbindung
|
Datum der Vertragsbindung Format: YYYY-MM-DD Beispiel: 2021-12-20 Datum der aktuellen Vertragslaufzeit, danach Verlängerung; wird benötigt, um mit Kündigungsfrist das letztmögliche Kündigungsdatum zu berechnen |
|
|
|
|
|
|
Abschlagseinzelbetraege |
Liste vom Typ Abschlag |
Liste von Objekten vom Typ Abschlag, welche die einzelnen Abschlagsbeträge pro Geschäftsbereich darstellen |
|
|
|
|
|
|
|
Wirtschaftszweig |
Der Wirtschaftszweig der dem Vertrag zugeordnet ist |
|
Abschlagsplan |
C12BILLPLAN |
|
|
|
|
|
|
|
Abschlagsplannummer |
PlanNo.C12BILLPLAN |
|
Wert aus Vertrag.BillingContract verwenden |
ID / insert |
|
|
|
|
Vertrag |
BillingContract.C12BILLPLAN |
BILLINGCONTRACT |
Verknüpfung zum Abrechnungsvertrag, aus dem der Abschlag entnommen wird |
insert |
|
|
|
|
Beginn |
StartDate.C12BILLPLAN |
|
Werte aus ISU_VBeginn.BillingContract |
insert/update |
|
|
|
|
Ende |
EndDate.C12BILLPLAN |
|
Werte aus ISU_VEnde.BillingContract |
insert/update |
|
|
|
|
Abschlagszyklus |
PaymentCycle.C12BILLPLAN |
|
|
insert/update |
Vertrag |
Abschlagsanzahl |
Anzahl der Abschläge im Jahr |
|
Abschlag |
C12ADVPAY |
Bei Datumsänderung (VERTRAG.NaechsteFaelligkeit> ValidFrom.C12ADVPAY) wird eine Historie aufgebaut. D.h. Neuanlage eines Datensatzes Abschlag. Wenn Abschlagsänderung weit in der Zukunft liegt (nach nächsten Abschlag), wird der neue Abschlag erst später (wenn NaechsteFaelligkeit dem neuem Datum entspricht) zurück nach EVI übertragen. |
|
Vertrag |
|
|
|
|
Gültig ab |
ValidFrom.C12ADVPAY |
|
|
ID / insert |
Vertrag |
NaechsteFaelligkeit
|
Datum der nächsten Abschlagsfälligkeit Format: YYYY-MM-DD Beispiel: 2021-12-20
|
|
Referenz-Nr. |
ExtRefNo.C12ADVPAY |
|
Wert aus Vertrag.BillingContract verwenden |
ID / insert |
|
|
|
|
|
|
|
|
|
Vertrag |
LetzteFaelligkeit |
Datum der letzten Abschlagssollstellung
|
|
Betrag |
Amount.C12ADVPAY |
|
|
insert / update |
Vertrag |
Gesamtabschlag |
Summe der Abschläge der Abschlagseinzelbeträge zum Zeitpunkt der Datenübertragung; entspricht dem Betrag, den der Kunde zahlen muss |
|
Abschlagsplan |
BillingPlan.C12ADVPAY |
|
Verknüpfung zum o.g. Abschlagsplan |
insert |
|
|
|
|
Abrechnungsvertrag |
BillingContract.C12ADVPAY |
|
Verknüpfung zum ausgehenden Abrechnungsvertrag |
insert |
|
|
|
|
Anlagen-Zeitdaten |
TimeSlicingIS |
Selektion Anlage (MaLo) über InstallationNo.Installation = Vertrag.MarktlokationId + '-MALO' |
|
Gueltigkeit |
|
Liste vom Typ Gueltigkeit Liste von Objekten vom Typ Gueltigkeit, welche die Zeitscheiben mit den Tarifen des Vertrages darstellen |
|
|
Beschreibung |
TimeSlicingIsDesc.TimeSlicingIS |
|
|
ID |
Gueltigkeit |
Id |
Technischer Schlüssel des Datensatzes |
|
Gültig von |
FromDate.TimeSlicingIS |
|
|
insert/update |
Gueltigkeit |
Von |
Datum, ab wann die Zeitscheibe gültig ist
|
|
Gültig bis |
untilDate.TimeSlicingIS |
|
|
insert/update |
Gueltigkeit |
Bis |
Datum, bis wann die Zeitscheibe gültig ist Format: YYYY-MM-DD Beispiel: 2021-12-20 |
|
Tarifkopf |
RateTypePk.TimeSlicingIS |
|
Selektion über Gueltigkeit.TarifgruppenId = SAPShortcut.C12RATETYPE |
insert/update |
Gueltigkeit |
TarifgruppenId |
Technischer Schlüssel der Tarifgruppe, welche der Zeitscheibe zugeordnet ist, Fremdschlüssel |
|
Abrechnungsdatenfelder zu Anlagen-Zeitdaten |
BillContFields |
|
|
|
Vertragsabrechnungsfelder |
Liste vom Vertragsabrechnungsfeld |
Angabe der Abrechnungsfelder des Vertrags |
|
Anlagen-Zeitdaten |
TimeSliceIsPk.BillContFields |
|
Verknüpfung zur Anlagen-Zeitdaten |
ID |
|
|
|
|
Feldreferenz |
FieldReference.BillContFields |
|
|
ID |
Vertragsabrechnungsfelder |
Feldreferenz |
Interne Bezeichnung des Vertragsabrechnungsfeldes (wird für Formeln verwendet) |
|
Feldbezeichnung |
FieldName.BillContFields |
|
|
insert/update |
Vertragsabrechnungsfelder |
Feldbezeichnung |
Bezeichnung des Vertragsabrechnungsfeldes |
|
Wert |
BillingValue.BillContFields |
|
|
insert/update |
Vertragsabrechnungsfelder |
Wert |
Wert des Abrechnungsfeldes (Wenn IstPreisReferenz ‚J‘ ist, stattdessen Preisreferenz) |
|
Beschreibung |
BillValueDesc.BillContFields |
|
|
insert/update |
Vertragsabrechnungsfelder |
Wertbezeichnung |
Bezeichnung des Wertes, wenn es sich um ein Auswahlfeld handelt |
|
Preisreferenz |
PriceRef.BillContFields |
|
|
insert/update |
Vertragsabrechnungsfelder |
IstPreisReferenz |
Angabe, ob es sich bei dem Wert um eine Preisreferenz oder einen normalen Feldwert handelt: J - Wert ist Preisreferenz N - Wert ist ein normaler Feldwert |
|
Abrechnungsdatenfelder (BillContFields) zu Tarif. Zur Abbildung der relevanten bzw. über alle Verträge genutzten Abrechnungsdatenfelder (ohne Wert). Diese stehen dann im Angebotsprozess zur Auswahl (in Abhängigkeit des gewähltem Tarif). |
|
Vertragsabrechnungsfelder |
Liste vom Vertragsabrechnungsfeld |
Angabe der Abrechnungsfelder des Vertrags |
|||
|
Tarif |
RateTypePk.BillContFields |
|
Verknüpfung zum Tarif |
ID |
|
|
|
|
Feldreferenz |
FieldReference.BillContFields |
|
|
ID |
Vertragsabrechnungsfelder |
Feldreferenz |
Interne Bezeichnung des Vertragsabrechnungsfeldes (wird für Formeln verwendet) |
|
Feldbezeichnung |
FieldName.BillContFields |
|
|
insert/update |
Vertragsabrechnungsfelder |
Feldbezeichnung |
Bezeichnung des Vertragsabrechnungsfeldes |
|
Wert |
BillingValue.BillContFields |
|
|
|
Vertragsabrechnungsfelder |
Wert |
Wert des Abrechnungsfeldes (Wenn IstPreisReferenz ‚J‘ ist, stattdessen Preisreferenz) |
|
Beschreibung |
BillValueDesc.BillContFields |
|
|
insert/update |
Vertragsabrechnungsfelder |
Wertbezeichnung |
Bezeichnung des Wertes, wenn es sich um ein Auswahlfeld handelt |
|
Preisreferenz |
PriceRef.BillContFields |
|
|
insert/update |
Vertragsabrechnungsfelder |
IstPreisReferenz |
Angabe, ob es sich bei dem Wert um eine Preisreferenz oder einen normalen Feldwert handelt: J - Wert ist Preisreferenz N - Wert ist ein normaler Feldwert |
|
Anlage (unreguliert) |
Installation |
Wenn Vertrag.MarktlokationId leer (unreguliert): Selektion AO über AbnahmestelleId = ReferenceNumber.Location, wenn eindeutig gefunden, Anlage erzeugen mit den folgenden Feldern: |
|
|
|
|
|
|
Anlagennummer |
InstallationNo.Installation |
|
Zaehlpunkte.<erste Zahl>+“-”+Vertrag.Geschaeftsbereich.Kuerzel |
|
Zaehlpunkte |
Liste von Ganzzahl |
Angabe der Ids der Zählpunkte die mit dem Abrechnungsfeld verknüpft sind |
|
Anschlussobjekt |
LocationPk.Installation |
|
Selektion über Vertrag.AbnahmestelleId = ReferenceNumber.Location |
|
Vertrag |
AbnahmestelleId |
Technischer Schlüssel der Abnahmestelle (Anschlussobjekt), zu welcher der Vertrag gehört, Fremdschlüssel |
|
Sparte |
ProducttypeKey.Installation |
|
aus C12Medium.BillingContract |
|
|
|
|
|
Aktiv in ERP |
C12ERPActive.Installation |
|
fest auf true |
|
|
|
|
|
Serviceprovider |
C12GRIDOPER.Installation |
|
aus C12ServProvPk.BillingContract |
|
|
|
|
|
Messeinrichtung (unreguliert) |
MeasuringDevice |
Wenn Vertrag.MarktlokationId leer (unreguliert): Selektion AO über AbnahmestelleId = ReferenceNumber.Location, wenn eindeutig gefunden, Messeinrichtung mit den folgenden Feldern suchen und mit Anlage verknüpfen: |
|
|
|
|
|
|
|
|
|
Zaehlpunkte.<erste Zahl>+“-”+Vertrag.Geschaeftsbereich.Kuerzel |
|
Zaehlpunkte |
Liste von Ganzzahl |
Angabe der Ids der Zählpunkte die mit dem Abrechnungsfeld verknüpft sind |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Anlagenkonto (Prognostizierter Jahresverbrauch) |
|
Anlagenkonto aus Abrechnungsvertrag (C12InstAccPK.BillingContract) |
|
Verbrauchshistorie |
Liste vom Typ Verbrauch |
Liste der historischen Verbräuche des Vertrages |
|
|
Jahresverbr. (progn.) |
YearConsProg.C12INSTACC |
|
Jüngster Wert über HochrechnungszeitraumVon aus HochgerechneteJahresmenge wenn Referenz in SC12SCHLEUPENUti Wenn HochrechnungszeitraumVon identisch größte Id |
|
Id |
|
Fachlicher Schlüssel des zugeordneten Verbrauchsdatensatzes |
|
|
|
Referenz |
|
Feldreferenz aus den Abrechnungsfeldern. |
|||
|
|
|
HochgerechneteJahresmenge |
|
Hochgerechnete Jahresmenge |
|||
|
|
|
HochrechnungszeitraumVon |
|
Beginn des Hochrechnungszeitraums |
|||
|
|
|
|
|
|
|||
|
Jahresverbr. NT (progn.) |
YearConsProgNT.C12INSTACC |
|
Jüngster Wert über HochrechnungszeitraumVon aus HochgerechneteJahresmenge wenn Referenz in SC12SCHLEUPENUti Wenn HochrechnungszeitraumVon identisch größte Id |
|
|
|
|
ab 26.3 Zu einem Vertrag kann eine beliebig lange Verbrauchshistorie geliefert werden. Dort sind je nach Messeinrichtung hochgerechnte Verbrauchswerte für HT und NT enthalten. Die aktuellsten Hochrechnungswerte werden auf das zum Vertrag gehörende Anlagenkonto in die beiden Felder “Jahresverb. prog” (YearCongsProg.C12INSTACC) für HT/ET und “Jahresverb. NT (prog)” (YearConsProgNT.C12INSTACC) für NT geschrieben.
Um die korrekten Prognosen für HT und NT zu ermitteln, müssen die jeweiligen Referenzwerte aus Schleupen dafür im Projekt besprochen und in der Skriptklasse SC12SCHLEUPENUtils in den Konstanten HT_REFS und NT_REFS eingetragen werden. Es ist möglich, mehrere Werte pro Konstante zu hinterlegen. Folgende Logik wird zur Ermittlung verwendet:
-
Flexible Referenzzuordnung
Es werden zwei Listen von Referenz-Strings (HT_REFSundNT_REFS) vorgegeben – eine Liste für "YearConsProg.C12INSTACC", eine für "YearConsProgNT.C12INSTACC".
Zu jedem Feld werden alle Einträge betrachtet, deren Referenz-Feld einen Wert aus der zugehörigen Liste hat (z.B. für "YearConsProgNT.C12INSTACC": ["APNT.Menge", "NT.Value"]). -
Ermittlung des jüngsten Werts je Referenzgruppe
Je Referenz-Liste (Liste für die Felder "YearConsProg.C12INSTACC"/"YearConsProgNT.C12INSTACC") wird der Eintrag mit dem maximalen Wert im Feld "HochrechnungszeitraumVon" bestimmt.
Ist für eine Referenzgruppe kein Eintrag vorhanden, wird das zugehörige Feld geleert. -
Bei Gleichstand
Gibt es innerhalb einer Referenzgruppe mehrere Einträge mit demselben, maximalen Datum, so wird der mit der höchsten "Id" verwendet. -
Wertebelegung
"YearConsProg.C12INSTACC" erhält die "HochgerechneteJahresmenge" des jüngsten Eintrags aus der ersten Referenzliste.
"YearConsProgNT.C12INSTACC" erhält die "HochgerechneteJahresmenge" des jüngsten Eintrags aus der zweiten Referenzliste. -
Fehlerfall
Fehler werden in die logMap geschrieben. -
Beispiel
Ist die Liste für "YearConsProg.C12INSTACC": ["APHT.Menge", "HT.Value", ""],
die für "YearConsProgNT.C12INSTACC": ["APNT.Menge", "NT.Value"],
und die Einträge sind:
2024-07-01, Referenz = "NT.Value", HochgerechneteJahresmenge = 900 (Id 5)
2024-06-01, Referenz = "APHT.Menge", HochgerechneteJahresmenge = 2000 (Id 6)
2024-07-01, Referenz = "HT.Value", HochgerechneteJahresmenge = 2100 (Id 7)
Dann gilt:
"YearConsProg.C12INSTACC" = 2100 (HT.Value zum jüngsten Datum),
"YearConsProgNT.C12INSTACC" = 900 (NT.Value zum jüngsten Datum).
Kurzregel
Je Zielfeld ("YearConsProg.C12INSTACC"/"YearConsProgNT.C12INSTACC") wird immer der Eintrag mit dem jüngsten "HochrechnungszeitraumVon" aus der zugehörigen Referenz-Namensliste verwendet.
Bei mehreren gleich jungen Einträgen entscheidet die höchste "Id".