In diesem Abschnitt ist das Loggen von Änderungen an Daten zu Vertrag, Geschäftspartner oder Zähler beschrieben. Die Datensätze werden über eine ReSt-Schnittstelle abgerufen.

Ziel

Das Loggen von Änderungen an den Entitäten: Vertrag, Geschäftspartner oder Zähler.

Durchführung

Bei Änderungen über MBS an einem Vertrag, einem Geschäftspartner oder an einem Zähler wird ein Trigger ausgelöst. Dadurch werden die Vertrags-, Geschäfts- oder Zählernummern der geänderten Datensätze in eine Tabelle geschrieben. Es wird eine ReST-Schnittstelle zur Verfügung gestellt, worüber die entsprechenden Datensätze abgerufen werden können.

Die GET-Anfrage an die ReST-Schnittstelle geschieht über den Endpunkt /api/changeTriggerQueue.

Ablauf

  • Auslösen des Triggers, anhand einer Änderung an den Entitäten Vertrag, Geschäftspartner oder Zähler.
  • Die geänderten Datensätze werden in die Tabelle FL_CHANGETRIGGERQUEUE geschrieben.
    • Duplikate werden dabei nicht übernommen.
  • Die Datensätze der Tabelle FL_CHANGETRIGGERQUEUE werden über eine GET-Anfrage an die ReST-Schnittstelle über den Endpunkt /api/changeTriggerQueue abgerufen.
  • Abschließend werden die Datensätze aus der Tabelle gelöscht.

Abfrage der Datensätze

Es gibt die Möglichkeit die Anzahl der Datensätze durch einen Parameter limit zu begrenzen. Der Default-Wert des Parameters ist 10.000, falls bei der Abfrage kein eigener Wert eingegeben wird.

Beispiel: Bei insgesamt 100.000 Datensätzen werden durch den Default-Wert 10.000 Datensätze bei einer Abfrage zurückgegeben und 90.000 Datensätze bleiben weiterhin abrufbereit. Falls der Wert des Parameters limit gesetzt wurde, wird entsprechend die Anzahl an Datensätzen zurückgegeben, die dem Wert des Parameters entspricht.

Das zu erwartende JSON-Format der abgerufenen Daten

[
  {
    "entityId": "Identifikationskriterium, z. B. : Vertragsnummer",
    "sourceSystem": "Wert aus Global Property CLIENT_NAME",
    "method": "CREATED (=1) | UPDATED (=2) | DELETED (=3)",
    "entityType": "BUSINESSPARTNER (=1) | CONTRACT (=2) | METER (=3)"
  }
]

Beispiel des Response body im JSON-Format

[
  {
    "entityId": "12072474242",
    "sourceSystem": "BGPF2MZX42--9a4343a5-123a-4ca1-bab7-7c6bf005011c",
    "method": 1,
    "entityType": 1
  },
  {
    "entityId": "12072474242",
    "sourceSystem": "BGPF2MZX34--9a4343a5-057a-4ca7-beb7-7c6bf005021c",
    "method": 2,
    "entityType": 1
  },
  {
    "entityId": "11004711310",
    "sourceSystem": "BGPF2MZX34--9a4343a5-057a-4ca7-beb7-7c6bf005021c",
    "method": 1,
    "entityType": 2
  },
  {
    "entityId": "11004711310",
    "sourceSystem": "BGPF2MZX34--9a4343a5-057a-4ca7-beb7-7c6bf005021c",
    "method": 2,
    "entityType": 2
  },
  {
    "entityId": "908118387199722642",
    "sourceSystem": "BGPF2MZX34--9a4343a5-057a-4ca7-beb7-7c6bf005021c",
    "method": 2,
    "entityType": 3
  }
]