Rheinwerk < openbook > SAP-Wissen aus erster Hand
SAP-Wissen aus erster Hand.
 
Inhaltsverzeichnis
Vorwort zur vierten Auflage
1 ABAP und die ersten Schritte im SAP-System
2 ABAP Dictionary
3 Programmieren im ABAP Editor
4 Felder und Berechnungen
5 Modifikation von Zeichenketten
6 Debugging von Programmen
7 Modifikation von transparenten Datenbanktabellen
8 Rechnen mit Datum und Zeit, Mengen und Währungen
9 Mit Daten in einer Datenbanktabelle arbeiten
10 Programmablaufsteuerung und logische Ausdrücke
11 Selektionsbildschirme
12 Interne Tabellen
13 Modularisierung von Programmen
14 Weiterführende Themen
A Icons auf einen Blick
B Abkürzungsverzeichnis
C Die Autoren
Stichwortverzeichnis

Download:
- Beispielprogramme, ca. 23 KB

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Einstieg in ABAP von Karl-Heinz Kühnhauser, Thorsten Franz
Buch: Einstieg in ABAP

Einstieg in ABAP
Pfeil 9 Mit Daten in einer Datenbanktabelle arbeiten
Pfeil 9.1 Berechtigungskonzept
Pfeil 9.2 Sperrkonzept
Pfeil 9.3 Open-SQL-Anweisungen
Pfeil 9.3.1 Neuen Datensatz anlegen
Pfeil 9.3.2 Bestehenden Datensatz ändern
Pfeil 9.3.3 Datensatz modifizieren
Pfeil 9.3.4 Datensatz löschen
Pfeil 9.4 Komfortable Alternative: Persistente Klassen
Pfeil 9.5 Codebeispiel zu INSERT
Pfeil 9.6 Codebeispiel zu UPDATE
Pfeil 9.7 Codebeispiel zu MODIFY
Pfeil 9.8 Codebeispiel zu DELETE

In diesem Kapitel greifen wir auf Datensätze in Datenbanktabellen zu. Hierfür lernen Sie die wichtigsten Open-SQL-Anweisungen kennen.

 
Zum Seitenanfang

9    Mit Daten in einer Datenbanktabelle arbeiten Zur vorigen ÜberschriftZur nächsten Überschrift

Solange Sie nur Datensätze in Tabellen lesen, ist dies nicht weiter störend für andere Systemanwender. Was aber ist, wenn Sie einen Datensatz verändern möchten und ein anderer Anwender dies zur selben Zeit auch will; wie wird der konkurrierende Zugriff organisiert? In diesem Kapitel lernen Sie die wichtigsten Aspekte zum Schreiben, Ändern und Löschen von Datensätzen.

[»]  Prinzipien verstehen

Eigentlich ist das Problem, dass eine unbekannte Anzahl Benutzer auf dieselbe Datenbanktabelle zugreift, nicht als Thema für Einsteiger, sondern aufgrund seiner Komplexität eher für Fortgeschrittene geeignet. Doch Sie sollten zumindest die Regeln und auch die Fettnäpfchen kennen, um Risiken besser einschätzen zu können, und für den Einstieg ist es wichtig, eine Vorstellung von den Prinzipien zu erhalten.

Zunächst einmal müssen Sie sich wieder ins Gedächtnis rufen, dass Sie in einer Client-Server-Architektur arbeiten. Die Applikation und die Datenbank liegen nicht auf dem PC »unter dem Schreibtisch«. Wenn Sie am Client – dem Präsentationsserver – sitzen und ein Programm auf dem Applikationsserver, der im Netz verfügbar ist, starten, greift dieser Applikationsserver wiederum auf einen Datenbankserver zu, der ebenfalls im Netz steht. Demnach sind verschiedene Rechner beteiligt und müssen koordiniert werden. Wie in Kapitel 1, »ABAP und die ersten Schritte im SAP-System«, beschrieben, kommunizieren die Applikation und das Datenbanksystem über eine Datenbankschnittstelle – um diese Technik müssen Sie sich als Anwendungsentwickler daher glücklicherweise nicht kümmern.

Die Programme des SAP-Systems greifen unabhängig vom installierten Datenbanksystem über Open SQL auf die Datenbanktabellen zu. Sie können mit Open SQL Daten lesen und verändern; ferner haben Sie die Möglichkeit, Daten auf dem Applikationsserver zu puffern und hierdurch Datenbankzugriffe zu reduzieren. Den Abgleich des Puffers mit der Datenbanktabelle übernimmt ebenfalls die Datenbankschnittstelle; die Synchronisation erfolgt in festgelegten Zeitabständen. Sie müssen leider in Kauf nehmen, dass die gepufferten Daten nicht immer aktuell sind. Die Pufferung empfiehlt sich deshalb eher bei relativ konstanten Daten wie Customizing-Einstellungen oder Stammdaten.

Open SQL kann keine Tabellen anlegen oder Strukturen von Tabellen modifizieren; hierzu ist das ABAP Dictionary gedacht. Diese Arbeitsteilung ist beabsichtigt: Normale Programme sollen die Aufgaben des ABAP Dictionarys nicht erfüllen können. Mit ABAP-Anweisungen, d. h. Open-SQL-Anweisungen, können Sie auch nur auf solche Tabellen zugreifen, die über das ABAP Dictionary auf der physischen Datenbank angelegt und administriert wurden.

