@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.terminationDate
leab -> tab: ProductOrderStatusChangeEvent(PO2, Closed)
note right: ENTM-PV
end
end
end
end
end
@enduml |