Datensatzsperrung

In diesem Dokument wird beschrieben, wie die Datensatzsperrfunktion aktiviert wird und wie Datensätze gesperrt und entsperrt werden.

Mit der Datensatzsperrfunktion können Sie den Zugriff auf einer Stufe zwischen Datenberechtigungssicherheit und Sicherheit für den Feldzugriff steuern.

Mit der Datensatzsperrfunktion kann ein Datensatz gesperrt werden, sodass er in interaktiven Programmen und APIs weder bearbeitet noch gelöscht werden kann. Wenn ein Datensatz gesperrt wurde, sind die Optionen 2 = Ändern und 4 = Löschen für keinen Benutzer zulässig. Dasselbe gilt auch für alle verknüpften Optionen, die den Datensatz aktualisieren. Wenn Sie versuchen, einen gesperrten Datensatz zu aktualisieren oder zu löschen, wird eine Fehlermeldung angezeigt, die darauf hinweist, dass der Datensatz in dem spezifischen Programm gesperrt ist. Automatische Aktualisierungen von Datensätzen, bei denen Sie keine direkte Interaktion mit dem Datensatz selbst haben, wie z. B. Batch-Programme und Autojobs, sind von dieser Validierung ausgenommen.

Situationen, in denen es sinnvoll ist, Datensätze zu sperren, ergeben sich beispielsweise, wenn diese mit aktiven Workflows in ION oder mit ausstehenden e-Signatures verbunden sind. Die Funktion kann auch verwendet werden, um Vorlagendatensätze zu sperren, die Benutzer nicht ändern dürfen, z. B. Vorlagen für Artikel, Lieferanten oder Kunden.

Einschränkungen

Für einen Schlüsselstring (KEYS) können maximal 390 Zeichen verarbeitet werden.

Datensatzsperrfunktion aktivieren

Führen Sie folgende Schritte aus, um die Funktion zum Sperren von Datensätzen für ein Programm zu aktivieren:

  1. Starten Sie "Listen- und Druckerprogr. Konfigurieren" (CMS005).
  2. Setzen Sie den Filter auf 4 = Datensatzsperrung möglich.
  3. Suchen Sie das Programm, das Sie aktivieren möchten, und wählen Sie Option 2 = Ändern aus.
  4. Aktivieren Sie das Kontrollfeld "DS-Sperr aktiv.", und klicken Sie zum Speichern auf "Weiter".
Hinweis

Beachten Sie, dass nicht alle Programme für die Datensatzsperrung aktiviert werden können. Wenn dies der Fall ist, wird das Programm beim Filtern auf 4 = "Datensatzsperrung möglich" nicht gefunden und das Kontrollfeld ist nicht verfügbar.

Mit Filter 5 = Datensatzsperrung aktiviert können Sie nach Programmen suchen, bei denen die Funktion bereits aktiviert wurde.

Die folgende Tabelle enthält Beispiele für Programme und APIs, bei denen die Datensatzsperrfunktion implementiert wurde:

Programm-ID Programmname Tabelle API
CRS610 Kunde. Öffnen OCUSMA CRS610MI
CRS620 Lieferant. Öffnen CIDMAS CRS620MI
CRS624 Lieferant. Einkauf & Finanzen def. CIDVEN CRS620MI
MMS001 Artikel. Öffnen MITMAS MMS200MI
MMS002 Artikel. Lagerort verbinden MITBAL MMS200MI
MMS003 Artikel. Standort verbinden MITFAC MMS200MI
MMS200 Artikel. Toolbox öffnen - MMS200MI
Hinweis

Die gleiche API kann Transaktionen haben, die Datensätze in anderen Programmen oder anderen Tabellen als den in der Tabelle angegebenen Datensätzen aktualisieren oder löschen und daher ausgeschlossen werden.

Der in (MMS200) hinzugefügte Verifizierungsprozess für gesperrte Datensätze wird ausgeführt, wenn Sie direkt von (MMS200) zu einem Detailbild (z. B. Bild E) in (MMS001), (MMS002) oder (MMS003) wechseln und die Datensatzsperrfunktion für das entsprechende Programm in (CMS005) aktiviert wurde. Dies gilt auch dann, wenn (MMS200) in (CMS005) nicht vorhanden ist und daher dort nicht aktiviert werden kann.

Ursachencodes definieren

Für jeden gesperrten Datensatz muss ein Ursachencode angegeben werden. Die Ursachencodes werden in "Ursachencodes. Öffnen" (CMS432) definiert. Sie werden als Auswahlkriterium und auch in der Informationsmeldung verwendet, die einen Benutzer darüber informiert, warum ein Datensatz für Änderungen gesperrt ist.

Die folgende Tabelle enthält die vordefinierten Ursachencodes und deren Zweck:

Transaktion Zweck
1 = Workflow Für Datensätze, die von einem aktiven Workflow in ION gesperrt sind.
2= e-Signature Für Datensätze, die aufgrund einer ausstehenden e-Signature gesperrt sind.
3= Manuell

