Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

TitelAuftrag (Providerwechsel / Verbundleistung) anlegen
Kurzbeschreibung

Folgender Ablauf beschreibt für den Gut-Fall die typischen API Interaktionen zwischen dem aufnehmenden Auftrageber (EKPauf und TNBauf, aka AGauf), dem Leistungserbringer (LE, aka ANE) und dem abgebenden Auftraggeber (EKPab und TNBab, aka ABab) im Anwendungsfall "Auftrag (Providerwechsel / Verbundleistung) anlegen" von der Anlage des Auftrags bis zu seinem Abschluss.

Dabei werden die für diesen Ablauf erforderlichen Auftrags-Status durchlaufen und die für diesen Ablauf relevanten Informationen übermittelt.


Folgender Ablauf beschreibt die typischen API Interaktionen zwischen dem aufnehmenden Auftrageber (EKPauf und TNBauf, im Sequenzdiagramm ), dem Leistungserbringer (LE, aka ANE) und dem abgebenden Auftraggeber (EKPab und TNBab, aka ABab) für die Anwendungsfälle "Auftrag (Providerwechsel / Verbundleistung) anlegen - Gutfall".

Zu diesen Anwendungsfall sind zwei Sequenzen relevant:

  • Die Vorabstimmung
  • Die Durchführung
Vorbedingung
  • Rahmenverträge und Dienstverträge sind vorhanden
  • Der Auftraggeber hat die Verfügbarkeit des Produktes geprüft
  • der AGab hat sich beim LE für Kündigungen durch den Leistungserbringer registriert (siehe Auftrag (Kündigung durch LE) anlegen)
AuslöserDer aufnehmende Auftraggeber legt einen Auftrag für den Providerwechsel bzw. die Verbundleistung beim Leistungserbringer (ANE) an.
ErgebnisDas Produkt wurde erfolgreich bereitgestellt

...

Codeblock
languagetext
collapsetrue
@startuml
autonumber
      
box TMF622 Product Order, category=PV
participant eauf as "Buyer of new line: Ordering"
participant tauf as "Seller of new line:  Product Order"
      
box  TMF622 Product Order, category=TerminationProvider
participant leab as "Seller of old line:  Product Order"
participant tab as "Buyer of old line: Ordering"
      
      
eauf -> tauf: POST ProductOrder(productOrderItemCreate, VAId)
eauf <-- tauf: 201 Created(acknowledged)
note right: PV
alt Kaufmännische Validierung schlägt fehl
  eauf <- tauf: ProductOrderStatusChangeEvent(PO, Rejected)
note right: ABBM
else Kaufmännische Validierung erfolgreich
  eauf <- tauf: ProductOrderStatusChangeEvent(PO, Accepted)
  note right: QEB
  tauf -> leab: notifyKUE
  note over leab, tab: Die Sequenz [[https://confluence.t-systems-mms.eu/pages/viewpage.action?pageId=547957140 Auftrag (Kündigung durch LE, GF PV/VBL) anlegen]] wird hier inkludiert
  leab ->tauf:notifyRUEM-PV(approval, reason)
  alt negative RUEM-PV
    note over eauf, tauf: Siehe [[https://confluence.t-systems-mms.eu/pages/viewpage.action?pageId=587837181 1) Negative RespondProviderChange (RUEM-PV)]]
  else positive RUEM-PV
    alt Fehlschlag Technische Validierung und Erteilung
      eauf <- tauf: ProductOrderStatusChangeEvent(PO, Rejected)
      note right: ABBM
      tauf -> leab: notifyRejected
      leab -> tab: ProductOrderStatusChangeEvent(PO2, Rejected)
      note right: ABBM-PV
    else Technische Validierung und Erteilung erfolgreich
      eauf <- tauf: POST ProductOrderAttributeValueChangeEvent()
      note right: e.g.: expectedCompletionDate
      eauf <- tauf: ProductOrderStateChangeEvent(PO,InProgress)
      note right: ABM
      tauf -> leab:notifyInProgress
      leab -> tab:POST ProductOrderAttributeValueChangeEvent()
      note right: e.g.: expectedCompletionDate
      leab -> tab: ProductOrderStatusChangeEvent(PO2, InProgress)
      note right: ABM-PV
      alt Fehlschlag während der Realisierung
        note over eauf, tauf: Siehe [[https://confluence.t-systems-mms.eu/display/tfit/2%29+Fehlschlag+beim+Leistungserbringer 2) Fehlschlag beim Leistungserbringer]]
      else Realisierung erfolgreich
        alt Fehlschlag am Schalttag
          note over eauf, tauf: Siehe [[https://confluence.t-systems-mms.eu/display/tfit/3%29+Fehlschlag+am+Schalttag 3) Fehlschlag am Schalttag]]
        else Schaltung erfolgreich
          eauf <- tauf: ProductOrderStateChangeEvent(PO,Completed)
          note right: ERLM
          tauf -> leab:notifyInCompleted
          leab -> tab: ProductOrderStatusChangeEvent(PO2, Completed)
          note right: ERLM-PV
          eauf <- tauf: POST ProductOrderAttributeValueChangeEvent()
          note right: e.g.: productOrderItem.product.startDate
          eauf <- tauf: ProductOrderStateChangeEvent(PO,Closed)
          note right: ENTM
          tauf -> leab:notifyInClosed
          leab -> tab: POST ProductOrderAttributeValueChangeEvent()
          note right: e.g.: productOrderItem.product.endDateterminationDate
          leab -> tab: ProductOrderStatusChangeEvent(PO2, Closed)
          note right: ENTM-PV
        end
      end
    end
  end
end
@enduml

...