Das QPPD bietet die Möglichkeit Versionen von Objekten zu verwalten.

Die Versionierung im QPPD ist die Möglichkeit zeitpunktbezogen verschiedene Zustände ("Versionen") eines gesamten Objektes oder eines einzelnen Knotens zu verwalten.

Dieses How-To zeigt die verschiedenen Möglichkeiten, wie die Versionierung im QPPD benutzt werden kann.

Das Customizing der Versionierung kann nur im Zusammenhang erläutert werden und besteht im Gegensatz zu anderen How-Tos nicht aus einem einzelnen Customizingschalter, welcher sich in einem Absatz erklären lässt.

Vielmehr gibt es mehrere Einstellungsmöglichkeiten, welche miteinander kombiniert werden können. Dadurch entsteht eine Vielzahl von Permutationen, welche im Folgenden beschrieben werden.

Das How To soll eine Entscheidungshilfe geben, wenn unklar ist, welche Art der Versionierung genutzt werden soll. Es zeigt die Konsequenzen für die Daten der zu versionierenden Objekte auf.  Dabei werden anhand von vielen Beispielen komplexe Szenarien illustriert.

Anwendungsszenarien

Beispielsweise lässt sich die Versionierung für folgende Geschäftsfälle nutzen:

  • Parallele Nutzung "alter" und "neuer" Daten zu einem Objekt.

  • Notwendigkeit der lückenlosen Historie eines Objektes in QPPD.

Prinzip der Versionierung

Bei der Versionierung eines Objekts wird vereinfacht gesagt eine Kopie erzeugt. Diese Kopie wird als Nachfolgeversion bezeichnet und erhält die nächsthöhere Versionsnummer. Das Objekt, das versioniert wurde, wird auch Vorgängerversion genannt.

Die Versionierung lässt sich auf ein ganzes Objekt oder nur auf einen Teil des Gesamtobjektes anwenden. Insbesondere ist es möglich nur einen einzelnen Knoten zu versionieren. Besitzt der zu versionierende Knoten jedoch Kindeskinder, werden diese ebenfalls versioniert. Im Spezialfall der konsistenten Versionierung eines Kindes wird eine Version des gesamten Objekts angelegt.

QPPD unterstützt verschiedene Arten der Versionierung. Im weiteren Verlauf wird diese mit Versionierungsart bezeichnet.

Es gibt fünf mögliche Einstellungen für die Versionierungsart, welche der Vorschriftenart und/ oder den Positionstypen pflegen zugeordnet werden können.

Nr.

interne Darstellung

Versionierungsart

1

' '     (leer)

Versionsverwaltung inaktiv / keine Versionierung

2

W

Schwache Versionierung 

3

G

Versionierung als Kopie

4

C

Versionierung als Kopie, konsistenter Gültigkeitsbereich

5

X

Konsistente Versionierung

Die aufsteigende Nummerierung ist dabei ein Indiz für die Funktionsvielfalt der unterschiedlichen Versionierungsarten. Die höchste Versionierungsart mit den meisten Funktionen und der größten Komplexität ist die "Konsistente Versionierung".

Verwendung

Grundsätzlich lässt sich jede Versionierungsart an der Vorschriftenart mit fast jeder Versionierungsart an den Positionstypen kombinieren. Dies wird in den untergeordneten Seiten zum  How-To zur Versionierung detailliert erklärt. Außerdem werden hier eventuelle Ausnahmen erläutert.

Grundsätzlich können bei der Versionierung potentiell Änderungen an verschiedenen Attributen des Knotens durchgeführt werden:

  • Status

  • Gültigkeitsbereich (Datum)

  • Vorschriftennummer (VNR)

  • Vorschriftenversion (VVS)

  • Originale GUID (OGUID)

  • Originale GUID der Vorgängerversion (PREVOGUID)

  • Relationstyp (RELATTYP)

Diese Änderungen können nicht nur an der Vorgänger- und der Nachfolgeversion des zu versionierenden Knotens durchgeführt werden, sondern auch an den Eltern und Kindeskindern des zu versionierenden Knotens. Dies hängt von der jeweils eingestellten Versionierungsart und Status der involvierten Knoten ab. Die Details werden im folgenden Text detaillierter beschrieben.

Damit eine Versionierung an einem Knoten durchgeführt werden kann, müssen folgende Bedingungen erfüllt sein: 

  • Die Versionierung im Customizing muss für den Knoten aktiv sein

  • Der Knoten muss im Status "Freigegeben" (IZQFR) sein, wenn der Status verfügbar ist.

  • Das Statusschema muss den Vorgang "Version anlegen" (ZQAL) beim aktuellen Status erlauben.  

  • Der Knoten muss eine Vorschriftennummer haben.

  • Ggf. weitere Bedingungen für andere Knoten des gleichen Objekts

In den untergeordneten Seiten wird darauf eingegangen was zu tun ist, um die Versionierung für den Einzelfall korrekt einzustellen. Ferner werden Besonderheiten und mögliche Schwierigkeiten betrachtet.