Wenn eine Ausnahme auftritt, die es erforderlich macht, dass Sie einen Datensatz manuell und nicht als Teil eines automatisierten Prozesses sperren müssen.

Bei dieser Eingabe wird die Benutzer-ID des Benutzers, der den Datensatz gesperrt hat, automatisch als externe Referenz angegeben, die mit dem gesperrten Datensatz verbunden ist.

Es gibt keine integrierte Automatisierung für Workflows oder e-Signaturen, sondern nur Empfehlungen, wie die Ursachencodes verwendet werden sollten.

Die vordefinierten Codes können nicht geändert oder gelöscht werden, aber Name und Beschreibung können in "Sprache. Öffnen" (CRS830) in alternativen Sprachen angegeben werden, indem Sie in (CMS432) auf "Sprache" klicken.

Falls mehr Eingaben erforderlich sind, können die Ursachencodes 700–999 benutzerdefiniert angepasst werden.

Die Datensätze in (CMS432), Tabelle CERECD, können auch über API CMS432MI (Ursachencode-Schnittstelle) verwaltet werden.

Datensätze sperren und entsperren

Datensätze, die für das Bearbeiten oder Löschen gesperrt werden sollen, werden in "Gesperrte Datensätze. Öffnen" (CMS430) angegeben. In (CMS430) kann nur ein Datensatz mit derselben Tabelle und demselben Schlüsselstring vorhanden sein, sodass ein Datensatz nur einmal gesperrt werden kann.

Gesperrte Datensätze werden entsperrt, indem sie in (CMS430) gelöscht werden, da die Anzahl der Datensätze im Laufe der Zeit möglicherweise zunimmt. Wenn Sie einen Datensatz nur temporär entsperren möchten, kann der Parameter "Sperren" auf 0 gesetzt und dann wieder auf 1 zurückgesetzt werden. Die verknüpften Optionen 20 = Sperren und 21 = Entsperren können für diesen Zweck verwendet werden, oder es können auch die entsprechenden API-Transaktionen durchgeführt werden.

In der folgenden Tabelle sind die verschiedenen Felder von (CMS430) und deren Verwendung beschrieben:

Feld Beschreibung
Tabelle In diesem Feld wird der Name der Tabelle angegeben, in der der gesperrte Datensatz gespeichert ist.
Schlüsselstring In diesem Feld wird eine Anzahl von Schlüsselwertpaaren (Feldname und ein Wert) angegeben, die einen Datensatz in der angegebenen Tabelle eindeutig identifizieren. In (CMS430) werden die Schlüsselwerte für einen Datensatz automatisch in einen Schlüsselstring im URL-kodierten Format konvertiert, da die Schlüsselwerte beim Erstellen eines neuen gesperrten Datensatzes auf diese Weise in der CELOCK-Tabelle gespeichert werden.
Ursachencode

In diesem Feld wird der Grund angegeben, warum ein Datensatz gesperrt ist. Der Grund muss beim Erstellen eines gesperrten Datensatzes angegeben werden.

Die folgenden Eingaben sind vordefiniert:

1 = Workflow

2= e-Signature

3= Manuell

Bei Eingabe 3 wird die Benutzer-ID der Person, die den Datensatz in der CELOCK-Tabelle gesperrt oder entsperrt hat, automatisch als externe Referenz (EXRE) zugewiesen.

Weitere Informationen dazu finden Sie unter "Ursachencodes definieren".

Externe Referenz In diesem Feld wird die ID einer Referenz angegeben, die mit dem gesperrten Datensatz verbunden ist. Dies kann beispielsweise die Workflow-ID eines in Infor ION gestarteten Workflows oder die e-Signature-Nummer eines e-Signature-Datensatzes sein. Wenn Ursachencode 3 = Manuell ausgewählt wurde, kann die Referenz auch die Benutzer-ID des Benutzers sein, der den Datensatz in (CMS430) gesperrt oder entsperrt hat.
Sperren

In diesem Feld wird angegeben, ob ein Datensatz gesperrt ist, wenn er im betreffenden Programm bearbeitet oder gelöscht wird.

0 = Entsperrt

1 = Gesperrt

Hinweis

Das Programm, in dem dieser Datensatz bearbeitet werden kann, muss in (CMS005) für die Datensatzsperrung aktiviert sein, damit dieser Parameter wirksam sein kann.

Feld/Name In diesem Feld werden der Name und die Beschreibung der Schlüsselfelder angegeben, die gemäß dem Primärschlüssel der angegebenen Tabelle angezeigt werden.
Wert

In diesem Feld wird der Schlüsselwert angegeben, der mit jedem Schlüsselfeld eines Datensatzes der angegebenen Tabelle verbunden ist. Die Werte müssen mit einem vorhandenen Datensatz der angegebenen Tabelle übereinstimmen, um den Datensatz in (CMS430) zu erstellen.

Für den angemeldeten Benutzer wird "Firma" (CONO) als Standard für die aktuelle Firma festgelegt, wenn dies für die Tabelle zutrifft.

