Grafische Visualisierung von SAP Tabellen und Tabellenbeziehungen

13. April 2012 - 6:10 pm Uhr

Es kommt gelegentlich vor, dass man sich durch mehrere SAP Tabellen kämpfen muss, damit man die Daten bekommt, die man sucht. Ich mache mir dann immer gerne ein Bild von der Tabelle und möchte wissen: mit welchen Tabellen hängt diese Tabelle zusammen?

Die SAP bietet in der SE11 (Data Dictionary) ein mächtiges, aber leicht zu übersehendes Werkzeug an: Die Anzeige eines Netzplans für die Fremdschlüsselbeziehungen der aktuell ausgewählten Tabelle. Dafür wählt man in der SE11 die Option “Grafik” an oder nutzt die Tastenkombination Strg+Shift+F11:

Transaktion SE11

Weiterlesen »

1 Kommentar » | Basis

ABAP und ABAP OO Programme auf Berechtigungsprüfungen analysieren

4. April 2012 - 6:00 pm Uhr

In Berechtigungsprojekten kommt immer auch das Thema Berechtigungsprüfungen von Eigenentwicklungen auf die Tagesordnung. Oft genug ist das Programm mangelhaft dokumentiert, der Programmierer fort und es waren schlicht und einfach zum Entwicklungszeitpunkt keinerlei Anforderungen gestellt worden.

Folgende Werkzeuge und Einstiege kann man zur Analyse von Quelltexten einsetzen. Gesucht wird immer nach ‘AUTH’ oder ‘AUTHORITY-CHECK’

Weiterlesen »

Kommentieren » | Basis, Berechtigung

Pflege der SAP Berechtigungsvorschlagswerte in der SU24

31. März 2012 - 1:41 am Uhr

Jeder Rollenbauer und Berechtigungsadmin kennt das Problem: wenn man eine kundeneigene Transaktion in der PFCG eingefügt hat, sieht es mit den Vorschlagswerte oft sehr schlecht aus. Dann geht das große Suchen los: welche Berechtigungsprüfungen kommen in der Eigenentwicklung hinter der Transaktion vor, welche Berechtigungsobjekte müssen eingefügt werden und mit welchen Werten muss man sie ausprägen damit die Transaktion in dieser Rolle funktioniert.

Entwickler können diese Informationen direkt bei Erstellung Ihrer Programme selbst oder über den zuständigen Administrator in die Vorschlagstabelle pflegen, und zwar über die Transaktion SU24. Damit dokumentieren sie sofort direkt im System ihre Berechtigungsprüfungen und runden ihre Arbeit somit auch aus Berechtigungssicht ab.

 

Und so geht’s:

In dem Beispiel wird für die Transaktion ZAUTHCHECKDEMO über die Transaktion SU24 zwei Vorschlagswerte gepflegt.

SU24 - Pflege der Vorschlagswerte - Einstieg

Weiterlesen »

Kommentieren » | Basis, Berechtigung, HowTo

SAP Favoriten eines Benutzers auslesen

23. März 2012 - 1:09 am Uhr

Es kommt immer wieder vor, dass man für die Neukonzeption von SAP Berechtigungen zunächst herausfinden muss: was macht der Anwender im SAP eigentlich genau? Diese Prozessaufnahme hat natürlich viele interaktive Elemente wie Interviews am Platz des Benutzers und Workshops zur Prozessaufnahme. Aber manche Informationen können auch schon im Vorfeld gesammelt werden, um die Gespräche auch für die Anwender zu erleichtern. Und dazu gehört das Auslesen von den SAP Favoriten.

Mit einem kleinen unten aufgeführten ABAP kann man für den aktuellen Benutzer alle Favoriten aus der Tabelle smen_buffc auslesen. Mit einer entsprechenden Selektionsmöglichkeit könnte man das auf andere Benutzer beliebig erweitern und zum Beispiel per ALV als Excel exportieren.

SAP Favoriten

Weiterlesen »

Kommentieren » | Berechtigung, HowTo