Um wirklich unabhängig vom Datenbanksystem zu sein, werden auch keine Werkzeuge des Datenbanksystems verwendet, um Berechtigungen und Sperrkonzepte auf der Datenbank zu prüfen, sondern das SAP-System verfügt über ein eigenes Berechtigungs- und Sperrkonzept, das aus Systemsicht für alle zertifizierten Datenbanksysteme einheitlich angewendet wird.

 
Zum Seitenanfang

9.1    Berechtigungskonzept Zur vorigen ÜberschriftZur nächsten Überschrift

Grundsätzlich soll ein Anwender nur auf die Daten zugreifen dürfen, für die er eine Berechtigung besitzt. Es muss deshalb definiert werden, auf welche Daten – d. h. auf welche Felder – er zugreifen darf und wie. Für jedes Feld ist eine Aktivität festgelegt, z. B. Anzeigen oder Ändern. Dieses Bündel aus Feld und Aktivität wird in einem Berechtigungsobjekt abgelegt.

Um die Verwaltung von Berechtigungsobjekten zu erleichtern, sind diese in Objektklassen zusammengefasst. Die Objektklassen werden Applikationen zugeordnet und zu Profilen aggregiert. Profile wiederum werden zu Sammelprofilen aggregiert. Dieser Prozess wird so lange fortgesetzt, bis er etwa auf Arbeitsplatzebene abbildet, welche Sichten auf Daten notwendig sind, um die zugeordneten Aufgaben erledigen zu können.

Glücklicherweise muss hier niemand das Rad neu erfinden. Bei der Auslieferung des SAP-Systems wird eine Fülle von Profilen und Sammelprofilen mitgeliefert, die nur noch geprüft und eventuell kopiert und marginal modifiziert werden müssen. Beispielsweise erhält man ein Profil für einen Sachbearbeiter in der Anlagenbuchhaltung und prüft im konkreten Fall, ob die tatsächlichen Anforderungen im Standard enthalten sind oder nicht. Falls nicht, können Sie das Profil kopieren und modifizieren. Die Sicht auf die für die Arbeit erforderlichen Daten und die nötigen Berechtigungen werden in einer sogenannten Rolle abgebildet.

Ein Benutzer muss im SAP-System angelegt sein und über einen Benutzerstammsatz verfügen; anderenfalls kann er sich nicht am System anmelden. Im Benutzerstammsatz müssen dem Benutzer auch eine oder mehrere Rollen zugeordnet sein, und über die Rollen sind ihm entsprechende Berechtigungen zugeteilt, die festlegen, mit welchen Daten er welche Aktivitäten durchführen darf. Die Aufgabe einer Anwendung, d. h. des ausgeführten Programms, ist es zu prüfen, ob der Anwender diese Berechtigungen besitzt oder nicht. Verfügt der Anwender über die jeweiligen Rechte, wird ihm der Zugriff auf die Daten erlaubt, sonst nicht.

Im physischen Datenbanksystem selbst finden keine Berechtigungsprüfungen mehr statt; diese Prüfungen müssen vorher aufseiten des SAP-Systems eingebaut sein. So kann beispielsweise die Berechtigung für eine Transaktion im Transaktionscode gepflegt und vor dem Ausführen der Transaktion geprüft werden. Die Transaktion startet nur dann, wenn der Benutzer in seinem Stammsatz entsprechende Berechtigungen eingetragen hat.

Analoge Einschränkungen existieren für den Start von ABAP-Programmen. Beispielsweise gibt es für die Ausführung von ABAP-Programmen ein eigenes Berechtigungsobjekt, in dem Sie ABAP-Programme zu Gruppen ordnen können. Über die Gruppenzuordnung können Benutzer dann bestimmte Programme ausführen und andere nicht.

[+]  AUTHORITY-CHECK

Auch selbst definierte Berechtigungsprüfungen können in den ABAP-Quellcode eingebaut werden; speziell zu diesem Zweck gibt es die Anweisung AUTHORITY-CHECK. Diese Anweisung muss immer dann verwendet werden, wenn die Transaktion oder das ABAP-Programm selbst nicht hinreichend durch Berechtigungen geschützt ist.

 


Ihre Meinung?

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de

<< zurück
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Einstieg in ABAP Einstieg in ABAP
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: SAP – Der technische Einstieg
SAP – Der technische Einstieg


Zum Rheinwerk-Shop: ABAP Objects – Das umfassende Handbuch
ABAP Objects – Das umfassende Handbuch


Zum Rheinwerk-Shop: ABAP-Entwicklung für SAP S/4HANA
ABAP-Entwicklung für SAP S/4HANA


Zum Rheinwerk-Shop: Kundeneigene Erweiterungen mit ABAP
Kundeneigene Erweiterungen mit ABAP


Zum Rheinwerk-Shop: Schrödinger programmiert ABAP
Schrödinger programmiert ABAP


Zum Rheinwerk-Shop: Migration nach SAP S/4HANA
Migration nach SAP S/4HANA


Zum Rheinwerk-Shop: Design Thinking mit SAP
Design Thinking mit SAP


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und in die Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2020
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
[Rheinwerk]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern