@startuml
autonumber
box Product Order vom Typ PV (PO)
participant eauf as "EKP auf + TNB auf (AG auf)"
participant tauf as "ANE (LEauf)"
box (Sub)Product Order vom Typ KUE-LE (PO2)
participant leab as "ANE (LEab)"
participant tab as "TNB ab + EKPab (AG ab)"
eauf -> tauf: POST ProductOrder(productOrderItemCreate, VAId)
note right: PV
eauf <- tauf: ProductOrderStatusChangeEvent(PO, Acknowleged)
tauf -> leab: notifyKUE
leab -> leab: POST ProductOrder(productOrderItemDelete, category=KUE-LE)
leab -> tab: ProductOrderCreatedEvent(PO2)
leab -> tab: ProductOrderStatusChangeEvent(PO2, Acknowleged)
leab -> tab: ProductOrderStatusChangeEvent(PO2, Pending)
leab -> tab: ProductOrderInformationRequiredEvent(PO2, fieldPath=productOrder.TNBabApproval)
note right: AKM-PV
leab <- tab: POST ResondProviderChange(approval, reason)
note right: RUEM-PV
leab -> tab: ResondProviderChangeStatusChangedEvent(Acknowledged)
leab -> tab: ResondProviderChangeStatusChangedEvent(InProgress)
leab -> tab: ProductOrderAttributeValueChange(PO2, approval, reason)
leab -> tab: ResondProviderChangeStatusChangedEvent(Done)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]] hier wird includiert
...
leab ->tauf:notifyRUEM-PV(approval, reason)
eauf <- tauf: ProductOrderStateChangeEvent(PO,InProgress)
tauf -> leab:notifyInProgress
leab -> tab: ProductOrderStatusChangeEvent(PO2, InProgress)
note right: ABM-PV
eauf <- tauf: ProductOrderStateChangeEvent(PO,Completed)
tauf -> leab:notifyInCompleted
leab -> tab: ProductOrderStatusChangeEvent(PO2, Completed)
note right: ERLM-PV
eauf <- tauf: ProductOrderStateChangeEvent(PO,Closed)
tauf -> leab:notifyInClosed
leab -> tab: ProductOrderStatusChangeEvent(PO2, Closed)
note right: ENTM-PV |