Zentrale Methode zur Anlage & Update von Anlagenkonten (Admin)
Installation/Einrichtung
Installationsaufwand (PT) | 0,125 |
---|
Voraussetzungen für die Verwendung des Moduls
EVI-Basis muss eingespielt sein.
Der Prozess "Anlagenkonten aus abhängigen Entitäten aktualisieren" (C12UpdateInstallationAccountsFromLinkedEntities) muss veröffentlicht sein.
Der Prozess "Anlagenkonto erzeugen, aktualisieren oder löschen" (C12CreateOrUpdateInstallationAccount) muss veröffentlicht sein.
Konfiguration der Timer muss erfolgen
Technische Dokumentation
Komponentenübersicht
Prozesse
Beim Einspielen des Moduls werden die Prozesse automatisch veröffentlicht, dennoch ist eine Prüfung des Veröffentlichungsstatus empfehlenswert. Entsprechende Hinweise werden auch beim Import des Moduls ausgegeben.
C12UpdateInstallationAccountsFromLinkedEntities ("Anlagenkonten aus abhängigen Entitäten aktualisieren")
Sucht alle Anlagenkonten, die zuvor über die Eigenschaft "Markiert für Aktualisierung" (MarkedForUpdate) für das Update markiert wurden.
Ruft für jedes SC12EnergyMarketUtils#updateInstallationAccountFromLinkedEntities auf (siehe unten).
MarkedForUpdate wird danach zurückgesetzt.
Außerdem wird "Letze Aktualisierung" (LastUpdate.C12InstAcc) gesetzt.
Können irgendwelche Daten nicht ermittelt werden, wird ein "Aktualisierungsfehler" (ErrorReason) gesetzt. Beim nächsten Timerlauf wird erneut versucht die fehlerhaften Datensätze zu aktualisieren.
C12CreateOrUpdateInstallationAccount ("Anlagenkonto erzeugen, aktualisieren oder löschen")
Reagiert auf Änderungen, Neuanlage oder Löschen einer Reihe mit dem Anlagenkonto verknüpfter Entitäten (siehe Screenshot) und markiert das Anlagenkonto für ein Update
Dabei gibt es bei Änderungen eine Whitelist von Feldern. Diese werden über Skript-Methoden definiert (siehe Tabelle unten).
C12MarkInstallationAccountsForRecalculation ("Markiere Anlagenkonten zur Neuberechnung")
Sucht alle Anlagenkonten, die nicht über die Eigenschaft "Markiert für Aktualisierung" (MarkedForUpdate) zum Update markiert sind.
Reagiert bei fortschreitender Zeit oder Änderungen:
Zeitlichem Fortschreiten und Beendigung / Wechsel des Abrechnungsvertrages ohne Änderung
Zeitlichem Fortschreiten und Beendigung / Wechsel der Anlagen Zeitdaten
Zeitlichem Fortschreiten und Beendigung / Wechsel der Tarifzeitscheibe
Ist ein Anlagenkonto in der Selektionsmenge der obigen Fälle, ist es über die Methode markInstallationAccountsForUpdate für die Aktualisierungsläufe zu markieren.
Feldmapping
Folgender Tabelle ist zu entnehmen, welche Felder beim Aufruf der Methode SC12EnergyMarketUtils#updateInstallationAccountFromLinkedEntities geschrieben werden:
fachl. Feldname | techn. Feldname | Quellentität | Quellfeld | Fremdschlüssel / Entität | Beschreibung |
---|---|---|---|---|---|
Aktiv im ERP | ERPActive.C12INSTACC | Fest true | |||
Anlagenkonto-Nr. | INSTACCNO.C12INSTACC | <ERP GP-Nr. des Geschäftspartners>-<Anlagennummer der Anlage> Das Feld wird nicht geleert, sollte eins von beidem nicht mehr vorhanden sein. | |||
Sparte | Medium.C12INSTACC | Installation | ProducttypeKey.Installation | S_KEYTAB (S_PRDART) | |
Netzebene | GridLevel.C12INSTACC | Installation | ISU_GridLevel.Installation | S_KEYTAB (NETZEBENE) | |
Spannungsebene | VoltageLevel.C12INSTACC | Installation | ISU_SpEbene.Installation | S_KEYTAB (S_SPEBEN) | |
Malo | MeteringCode.C12INSTACC | Installation | MeteringCode.Installation | ||
Serviceprovider | GridOperator.C12INSTACC | Installation | C12GRIDOPER.Installation | ||
Land | CountryKey.C12INSTACC | Address | CountryKey.Address | Country | aus Adressdatensatz des Anschlussobjektes, welches der Marktlokation zugrunde liegt |
PLZ | ZIP.C12INSTACC | Address | ZIPKey.Address | aus Adressdatensatz des Anschlussobjektes, welches der Marktlokation zugrunde liegt | |
Ort | City.C12INSTACC | Address | City.Address | aus Adressdatensatz des Anschlussobjektes, welches der Marktlokation zugrunde liegt | |
Ortsteil | District.C12INSTACC | Address | District.Address | aus Adressdatensatz des Anschlussobjektes, welches der Marktlokation zugrunde liegt | |
Straße | Street.C12INSTACC | Address | Street.Address | aus Adressdatensatz des Anschlussobjektes, welches der Marktlokation zugrunde liegt | |
Haus-Nr. | Streetnumber.C12INSTACC | Address | StreetNumber.Address | aus Adressdatensatz des Anschlussobjektes, welches der Marktlokation zugrunde liegt | |
Haus-Nr. Zusatz | StreetNoAdd.C12INSTACC | Address | StreetNumberAddition.Address | aus Adressdatensatz des Anschlussobjektes, welches der Marktlokation zugrunde liegt | |
Bundesland/Kanton | State.C12INSTACC | Address | State.Address | aus Adressdatensatz des Anschlussobjektes, welches der Marktlokation zugrunde liegt | |
Bundesland/Kanton (lang) | StateDesc.C12INSTACC | Address | StateDesc.FederalState | aus Adressdatensatz des Anschlussobjektes, welches der Marktlokation zugrunde liegt | |
Akt. Abr.-Vertrag | Current_BC.C12INSTACC | BillingContract | Aktueller Abrechnungsvertrag: Aus aktuellem Datum den aktuell gültigen Vertrag (Ermittlung über Verknüpfung ausgehend vom Vertrag C12InstAccPk.BillingContract) über Vertragsbeginn / Vertragsende bestimmen. Vertragsende kann auch leer sein. | ||
Vertragskonto | ContractAccPk.C12INSTACC | BillingContract | ContractAccPK.BillingContract | ContractAccount | Die Zuordnungen kann über den aktuellen Abrechnungsvertrag (Current_BC.C12INSTACC) zum Vertragskonto hergestellt werden. |
Rechnungsempfänger | CustNoInvoice.C12INSTACC | ContractAccount | CustNoInvoicePk.ContractAccount | Customer | |
Akt. Anlagenzeitsch. | Current_TS.C12INSTACC | TimeSlicingIs | TimeSlicingIs |
| |
Tarifzeitscheibe | RateTimeSlPk.C12INSTACC | C12RTIMESL | C12RTIMESL | Aus C12RateTypePk.TimeSlicingIs der aktuell gültigen Anlagen-Zeitscheibe gegen das Referenzdatum prüfen. Mit Referenzdatum dann über Tarif die Tarifzeitscheibe selektieren Referenzdatum > FromDate.C12RTIMESL und Referenzdatum < UntilDate.C12RTIMESL | |
Versorgungsstatus | DeliveryState.C12INSTACC | S_KEYTAB (C12VERSORGUNGSSTATUS) | Über Liste Abrechnungsverträge zum Anlagenkonto:
| ||
Versorgungsbeginn | DeliveryStart.C12INSTACC | BillingContract | ISU_VBeginn.BillingContract | ||
Versorgungsende | DeliveryEnd.C12INSTACC | BillingContract | ISU_VEnde.BillingContract | ||
Aktualisierungsfehler | ErrorReason.C12INSTACC | - | - | KeytabNum (C12INSTACC_UPD_ERROR) | Hier werden Fehlercodes gesetzt, wenn benötigte Daten fehlen. |
Administrationsmöglichkeiten
Timer
Folgende Timer werden mit dem EVI-Basis-Modul ausgeliefert und sind zu aktivieren.
C12UpdateInstallationAccountsFromLinkedEntities
C12MarkInstallationAccountsForRecalculation
Die Timer rufen jeweils den gleichnamigen Prozess auf.
Performance-Logging
Performance-Logging für einzelne Schritte aufnehmen
In der <JBOSS>\server\jboss\standalone\configuration\standalone-cursor.xml ist Folgendes einzutragen:
CODE<periodic-rotating-file-handler name="PERFORMANCE_INSTACC" autoflush="true"> <encoding value="UTF-8"/> <formatter> <pattern-formatter pattern="%d %-5p [%c] %m%n"/> </formatter> <file relative-to="jboss.server.log.dir" path="performance_instacc.log"/> <suffix value=".yyyy-MM"/> <append value="true"/> </periodic-rotating-file-handler> <logger category="PerformanceInstAcc" use-parent-handlers="false"> <level name="DEBUG"/> <handlers> <handler name="PERFORMANCE_INSTACC"/> </handlers> </logger> <logger category="PerformanceInstAccGeneral" use-parent-handlers="false"> <level name="INFO"/> <handlers> <handler name="PERFORMANCE_INSTACC"/> </handlers> </logger>
Wird der Prozess "Anlagenkonten aus abhängigen Entitäten aktualisieren" (C12UpdateInstallationAccountsFromLinkedEntities) nach dem deployen auf INFO gesetzt, loggt er die gesamte Ausführungszeit in die Datei <JBOSS>\server\jboss\standalone\log\performance_instacc.log
CODE2021-12-09 13:17:36,557 INFO [PerformanceInstAccGeneral] [Process: C12UpdateInstallationAccountsFromLinkedEntities(21|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: dd8ad500-58e9-11ec-a240-00505688a5c9] [Task: cid_1778kkq1fjgg81a2ScriptTaskProperty 'Fehlerbehandlung'][User: BNE as BNE] - SUM: The whole process took 59639ms for 34 successful and 0 failed entries. The average was 320ms per entry.
Stellt man ihn hingegen auf DEBUG loggt er Zeiten für jeden bearbeiteten Eintrag in dieselbe Datei:
CODE2021-12-08 07:50:41,606 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_1bot8mu1fjgevcluScriptTaskProperty 'Suche vorbereiten'][User: BNE as BNE] - START ------------------------------------------------------ 2021-12-08 07:50:47,055 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - Search installation account took 14ms 2021-12-08 07:50:47,059 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - Get installation account took 4ms 2021-12-08 07:50:47,355 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - - Search billing contracts took 2ms 2021-12-08 07:50:47,355 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - - Update installation account took 294ms 2021-12-08 07:50:47,355 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - SUM: updateInstallationAccountFromLinkedEntities took 296ms 2021-12-08 07:50:47,356 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - ------------------------------------------------------ 2021-12-08 07:50:47,356 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - SUM: Whole entry took 314ms 2021-12-08 07:50:47,356 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - ------------------------------------------------------ 2021-12-08 07:50:47,378 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - Search installation account took 14ms 2021-12-08 07:50:47,382 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - Get installation account took 4ms 2021-12-08 07:50:47,431 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - - Search location took 15ms 2021-12-08 07:50:47,431 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - - Search time slicing is took 2ms 2021-12-08 07:50:47,432 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - - Search billing contracts took 4ms 2021-12-08 07:50:47,432 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - - Search contract account took 5ms 2021-12-08 07:50:47,432 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - - Update installation account took 22ms 2021-12-08 07:50:47,432 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - SUM: updateInstallationAccountFromLinkedEntities took 50ms 2021-12-08 07:50:47,432 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - ------------------------------------------------------ 2021-12-08 07:50:47,432 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - SUM: Whole entry took 68ms 2021-12-08 07:50:47,432 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_fvvvvvv067j3s1fjgeu32eMassDataTaskProperty 'Anlagenkonten aktualisieren'][User: BNE as BNE] - ------------------------------------------------------ 2021-12-08 07:51:36,819 INFO [PerformanceInstAccGeneral] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_1778kkq1fjgg81a2ScriptTaskProperty 'Fehlerbehandlung'][User: BNE as BNE] - ------------------------------------------------------ 2021-12-08 07:51:36,819 INFO [PerformanceInstAccGeneral] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_1778kkq1fjgg81a2ScriptTaskProperty 'Fehlerbehandlung'][User: BNE as BNE] - SUM: The whole process took 55204ms for 2 successful and 0 failed entries. The average was 0ms per entry. 2021-12-08 07:51:36,820 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_1778kkq1fjgg81a2ScriptTaskProperty 'Fehlerbehandlung'][User: BNE as BNE] - Search mass data logs took 2ms 2021-12-08 07:51:36,820 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_1778kkq1fjgg81a2ScriptTaskProperty 'Fehlerbehandlung'][User: BNE as BNE] - Search mass data task took 3ms 2021-12-08 07:51:36,820 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_1778kkq1fjgg81a2ScriptTaskProperty 'Fehlerbehandlung'][User: BNE as BNE] - Update mass data logs took 2ms 2021-12-08 07:51:36,820 DEBUG [PerformanceInstAcc] [Process: C12UpdateInstallationAccountsFromLinkedEntities(20|C1) 'Anlagenkonten aus abhängigen Entitäten aktualisieren'] [Instance: 28a53d89-57f3-11ec-a240-00505688a5c9] [Task: cid_1778kkq1fjgg81a2ScriptTaskProperty 'Fehlerbehandlung'][User: BNE as BNE] - END ------------------------------------------------------
Stellt man den Prozess hingegen auf ERROR (Standard) wird gar nichts geloggt.
Übersteuerungsmöglichkeiten
Grundsätzlich können die mit dem Modul bereitgestellten Komponenten wie BPM-Prozesse, -teilprozesse, Suchen und Skriptbibliotheksmethoden übersteuert werden, um diese an individuelle Anforderungen und Bedürfnisse anzupassen.
Nach dem Einspielen eines Moduls sollte geprüft werden, ob bereits Methoden im Projekt übersteuert wurden und ob die Methodenänderung aus dem Standard im Projekt übernommen werden sollte.
Skriptklasse | Methodenname | Funktionalität |
---|---|---|
C12EnergyMarketUtils | getBillingContractChangeFields | Whitelist für Abrechnungsvertrag-Änderungen. |
C12EnergyMarketUtils | getContractAccountChangeFields | Whitelist für Vertragskonto-Änderungen. |
C12EnergyMarketUtils | getInstallationChangeFields | Whitelist für Anlagen-Änderungen. |
C12EnergyMarketUtils | getLocationChangeFields | Whitelist für Anschlussobjekt-Änderungen. |
C12EnergyMarketUtils | getTimeSlicingIsChangeFields | Whitelist für Anlagen-Zeitdaten-Änderungen. |
Interner Ablauf
Einstiegsmethoden
Skriptklasse | Methodenname | Funktionalität |
---|---|---|
SC12EnergyMarketUtils | IContainer updateInstallationAccountFromLinkedEntities(IContainer installationAccount, IScriptWorkSpace installationAccountWorkSpace) | Aktualisiert das Anlagenkonto aus allen dazu verknüpften Daten wie z.B. Anlage, Anschlussobjekt, Vertragskonto, Abrechnungsvertrag etc. |
SC12EnergyMarketUtils | IContainer createOrMarkForUpdateInstallationAccount(IContainer installationAccount, IContainer billingContract, List<String> idFields, Map<String,Object> values) | Prüft anhand von Anlage und Geschäftspartner, ob bereits ein passendes Anlagenkonto existiert. Wenn ja wird dieses zum Update markiert. Sonst wird ein neues Anlagenkonto erzeugt und ebenfalls zum Update markiert. |
SC12EnergyMarketUtils | void checkInstallationAccountNeedMarkForUpdate(IContainer installationAccount) | Überprüft, ob ein übergebenes Anlagenkonto zum update markiert werden muss. |
SC12EnergyMarketUtils | Boolean setMaloIDInstallationAccount(String syncid, String maloID) | Sollte von Schnittstellen VOR dem Bearbeiten des Abrechnungsvertrages aufgerufen werden, um die MaloID in MeteringCode eines ggf. mit dieser SyncId bereits bestehenden Anlagenkontos zu schreiben, sofern nicht bereits einer gesetzt ist. createOrMarkForUpdateInstallationAccount sucht als Fallback hierrüber. |
Technische Ablaufbeschreibung
Bei Änderungen an oder der Neuanlage von einem Abrechnungsvertrag wird ein Anlagenkonto erzeugt, sofern für diesen Geschäftspartner und diese Anlage nicht bereits eines existiert. Die Anlagennummer muss dazu im Feld "Anlagennummer" (ISU_Anlage.BillingContract) hinterlegt sein.