Bei der Variante 2 wird der Kopf nicht versioniert und es wird kein neues Objekt angelegt. Die Versionierung mit "Variante 2" ist nur möglich wenn:

  • Die Versionierung wird auf einem Kindsknoten ausgeführt

  • Die Versionierungsart auf dem Kopf ist auf "konsistente Versionierung" eingestellt.

  • Der Kopf ist editierbar

  • Das Objekt wurde bereits versioniert

  • Das Kind ist freigegeben oder die Freigabe ist nicht verfügbar.

Für den direkten Elternknoten gilt:

  • Falls der Elternknoten laut Customizing nicht versioniert wird oder nicht freigegeben ist, muss dieser editierbar sein, da an Ihm eine neue Version des zu versionierenden Knotens entsteht.

  • Falls der Elternknoten freigegeben ist, wird dieser versioniert. Ist der Elternknoten konsistent versioniert, darf er im gleichen Objekt nicht bereits versioniert worden sein.

  • Dies gilt rekursiv für alle Elternknoten des zu versionierenden Knotens.

Die Kindeskinder werden kopiert, es sei denn der zu versionierende Knoten wird konsistent versioniert. Dann werden alle Kindeskinder zur Nachfolgeversion des zu versionierenden Knotens umgezogen.

Wenn ein Knoten im Rahmen der Variante 2 versioniert wird, so gilt für diesen:

  • Hat das Kind die Versionierungsart "schwache Versionierung" wird eine Nachfolgeversion angelegt. Diese erhält als OGUID und PREVOGUID die OGUID des Objekts. Zusätzlich wird der Gültigkeitsbereich in Form des VALIDFR auf die aktuelle Zeit gesetzt.

  • Bei der Versionierungsart "Versionierung als Kopie" auf dem Kind wird zusätzlich der Status der Nachfolgeversion des Kindes auf "Alte Version" (IZQAL) gesetzt.

  • Bei der Versionierungsart "Versionierung als Kopie, konsistenter Gültigkeitsbereich" oder "konsistente Versionierung" auf dem Kind, wird hinzukommend der Gültigkeitsbereichs des Vorgängerversion des Kindes in Form des VALIDTO auf die aktuelle Zeit minus 1 Sekunde gesetzt.

Beispiel 1 

Beispielhaft wird die Versionierung auf dem Kind anhand eines Objekts durchgeführt. Im Statusschema ist der Status "Freigegeben" (IZQFR) vorhanden. Der Kopf und die Kinder besitzen die Versionsverwaltung "konsistente Versionierung". Ist das Objekt freigegeben, wird auf dem Kind über das Kontextmenü→ Status ändern → "Version anlegen" ausgewählt. Es wird die Variante 1 der "konsistente Versionierung" durchgeführt.

image-20240604-080435.png

Es wird eine neue Version des Kopfes A erstellt. Die wesentlichen Gemeinsamkeiten und Unterschiede zwischen den zwei Versionen des Kopfes sind dem folgenden Text und den Abbildungen zu entnehmen. Die Nachfolgeversion des Kopfes besitzt die gleiche VNR wie die Vorgängerversion. Die Versionsnummer wurde um eins erhöht. Die OGUID ist die GUID des neuen Kopfes und die PREVOGUID ist die OGUID des alten Kopfes. Der Gültigkeitsbereich der Nachfolgeversion in Form des VALIDFR wurde auf die aktuelle Zeit angepasst. Der Gültigkeitsbereich der Vorgängerversion in Form des VALIDTO wurde auf die aktuelle Zeit minus 1 Sekunde gesetzt.

Vorgängerversion:

image-20240604-080446.png

Nachfolgeversion:

image-20240604-080457.png

Alle Kinder des alten Objektes werden an das neue Objekt umgezogen. Es gibt daher weder eine Vorgänger- noch eine Nachfolgeversion des Kindes. Es handelt sich in beiden Objekten um den gleichen Knoten. Dementsprechend gibt es keine Veränderung des Gültigkeitsbereichs, der VNR oder der Versionsnummer. Die OGUID ist die GUID des neuen Elternknotens und die PREVOGUID ist die OGUID des alten Elternknotens. Der Knoten besitzt am alten und am neuen Objekt den RELATTYP = O. In der Folgenden Abbildung ist dies exemplarisch für einen Knoten des Objektes dargestellt.

Kind B Version 1 unter Kopf A Version 1 in ROOT A Version 1:                                                           

image-20240604-080514.png

Kind B Version 1 unter Kopf A Version 1 in ROOT A Version 2:

image-20240604-080525.png

Beispiel 2

Als Nächstes wird Kind B unter dem Kopf A Version 1 versioniert.

image-20240604-080536.png

Es entsteht keine neue Version des Kopfes. Zunächst werden die Eltern von Knoten B, Knoten A, versioniert.  Im zweiten Schritt wird B versioniert.

Die Nachfolgeversion der Knoten A und B besitzen die gleiche VNR wie die Vorgängerversion. Die Versionsnummer wurde um eins erhöht. Die PREVOGUID der Nachfolgeversion ist die OGUID des ersten Kopfes. Die OGUID der Nachfolgeversion ist die GUID des neuen Kopfes. Der Gültigkeitsbereich der Nachfolgeversion in Form des VALIDFR wurde auf die aktuelle Zeit angepasst. Der Gültigkeitsbereich der Vorgängerversion in Form des VALIDTO wurde auf die aktuelle Zeit minus 1 Sekunde gesetzt. 

Da Knoten B konsistent versioniert ist, werden die Kindeskinder von Knoten B Version 1 an B Version 2 umgezogen.

Knoten A Version 1 unter ROOT A Version 1: 

image-20240604-080546.png

Knoten A Version 2 unter ROOT A Version 2:

image-20240604-080603.png

Knoten B Version 1 unter Knoten A Version 1 unter ROOT A Version 1:

image-20240604-080614.png

Knoten B Version 2 unter Knoten A Version 2 unter ROOT A Version 2:

image-20240604-080626.png

Es erfolgt eine Sammelfreigabe auf das Objekt. Alle Vorgängerversionen der Knoten welche versioniert wurden, erhalten nach der Freigabe den Status "Alte Version" (IZQAL). Die die restlichen Knoten haben den Status "Freigegeben" (IZQFR) 

image-20240604-080637.pngimage-20240604-080644.png