Übung zu Kapitel 7 (Chapter 6) am 15. Dezember 2016

Aufgabe 1: Usage of lock object ("Task 2")

Sammle erste Erfahrungen mit Sperrobjekten anhand des folgenden Materials.

Achtung: Die Codebeispiele müssen noch dahingehend ergänzt werden, das nach dem Aufrufen der ENQUEUE-Funktionsbausteine durch Abfragen der Systemvariablen SY-SUBRC auf den Wert 0 sichergestellt wird, das die angeforderte Sperre auch tatsächlich gesetzt wurde.

Hinweis: Noch weitgehender sind folgende PAI-Module zum Dynpro 100 und zum Dynpro 200.

Aufgabe 2: Entwicklung einer Pflegetransaktion mit verschiedenen Benutzerrechten

Entwickle basierend auf ABAP-Dynpros ausgehend von den Datenbanktabellen ZZ##_TITEL und ZZ##_PERSON (vgl. Übung zu Kapitel 4 Teil 1 Aufgabe 3) eine Pflegetransaktion (Änderung, Anzeige, Löschung und Neuaufnahme) für Datensätze der Datenbanktabellen ZZ##_TITEL und ZZ##_PERSON. Die Änderungsmöglichkeit erstreckt sich nicht auf die Primärschlüssel der Datenbanktabellen. Ein Titel aus der Titel-DB-Tabelle darf nur gelöscht werden, wenn er nicht in der Person-DB-Tabelle verwendet wird (Fremdschlüsselintegrität).

Verwende eine Suchhilfe für das Feld PERSONENID der Datenbanktabelle ZZ##_PERSON bestehend aus den Feldern PERSONENID, VORNAME und NACHNAME der Datenbanktabelle ZZ##_PERSON. Zuvor ist die Umsetzung dieser drei Datenbanktabellenfelder von internen Data-Dictionary-Typen in Datenelemente erforderlich. Als kleine Hilfestellung möge das Material "Beispiel zur Suchhilfe im Data Dictionary" dienen. Eine derartige Suchhilfe sollte jedoch bereits im Übungsteil der Veranstaltung am 8. Dezember 2016 entstanden sein :-)

Sichere den schreibenden Zugriff auf die Personentabelle durch die Verwendung eines Sperrobjektes ab, mit anderen Worten, eine bestimmte Person darf nicht gleichzeitig an zwei verschiedenen Bildschirmen zum Ändern angezeigt werden.

Lege außerdem einen zusätzlichen Benutzer DEVELOP##Z an, dem nur Leserechte (Anzeigen) in der Pflegetransaktion zugewiesen werden sollen. Der Benutzer DEVELOP## soll auch Schreibrechte erhalten. Beachte dazu die heutigen Beispiele zu Berechtigungen, Profilen und Rollen sowie die vom 17.11.2016.

Fortsetzung mit Aufgaben zum Table-Control am 22. Dezember 2016