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:
- Starten Sie "Listen- und Druckerprogr. Konfigurieren" (CMS005).
- Setzen Sie den Filter auf 4 = Datensatzsperrung möglich.
- Suchen Sie das Programm, das Sie aktivieren möchten, und wählen Sie Option 2 = Ändern aus.
- Aktivieren Sie das Kontrollfeld "DS-Sperr aktiv.", und klicken Sie zum Speichern auf "Weiter".
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 |
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:
|
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.
- Starten Sie (CMS430).
- 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.
- Wählen Sie die Option 1 = Erstellen
- 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.
- Aktivieren Sie das Kontrollfeld "Sperren".
- Geben Sie im Feld "Wert", das mit dem Feld "IDSUNO" verbunden ist, den Namen Ihres Lieferanten an, z. B. TEMPSUP-US.
- 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.
- Starten Sie (CMS430).
- Suchen Sie den Datensatz, den Sie entsperren möchten.
- 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 |
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.