...
Titel | Auftrag (Kündigung LE) anlegen |
---|---|
Kurzbeschreibung | Folgender Ablauf beschreibt die typischen API-Interaktionen zwischen Auftraggeber und Leistungserbringer im Anwendungsfall "Kündigung durch Leistungserbringer". Dieser Anwendungsfall behandelt die Kündigung eines Produktes durch den Leistungserbringer. Die Kündigung muss sich auf ein im Bestand des jeweiligen Auftraggebers befindliches Produkt beziehen. Eine Kündigung ist nur dann möglich, wenn keine weiteren offenen Aufträge zum Bestand des Auftraggebers vorliegen. Dies gilt für Aufträge des bestandsführenden Auftraggebers. Voraussetzung für den Geschäftsfall Kündigung durch Auftraggeber ist ein bestehender Rahmenvertrag zwischen dem Auftraggeber und dem Leistungserbringer sowie die Angabe aller ausführungsrelevanten Daten. Entsprechung: KUE/DT in WITA, KUE/LE in SPRI |
Vorbedingung | Rahmenvertrag ist vorhanden Das zu kündigende Produkt befindet sich im Bestand des Auftraggebers Es liegen keine offenen Aufträge zum Produkt vor. Der Auftraggeber hat sich beim Leistungserbringer mindestens für die Category "KUE-LE" registriert. Dadurch wird er über ProductOrderCreateEvent von jedem neuen Kündigungsauftrag informiert. |
Auslöser | Der Leistungserbringer legt sich selber einen Kündigungsauftrag an. |
Ergebnis | Das Produkt wurde gekündigt |
Ablauf
Img | ||
---|---|---|
|
Codeblock | ||||
---|---|---|---|---|
| ||||
@startuml autonumber box Buyer participant taufb as "LE" Ordering" box Seller TMF622 participant tabpo as "AGProductOrder" taufpo -> taufpo : POST ProductOrder(productOrderItemDelete,category category= TerminationProvider) tauf) po-->po : 201 Created(acknowledged) note right: TEQ po -> tabb: POST ProductOrderCreatedEventProductOrderCreateEvent(PO) tauf po -> tabb: StatusChangeEvent(PO, Accepted) taufPOST ProductOrderStateChangeEvent(accepted) note right: QEB po -> tabb: AttributeValueChangeEvent(PO,Ansprechpartner, VLT) taufPOST ProductOrderAttributeValueChangeEvent() note right: e.g.: expectedCompletionDate po -> tabb: StatusChangeEvent(PO, InProgress) taufPOST ProductOrderStateChangeEvent(inProgress) note right: ABM po -> tabb: POST StatusChangeEvent(PO, Completed) taufProductOrderStateChangeEvent(completed) note right: ERLM po -> tabb: AttributeValueChangeEvent(PO, terminationDate) taufPOST ProductOrderAttributeValueChangeEvent() note right: e.g.: productOrderItem/product.terminationDate po -> tabb: StatusChangeEvent(PO, Closed)POST ProductOrderStateChangeEvent(closed) note right: ENTM @enduml |
Beispieldaten
ProductOrder (Kündigung LE)
...