SAP Tabellen für Transaktionen, Berechtigungsobjekte und Berechtigungsfelder

3. März 2012 - 12:16 am Uhr

Zurzeit fahre ich einige Auswertungen über notwendige und mögliche Berechtigungen von Transaktionen und Programmen. Dabei muss man sich durch einige Tabellen im SAP hangeln, hier sind meine derzeitigen Favoriten:

 

Tabellenname (ggf. Langtext) Verwendung
USOBT_C Berechtigungsvorschläge zu Transaktionen – in dieser Tabelle sind alle Berechtigungsobjekte aufgeführt, die auch beim Einfügen über das SAP Menü in der PFCG später im Profil-Editor vorgeschlagen werden würden. Oder kurz: SU24.
TSTC (TSTCT) Langtext für Transaktionen
TOBJ (TOBJT) Langtext für Berechtigungsobjekte
USORG Orgebenen für Profilgenerator
TACT (TACTT) Zuordnung Nummer zu Aktivität
TACTZ Mögliche Aktivitäten für ein bestimmtes Berechtigungsfeld

Weiterlesen »

Kommentieren » | Berechtigung

Genutzte Transaktionen aus dem SAP Workload Monitor ST03N exportieren

24. Februar 2012 - 5:59 pm Uhr

Mit dem Funktionsbaustein SWNC_COLLECTOR_GET_AGGREGATES können vom System gesammelte Workload-Daten extrahiert werden. Die Ergebnisse entsprechen den Daten wie sie z.B. auch im Systemlastmonitor (ST03N) zu finden sind. Eine solche Liste von tatsächlich genutzten Transaktionen ist beispielsweise sehr nützlich für das Erstellen von neuen Rollen. Dem Anwender oder Keyuser kann man schon im Vorfeld “seine” Transaktionen präsentieren und so die Rollenentwicklung deutlich beschleunigen.

Wenn man nicht gleich ein ABAP schreiben möchte, kann man auch folgende Schritte durchführen:

Funktionsbaustein SWNC_COLLECTOR_GET_AGGREGATES in SE37 ausführen.

Parameter für den Funktionsbaustein eingeben und “Ausführen”

Import-Parameter Wert Bedeutung
COMPONENT TOTAL Alle Applikationsserver einbeziehen
PERIODTYPE M Monat, Alternativ W = Week
PERIODSTRT 01012012 erster Tag des gewünschten Zeitabschnitts, hier der 01.02.2012

 


 

Ergebnistabelle USERTCODE selektieren.

 

Die Liste als Lokale Datei abspeichern.

 

Der Benutzername befindet sich in der Spalte Account. Die Transaktionen und Programme stehen dann in der Spalte “ENTRY_ID”. Am Ende der gleichen Spalte (Zeichen 72) steht dann jeweils der Typ, also z.B. der Buchstabe T für Transaktion oder R für Report.

Tipp: Den Langtext der Transaktionen in der passenden Sprache kann man sich aus der Tabelle TSTCT besorgen.

Kommentieren » | Berechtigung, HowTo

ABAP-Webservices mit dem SOA-Manager anlegen

20. Januar 2011 - 3:57 pm Uhr

Gerade im SAP-Umfeld ist es interessant, im produktiven System verfügbare Informationen auch anderen Nicht-SAP-Systemen zugänglich machen zu können. Webservices sind ein effektives Mittel um Systeme ohne große Umwege direkt miteinander kommunizieren zu lassen. Mit SAP NetWeaver 7.0 SP14 steht nun auch die Transaktion SOAMANAGER zur Verfügung, die den Umgang mit Webservices deutlich einfacher macht. Dieses Howto beschreibt anhand eines einfachen Beispiels die Vorgehensweise, um mit ABAP und dem SOAMANAGER einen SAP Webservice zur Verfügung zu stellen.

Überblick

  1. Voraussetzungen
  2. Einen Funktionsbaustein und Webservice im ABAP anlegen
  3. Den Webservice mit soapUI nutzen

