Skip to main content
Skip table of contents

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

  1. Referenzdatum ermitteln:

    1. aus Sicht <heute> in dieser Priorität:

      1. aktiver Vertag vorhanden , dann <heute>

      2. zukünftiger Vertrag (BillingContract) vorhanden, dann nächstes ISU_VBeginn.BillingContract  in der Zukunft

      3. vergangener Vertrag (BillingContract) vorhanden, dann jüngstes ISU_VBeginn.BillingContract in der Vergangenheit

  2. Mit Referenzdatum Prüfung gegen Anlagen-Zeitdaten der Anlage

    1. Referenzdatum > FromDate.TimeSlicingsIs und Referenzdatum < UntilDate.TimeSlicingsIs

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:

aus Sicht <heute> in dieser Priorität:

  • AB (Aktiv Befristet) aktiver Vertrag (jüngster Vertrag hat ein Vertragsende)

  • AU (Aktiv Unbefristet) aktiver Vertrag Vertragsende leer

  • IU (Inaktiv Unterbrochen) kein aktiver Vertrag, aber in Vergangenheit und Zukunft

  • IZ (Inaktiv Zukünftig) kein aktiver Vertrag, aber in Zukunft

  • IB (Inaktiv Beendet) kein aktiver Vertrag

  • ST (Storniert) kein Vertrag

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

      CODE
      2021-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:

      CODE
      2021-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.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.