Anleitung zur Eingabe verschiedener Wertetypen:

  • Wenn ein Wert im Schlüssel ein Datum ist, muss dieses im Datenbankformat JJJJMMTT eingegeben werden.
  • Wenn ein Wert im Schlüssel eine Dezimalzahl ist, muss das Dezimaltrennzeichen als Punkt (.) angegeben werden.

In (CMS430) werden manuelle Datensatzsperren angegeben. Ein Beispiel dafür ist das Sperren von Vorlagendatensätze.

Beispiel – Sperren einer Vorlage

Sie möchten eine Lieferantenvorlage sperren, die in "Lieferant. Öffnen" (CRS620) bearbeitet oder gelöscht wird.

  1. Starten Sie (CMS430).
  2. Durchsuchen Sie mit F4 das Feld "Tabelle" der Liste, und wählen Sie Tabelle CIDMAS aus, da dies die Haupttabelle ist, die mit (CRS620) verbunden ist.
  3. Wählen Sie die Option 1 = Erstellen
  4. Wählen Sie in Bild E im Feld "Ursachencode" die Option 3 = Manuell aus (wenn für Vorlagen kein bestimmter Ursachencode vorhanden ist). Für Ursachencode 3 wird das Feld "Externe Referenz" leer gelassen, andernfalls können Sie in diesem Feld eine Referenz Ihrer Wahl angeben.
  5. Aktivieren Sie das Kontrollfeld "Sperren".
  6. Geben Sie im Feld "Wert", das mit dem Feld "IDSUNO" verbunden ist, den Namen Ihres Lieferanten an, z. B. TEMPSUP-US.
  7. Klicken Sie auf "Weiter", um den Datensatz zu speichern und zu speichern.

Beispiel – Vorlage entsperren

Sie möchten eine gesperrte Lieferantenvorlage entsperren, damit diese bearbeitet oder gelöscht werden kann.

  1. Starten Sie (CMS430).
  2. Suchen Sie den Datensatz, den Sie entsperren möchten.
  3. Wählen Sie Option 4 = Löschen aus, und klicken Sie zur Bestätigung auf "Weiter". Wenn Sie nur ein temporäres Entsperren möchten und den Datensatz in (CMS430) noch behalten möchten, wählen Sie stattdessen die verknüpfte Option 21 = Entsperren aus.

Datensätzen über API sperren und entsperren

Das Sperren von Datensätzen erfolgt in der Regel über die API eines automatisierten Prozesses, z. B. einem Workflow in ION. Schritte müssen dann dem Workflow hinzugefügt werden, um die Datensätze zu sperren und zu entsperren. Die API CMS430MI (Datensatzsperrschnittstelle) wurde erstellt, um Datensätze in (CMS430) für die CELOCK-Tabelle zu verwalten.

Die folgende Tabelle enthält die in CMS430MI verfügbaren Transaktionen:

Transaktion Beschreibung
AddRecordLock Fügt einen gesperrten Datensatz hinzu
DltMultiRecLock Löscht mehrere Datensätze aus der Tabelle CELOCK
DltRecordLock Löscht einen gesperrten Datensatz
GetRecordLock Ruft Daten eines gesperrten Datensatzes ab
LstRecordLock Listet Daten für gesperrte Datensätze auf
SetLock Setzt einen Datensatz auf "Gesperrt"
SetUnlock Setzt einen Datensatz auf "Entsperrt"
UpdRecordLock Aktualisiert Daten eines gesperrten Datensatzes
Hinweis

In der API müssen die Schlüsselwerte im Feld "Schlüsselstring" als Bookmark-Schlüsselstring im URL-kodierten UTF-8-Format.

In der CELOCK-Tabelle kann nur ein Datensatz mit der gleichen Tabelle und demselben Schlüsselstring vorhanden sein. Wenn ein Datensatz jedoch entsperrt ist (BLOC = 0), kann dieser Datensatz durch einen anderen externen Referenz- und Ursachencode übernommen und mit der Transaktion "AddRecordLock" auf "Gesperrt" gesetzt werden.

Wir empfehlen, die CELOCK-Tabelle regelmäßig aus nicht mehr verwendeten Datensätzen zu löschen. Die API-Transaktion "DltMultiRecLock" wurde für diesen Zweck erstellt.

Im Folgenden werden einige Felder der Transaktion und deren Verwendung beschrieben:

  • "Bis-Änderungsdatum" ist obligatorisch, ältere oder gleich alte Datensätze werden gelöscht.
  • Wenn "Tabelle" nicht angegeben wird, werden die Datensätze aller Tabellen gelöscht.
  • Wenn "Löschen zulassen, wenn für Bearbeiten gesperrt" leer gelassen wird, werden nur entsperrte Datensätze (BLOC = 0) gelöscht.
  • Wenn ADWB auf 1 gesetzt ist, werden auch gesperrte Datensätze (BLOC = 1) gelöscht.
  • Die Anzahl der gelöschten Transaktionen wird als Ausgabe für die Transaktion angezeigt.