...
Titel | Auftrag (Providerwechsel / Verbundleistung) anlegen |
---|---|
Kurzbeschreibung | Folgender Ablauf beschreibt 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) für die Anwendungsfälle "Auftrag (Providerwechsel / Verbundleistung) anlegen - Schlechtfall Negative RespondProviderChange (RUEM-PV)". Zu diesen Anwendungsfall sind zwei Sequenzen relevant:
|
Vorbedingung |
|
Auslöser | Der aufnehmende Auftraggeber legt einen Auftrag für den Providerwechsel bzw. die Verbundleistung beim Leistungserbringer (ANE) an. Schlechtfall:Am Schalttag kann die Bereitstellung nicht erfolgen. |
Ergebnis | Der Leistungserbringer fordert beim aufnehmenden Provider einen neuen Termin an (Status "Pending" - Information Required (TAM)) Der Leistungserbringer sendet an den abgebenden Provider eine Verzögerungsmeldung (ProcessingMessage "OrderDelay", (VZM-PV)), hier nicht dargestellt Der weitere Verlauf wird hier nicht mehr betrachtet. |
...
fachliche Felder | Daten | API Felder |
---|---|---|
fieldPath | /requestedCompletionDate tbd | fieldPath.path fieldPath.typeOfChange |
POST RescheduleProductOrder
Variante LineInUse
Codeblock | ||
---|---|---|
| ||
@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 note over leab, tab: Die Sequenz [[https://confluence.t-systems-mms.eu/pages/viewpage.action?pageId=547957140#Auftrag(K%C3%BCndigungdurchLE,GFPV/VBL)anlegen-HappyPath Auftrag (Kündigung durch LE, GF PV/VBL, Happy path) anlegen]] wird hier 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,pending) tauf -> leab:notifyInPending leab -> tab: ProductOrderStatusChangeEvent(PO2, pending) eauf <- tauf: ProductOrderInformationRequiredEvent(PO,requestedCompletionDate) eauf -> tauf: POST CloseProductOrder eauf <- tauf: POST CloseProductOrderStateChangeEvent(acknowledged, inProgress, done) 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 @enduml |
Img | ||
---|---|---|
|
Analo Analog zu Erneute Auftragsbestätigung versenden und müssten nach müssen vor der zweiten ABM an AG auf und AGab noch AttributeValueChange auf das RequestedExecutionDate und ProcessingMessage vom Type "orderConfirmationUpdate" versendet werden.
Variante Cancel
Codeblock | ||
---|---|---|
| ||
@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 note over leab, tab: Die Sequenz [[https://confluence.t-systems-mms.eu/pages/viewpage.action?pageId=547957140#Auftrag(K%C3%BCndigungdurchLE,GFPV/VBL)anlegen-HappyPath Auftrag (Kündigung durch LE, GF PV/VBL, Happy path) anlegen]] wird hier 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,pending) tauf -> leab:notifyInPending leab -> tab: ProductOrderStatusChangeEvent(PO2, pending) eauf <- tauf: ProductOrderInformationRequiredEvent(PO,requestedCompletionDate) eauf -> tauf: POST CancelProductOrder eauf <- tauf: POST CancelProductOrderStateChangeEvent(acknowledged, inProgress) eauf <- tauf: ProductOrderStateChangeEvent(PO,assessingCancellation) eauf <- tauf: ProductOrderStateChangeEvent(PO,Cancelled) eauf <- tauf: POST CancelProductOrderStateChangeEvent(done) tauf -> leab:notifyFailed leab -> tab: ProductOrderStatusChangeEvent(PO2, failed) note right: ABBM-PV @enduml |
...