Voraussetzungen:

  • Eine funktionierende Transaktion SOAMANAGER (ab SAP NetWeaver 7.0 SP14)
  • Entwicklerzugriff und ABAP Kenntnisse , Transaktion SE80
  • Einen technischen User für den eingeschränkten Zugriff (Benutzertyp Kommunikation)
  • Einen Konsumenten, das heißt einen Webservice-Nutzer (zum Testen ist das Webservices-Test-Tool soapUI gut geeignet)

Einen Funktionsbaustein und Webservice im ABAP anlegen

Reihenfolge für das Anlegen eines Webservice im Überblick:

  1. RFC-fähigen Funktionsbaustein anlegen
  2. Input/Export-Parameter definieren
  3. Das Programm
  4. Webservice anlegen
  5. Service im SOAMANAGER browsen und WSDL-Link speichern
  • RFC-fähigen Funktionsbaustein anlegen

    Unser Beispiel wird ein Webservice sein, dem zwei Zahlen übergeben werden und der daraufhin die Summe der beiden Zahlen zurück gibt.
    Dafür in der Transaktion SE80 einen Funktionsbaustein anlegen und dabei in den Eigenschaften “Remote fähiger Baustein” anwählen.

  • Input/Export-Parameter definieren

    Die Parameter definieren den Webservice, die Verwendung von Tabellen und Changing sind hier nicht vorgesehen.

    Die Import-Parameter bestimmen die Werte, die an den Webservice übergeben werden. In dem Bespiel die beiden Zahlen, die von unserem Programm addiert werden sollen. Die Parameter sollten Optional sein, damit man später das WSDL-Dokument (siehe unten) abrufen kann und als Wert übergeben werden.


    Der Export-Parameter definiert die Rückgabe.


    Diese Parameter müssen unbedingt vorher festgelegt werden und sollten sich später auch nicht mehr ändern, da ansonsten sich die ganze Webservice-Definition ändert und somit für Konsumenten nicht mehr nutzbar ist.

  • Das Programm


    Das Programm sichern und aktivieren.

  • Webservice anlegen

    Über einen Rechts-klick auf den Funktionsbaustein kann man einen Web Service Wizard starten.









    Der Webservice ZTH_WS_TESTING ist damit definiert und einsatzbereit.

  • Service im SOAMANAGER browsen und WSDL-Link speichern

    Bevor der Webservice durch andere Systeme genutzt werden kann, benötigen diese eine Beschreibung, wie und mit welchem Parametern der Webservice funktioniert. Diese Definition steckt in einem WSDL-Dokument und wird zum Konsumieren des Webservices im ABAP und anderen externen System benötigt. Die Transaktion SOAMANAGER öffnet einen Browser für den Zugriff auf das SOA-Management und bietet die Möglichkeit eine Download-URL für das WSDL-Dokument zu ermitteln.



    Zunächst muss der neue Service selektiert werden.


    Der markierte Link öffnet das WSDL-Dokument. Hinweis: Das Browserfenster wird unter Umständen im Hintergrund geöffnet.


    Die URL aus der Adressleiste speichern.

Den Webservice mit soapUI nutzen

Das Webservice Testing Tool soapUI ist als OpenSource-Tool unter http://www.soapui.org/ verfügbar und bietet die Möglichkeit schnell einfacher Webservice Funktionstests durchzuführen. Ideal also, um unseren eben angelegten Webservice zu testen.


“New soapUI Project” auswählen und in dem Dialog die vorher gespeicherten WSDL-URL einfügen.


Technischen User angeben.


Es sollen die Zahlen 200 und 400 addiert werden. Wichtig ist etwaige Kommentare wie z.B. <!–OPTIONAL–> zu entfernen. Diese können beim Aufruf des Webservices Probleme bereiten.


Über den Button “Auth” am unteren Rand müssen die Benutzerdaten für den Aufruf hinterlegt werden.


Auf “Submit Request” links oben gehen. Die Antwort des Webservices (die Summe der beiden Zahlen) erscheint danach auf der rechten Seite. Damit ist der Webservice erfolgreich getestet!

16 Kommentare » | HowTo