Description
The PDF explains about Tutorial on SAP.
SAP TUTORIAL
Lara Lebedinski, Siegfried Zeilinger, Dr. Thomas Grechenig INSO TU Wien 19. Februar 2006
1
Inhaltsverzeichnis
1 Grunds¨tzlicher Aufbau des SAP Systems a 1.1 Die Grundlagen des SAP-Systems . . . . . . . . . . . . . . . . . . 1.2 Die Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Die Anmeldung und SAP GUI Design . . . . . . . . . . . 1.2.2 Auswahl von Funktionen im SAP System . . . . . . . . . 1.2.3 M¨glichkeiten zur Hilfe . . . . . . . . . . . . . . . . . . . o 1.2.4 M¨glichkeiten zur Personalisierung der Benutzerober?¨che o a 1.3 Der Systemkern . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Client-Server Architektur . . . . . . . . . . . . . . . . . . 1.3.2 Pr¨sentations- und Datenbankschnittstelle . . . . . . . . . a 1.3.3 Prozesse des SAP Web Application Server . . . . . . . . . 1.3.4 Die SAP-Transaktion . . . . . . . . . . . . . . . . . . . . 1.3.5 Verbuchungsverlauf . . . . . . . . . . . . . . . . . . . . . . 1.3.6 Berechtigungen . . . . . . . . . . . . . . . . . . . . . . . . 1.3.7 Die Begri?serkl¨rung der Benutzerverwaltung . . . . . . . a 1.3.8 Konzept und Ablauf der Berechtigungspr¨fungen . . . . . u 1.3.9 Erstellen und P?egen von Benutzerstamms¨tzen . . . . . a 1.4 Die Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Datenstruktur eines SAP-Systems . . . . . . . . . . . . . 5 5 5 5 6 7 7 7 7 10 11 11 12 12 12 13 13 14 14
2 Module 15 2.1 Rechnungswesen . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 Logistik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3 Personalwirtschaft . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3 Prozesse im Vetrieb 3.1 Unternehmensstruktur im Vetrieb . 3.2 Prozesse im Vetrieb . . . . . . . . . 3.2.1 Vorverkaufsaktivit¨ten . . . a 3.2.2 Auftragsbearbeitung . . . . 3.2.3 Bescha?ung . . . . . . . . . 3.2.4 Versand . . . . . . . . . . . 3.2.5 Fakturierung . . . . . . . . 3.2.6 Beleg?uss . . . . . . . . . . 3.2.7 Zahlung . . . . . . . . . . . 17 17 19 19 19 20 20 21 22 22 22 23 24 24 26 28 28 29 32 32 33 33
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
4 ABAP 4.1 Der Ablauf eines ABAP Programms . . . . . . . . 4.2 Einf¨hrung in die ABAP Workbench . . . . . . . . u 4.2.1 Die ABAP Workbench und das Repository 4.2.2 Analysieren eines vorhandenen Programms 4.3 ABAP-Anweisungen und Datendeklarationen . . . 4.3.1 Die ABAP-Typen . . . . . . . . . . . . . . 4.3.2 Die Datenobjekte . . . . . . . . . . . . . . . 4.4 Lesen von der Datenbank . . . . . . . . . . . . . . 4.4.1 Datenbanktabellen im R/3 . . . . . . . . . 4.4.2 Lesen von einer Datenbanktabelle . . . . . 4.5 Die Liste . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
2
4.6 4.7
Selektionsbilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 Eigenschaften von Selektionsbildern . . . . . . . . . . . . Softwarelogistik . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34 34 35
3
Abbildungsverzeichnis
1 SAP Easy Access . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 M¨glichkeiten zur Personalisierung . . . . . . . . . . . . . . . . . o 8 3 Verarbeitung einer Benutzeranforderung . . . . . . . . . . . . . . 9 4 Ablauf einer Datenbankabfrage . . . . . . . . . . . . . . . . . . . 10 5 Die Datenstuktur eines SAP-Systems . . . . . . . . . . . . . . . . 15 6 Der Vertriebsbereich . . . . . . . . . . . . . . . . . . . . . . . . . 19 7 Der Beleg?uss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 8 Das Zusammenspiel zwischen Serverebenen . . . . . . . . . . . . 24 9 Ausgew¨hlte Werkzeuge der ABAP Workbench . . . . . . . . . . 25 a 10 Die Systemlandschaft . . . . . . . . . . . . . . . . . . . . . . . . . 35 S¨mtliche Abbildungen wurden den Kursunterlagen zu den SAP Standarda schulungen SAPTEC, LO150 und BC400 entnommen. Das Copyright f¨r diese u Abbildungen liegt bei der SAP AG, Walldorf, Deutschland. Eine Genehmigung der SAP zur Nutzung im Zusammenhang mit diesem Tutorial liegt uns vor.
4
1
Grunds¨tzlicher Aufbau des SAP Systems a
Die Abk¨rzung SAP stand urspr¨nglich f¨r “Systemanalyse Programm-Entwicku u u lung” und heute steht sie f¨r “Systeme, Anwendungen, Produkte in der Datenu verarbeitung”. Das Hauptprodukt der SAP AG ist das Software-System R/3, mit dem in Unternehmen Daten verwaltet und Prozesse gesteuert werden. Das System erm¨glicht eine komplette betriebswirtschaftliche Steuerung der Firma.1 o
1.1
Die Grundlagen des SAP-Systems
Die grundlegenden Bestandteile des SAP Systems bilden: • SAP NetWeaver Stellt die technische Infrastruktur f¨r alle SAP L¨sungen dar. Der SAP u o Netweaver besteht aus vier Komponenten: People Integration, Information Integration, Process Integration und Application Platform. Der SAP Web Application Server stellt, zusammen mit der Datenbank, die Application Platform des SAP NetWeaver dar. • mySAP Business Suite Die mySAP Business Suite umfasst alle branchen¨bergreifende, SAP Netu Weaver-basierten L¨sungen der SAP. o • SAP Smart Business Solutions Die SAP Smart Business Solutions sind SAP-L¨sungen f¨r Klein- und o u Mittelstandsunternehmen. • SAP xApps Die SAP xApps erm¨glichen es, verschiedene Anwendungen miteinander o zu verkn¨pfen, indem man uber o?ene Schnittstellen auf bereits vorhanu ¨ dene Datenbest¨nde und Funktionen zugreift. a • Branchenl¨sungen o Branchenl¨sungen bieten betriebswirtschaftliche Funktionen f¨r unterschiedo u liche Branchen.
1.2
1.2.1
Die Navigation
Die Anmeldung und SAP GUI Design
Auf SAP-Systeme kann uber unterschiedlich gestaltete Frontend-Programme ¨ zugegri?en werden, f¨r fast alle SAP L¨sugen stellt jedoch das SAP GUI (SAP u o Graphic User Interface) den Standardzugang dar. Das Programm SAP GUI verbindet den Frontend-Rechner mit SAP-Systemen. Bei der Anmeldung an ein SAP-System wird der User nach dem Benutzernamen und Kennwort gefragt. Weiters muss man bei der Anmeldung den Mandaten angeben und man kann die Sprache w¨hlen. a
1 Dieses Kapitel basiert auf den Schulungsunterlagen “SAP NetWeaver: Grundlagen der Application Platform”.
5
Ein Mandant entspricht in der Regel der Abbildung eines Unternehmens im SAP System. Das heißt, dass in einem SAP-System mit mehreren Mandanten mehrere Unternehmen abgebildet und parallel t¨tig sein k¨nnen. Von einem a o Mandanten aus kann man nur die Daten genau dieses Mandanten sehen und auf diese zugreifen2 . Mehrfachanmeldungen werden ab SAP R/3 4.6 aus sicherheitsbedingten und auch lizenzrechtlichen Gr¨nden protokolliert. u Die Abbildung (1)3 zeigt das Standardeinstiegsbild in SAP-Systeme. Im linken Bildbereich kann man eine Baumdarstellung der zur Verf¨gung stehenden u Men¨s des SAP-Systems, im rechten Bildbereich kann man ein Logo anzeigen u lassen.
Abbildung 1: SAP Easy Access
1.2.2
Auswahl von Funktionen im SAP System
Nach der erfolgreichen Anmeldung stehen dem Benutzer im linken Bildbereich ¨ zwei untereinander angeordnete Ubersichtsb¨ume zur Funktionswahl zur Verf¨ga u ung: • die benutzerde?nierte Favoritenliste Die Favoritenliste beinhaltet Funktionen des SAP-Systems oder auch Links zu Internet-Inhalten oder auf Dateien des Frontend-Rechners. Die anfangs leere Favoritenliste ist von jedem Endanwender individuell editierbar und nur f¨r diesen sichtbar. Favoriten k¨nnen im SAP-Easy-Access-Bild uber u o ¨ das Men¨ Favoriten bearbeitet werden. u • das rollenbasierte Benutzermen¨ oder das SAP-Men¨ u u Das rollenbasierte Benutzermen¨ wird aufgrund der dem Benutzer zugeu ordneten Rolle
erstellt und auf das Frontend ubertragen. ¨
2 siehe 3 entnommen
auch De?nition Seite 11, Abschnitt 1.5.1 aus “Aplication Platform Grundlagen”
6
In SAP-Systemen hat man 3 M¨glichkeiten zur Navigation: o 1. uber die Eingabe von Transaktionscodes im Kommandofeld ¨ 2. uber die Eintr¨ge der Men¨s in der Men¨leiste a u u ¨ 3. uber Eintr¨ge der Favoriten oder des Benutzer- oder SAP-Men¨s a u ¨ 1.2.3 M¨glichkeiten zur Hilfe o
Mit der F1-Taste erh¨lt man Erl¨uterungen zu Feldern, Men¨s, Funktionen und a a u ¨ Meldungen. Uber die F1-Hilfe gelangt man auch zu technischen Informationen zum jeweiligen Feld. Mit der F4-Taste erh¨lt man Informationen zu m¨glichen Eingabewerten. a o Wenn Felder mit einem ”Haken”-Symbol belegt sind, kann man in der jeweiligen Anwendung nur nach Eingabe eines zugelassenen Wertes fortfahren. Die SAP-Bibliothek hilft beim Kennenlernen von Systemfunktionen. Sie bietet den Zugri? auf die Online-Dokumentation. Die dort abgelegten Informationen beschreiben nicht nur die Nutzung von Systemfunktionen, sondern erkl¨ren a auch Konzepte der Systemarchitektur, geben Beispiele f¨r m¨gliche sinnvolu o le Kon?gurationen verschiedenster Prozesse und warnen vor m¨glichen Bedieo nungsfehlern und deren Folgen. 1.2.4 M¨glichkeiten zur Personalisierung der Benutzerober?¨che o a
Im System stehen den Endanwendern vielf¨ltige Personalisierungsm¨glichkeiten a o zur Verf¨gung. Unter Zus¨tze ->Einstellungen kann man die Gestaltung des u a Einstiegsbilds beein?ussen, z.B.: uber eine Ausschaltung des Bilds im rechten ¨ Teilbereich des Fensters oder uber eine Zuschaltung der technischen Namen ¨ (Transaktionscodes) im Bild SAP Easy Access. Unter Anpassung des lokalen Layouts ?ndet man z.B.: unter Optionen... ->Lokale Daten die M¨glichkeit, die Eingabehistorie zu verwalten. Die Eingabeo historie baut, wenn sie aktiviert ist, eine kleine Datenbank auf dem Frontend auf, die f¨r die Eingabefelder in Transaktionen die letzten x Eingaben beinhalten. u Unter den Optionen... ?ndet man auch die M¨glichkeit, die Geschwindigkeit o der Quick Info einzustellen, oder Systemmeldungen als Dialogfenster anzeigen zu lassen (Optionen... ->Nachrichten). Es gibt hier noch viele weitere kleine Hilfen und Einstellungsm¨glichkeiten, wie z.B.: die Wahl des Farbschemas des o GUI-Erscheinungsbildes. Wo die M¨glichkeiten zur Personalisierung im SAP System zu ?nden sind, o ist in der Abbildung (2)4 abgebildet.
1.3
1.3.1
Der Systemkern
Client-Server Architektur
In Zusammenhang mit SAP-Systemen werden die Begri?e Client und Server zumeist aus softwareorientierter Sicht verwendet. In der softwareorientierten Sicht werden Client und Server jeweils auf Prozessebene (Service) de?niert. Ein
4 entnommen
aus “Aplication Platform Grundlagen”
7
Service ist in diesem Zusammenhang ein Dienst, der von einer Softwarekomponente angeboten wird. Eine Solche Softwarekomponente kann aus einem Prozess (vgl. Workprozess) oder einer Gruppe von Prozessen (vgl. SAP Web Application Server) bestehen, und heißt dann Server f¨r den jeweiligen Dienst. Softwarekomu ponenten die einen Dienst in Anspruch nehmen, werden entsprechend Clients genannt. Die Clients k¨nnen wiederum gleichzeitig Server f¨r bestimmte andere o u Dienste sein. Um eine betriebswirtschaftliche Anwendungssoftware betreiben zu k¨nnen, o werden folgende Prozesse ben¨tigt: o • Pr¨sentationsprozesse - z.B.: zur Aufbereitung der Bildschirmbilder a • Applikationsprozesse - z.B.: zum Ausf¨hren von Anwendungsprogrammen u • Datenbankprozesse - z.B.: zur Verwaltung und Organisation von Daten Im Rahmen der Kon?guration eines SAP-Systems muss die Frage beantwortet werden, wie die ben¨tigten Prozesse auf die zur Verf¨gung stehende Software o u verteilt werden. Je nach Anzahl der verwendeten Rechnerebenen spricht man von ein- oder mehrstu?ger Kon?guration. Bei einer einstu?gen Kon?guration werden alle Verarbeitungsaufgaben (Datenbank-, Applikations- als auch Pr¨sentationsprozesse) von einem Rechner era bracht. Zweistu?ge Kon?gurationen werden typischerweise mit speziellen Pr¨sena tations-Servern realisiert, die ausschließlich f¨r die Aufbereitung der graphischen u Ober?¨che zust¨ndig sind. Bei einer dreistu?gen Kon?guration werden jeweils a a eigene Rechner f¨r die drei Schichten genutzt. Mit den Daten eines Datenbanku Servers k¨nnen viele verschiede Applikationsserver gleichzeitig arbeiten. o Die Bildschirmeingaben eines Benutzers werden vom SAP-Pr¨sentationsproa gramm SAP GUI entgegengenommen in ein geeignetes Format formatiert und an den Web Application Server (softwareorientierte Sicht) geschickt.
Abbildung 2: M¨glichkeiten zur Personalisierung o
8
Der zentrale Prozess des SAP Web Application Server ist der Dispatcher. Er verwaltet in Abstimmung mit dem jeweiligen Betriebssystem die Ressourcen f¨r die in ABAP geschriebene Applikationen. Zu den Hauptaufgaben des Disu patchers geh¨rt die Verteilung der Transaktionslast auf die Workprozesse, die o Anbindung der Pr¨sentationsebene und die Organisation von Kommunikationsa vorg¨ngen. a Die Verarbeitungsanforderungen werden zun¨chst in Request-Queues gespeia chert, die anschließend nach dem Prinzip ”?rst in - ?rst out” abgearbeitet werden. Der Dispatcher verteilt die Requests nacheinander auf freie Workprozesse. Im Workprozess ?ndet die eigentliche Verarbeitung statt, wobei der Benutzer, der die Anforderungen uber das SAP GUI eigegeben hat, nicht immer den ¨ gleichen Workprozess zugewiesen bekommt. Es gibt also keine feste Zuordnung von Workprozessen zu Benutzern. Zur Abarbeitung der Benutzeranforderungen ist es gegebenenfalls notwendig, Daten aus der Datenbank zu lesen bzw. in die Datenbank zu schreiben. Hierzu ist jeder Workprozess direkt mit der Datenbank verbunden. Das gesamte Zusammenspiel der Pr¨sentations, Applikations- und Datena bank ist in der Abbildung (3)5 dargestellt. Am Ende der Verarbeitung gelangt das Verarbeitunsergebnis des Workprozesses uber den Dispatcher an das SAP GUI zur¨ck. Das SAP GUI interpretiert u ¨ die empfangenen Daten und erzeugt in Zusammenarbeit mit dem Betriebssystem des Frontend-Rechners das Ausgabebild f¨r den Benutzer. u Die Pu?er dienen zur schnelleren Bearbeitung der Benutzeranforderungen. Daten die oft gelesen, aber nur selten ge¨ndert werden, k¨nnen als Kopie des a o Datenbankinhaltes im Shared Memory des Applikationsservers gehalten werden.
5 entnommen
aus “Aplication Platform Grundlagen”
Abbildung 3: Verarbeitung einer Benutzeranforderung
9
1.3.2
Pr¨sentations- und Datenbankschnittstelle a
Mit Hilfe der Pr¨sentationsschnittstelle, dem SAP GUI, kann der Anwender in a Interaktion mit dem SAP-System treten und Daten eingeben bzw. sich anzeigen lassen. Das SAP GUI realisiert die gra?sche Bedienober?¨che mit Hilfe der Mittel, a die die jeweilige Pr¨sentationsumgebung zur Verf¨gung stellt. Es orientiert sich a u prim¨r am Windows-Style-Guide und wird auf verschiedenen Plattformen mit a weitestgehend gleicher Funktionalit¨t angeboten. a F¨r die Verwaltung großer Datenmengen werden heute zumeist Relationau le Datenbankmanagementsysteme (RDBMS) verwendet. Diese speichern Daten und Beziehungen zwischen Daten in Form zweidiemensionaler Tabellen. Auf Datenbankebene erfolgt die De?nition von Daten, Tabellen und Tabellenbeziehungen im Datenbankkatalog (Data Dictionary) des RDBMS. Innerhalb der SAP-Programmiersprache ABAP kann mittels SAP Open SQL (Structured Query Language) unabh¨ngig vom jeweiligen RDBMS, auf die Ana wendungsdaten der Datenbank zugegri?en werden. Die Datenbankschnittstelle, wie sie in der Abbildung (4)6 dargestellt ist, ist ein Bestandteil eines jeden Workprozesses des SAP Web Application Server. Sie sorgt f¨r die Umsetzung u der Open SQL-Anweisungen aus ABAP in entsprechende SQL-Anweisungen der speziell verwendeten Datenbank (”Native SQL”). Somit k¨nnen ABAP Proo gramme datenbankunabh¨ngig programmiert werden. a Bei der Interpretation der Open SQL-Anweisungen f¨hrt die SAP-Datenbanku Schnittstelle eine Syntax¨berpr¨fung durch und sorgt automatisch f¨r die optiu u u male Ausnutzung der SAP Pu?er, die lokal im Shared Memory eines jeden SAP Web Application Server liegen. Weiterhin besteht in ABAP die M¨glichkeit direkt ”native” SQL-Befehle o abzusetzen.
Abbildung 4: Ablauf einer Datenbankabfrage
6 entnommen
aus “Aplication Platform Grundlagen”
10
1.3.3
Prozesse des SAP Web Application Server
Das SAP-Laufzeitsystem besteht aus einer Menge parallel, kooperierender Prozesse. Zu diesen Prozessen geh¨rt auf jedem Applikationsserver der Dispatcher o sowie eine von den Ressourcen abh¨ngige Anzahl von Workprozessen: a • Dialog-Workprozesse erledigen alle Auftr¨ge zum Ausf¨hren von Dialoga u schritten, die durch einen aktiven Benutzer ausgel¨st werden. Jeder Diso patcher ben¨tigt mindestens zwei Dialog-Workprozesse. o • Spoolworkprozesse geben sequentielle Datenstr¨me an Drucker weiter. Pro o SAP-System wird mindestens ein Spool-Workprozess ben¨tigt, es ist mehr o als einer pro Dispatcher m¨glich. o • Verbuchungs-Workprozesse f¨hren Verbuchungsauftr¨ge aus. Analog zu u a Spool-Workprozessen wird mindestens ein Verbuchungs-Workprozess pro SAP-System ben¨tigt und es ist mehr als einer pro Dispatcher erlaubt. o • Hintergrund-Workprozesse verarbeiten Programme, die ohne Benutzerinteraktion ausgef¨hrt werden sollen. Pro SAP-System ben¨tigt man minu o destens einen Hintergrund-Workprozess. • Der Enqueue-Workprozess verwaltet die Sperrtabelle im Shared Memory. Die Sperrtabelle enth¨lt die logische Datenbanksperren des SAP-Systems. a Es ist nur ein Enqueue-Workprozess pro System n¨tig. o 1.3.4 Die SAP-Transaktion
Transaktionen sind funktional zusammenh¨ngende Verarbeitungseinheiten. Sie a werden durch vier wesentliche Eigenschaften charakterisiert. Die Anfangsbuchstaben der englischen Buchstaben lassen sich zu einem Akronym ACID zusammensetzen. • atomic - atomar Eine Transaktion gelingt entweder vollst¨ndig oder bleibt ohne Auswira kung. Bei einem Ausfall eines transaktionsorientierten Systems muss also sichergestellt sein, dass niemals inkonsistente Teilergebnisse zur¨ckbleiu ben. • konsistent - consistent Das System wird von einem betriebswirtschaftlich konsistenten, korrekten Zustand in einen (anderen) betriebswirtschaftlich konsistenten, korrekten Zustand uberf¨hrt. u ¨ • isoliert - isolated ¨ Die innerhalb einer Transaktion durchgef¨hrten Anderungen k¨nnen von u o anderen, gegebenenfalls parallel laufenden Transaktionen erst nach dem endg¨ltigen Best¨tigen (”Commit”) gesehen werden (isoliert). u a • dauerhaft - durable Die Ergebnisse einer Transaktion sind dauerhaft, d.h. nach dem endg¨ltiu gen Best¨tigen fest in der Datenbank gespeichert. a 11
Eine Datenbanktransaktion ist gem¨ß ACID-Prinzip eine nicht teilbare Fola ge von Datenbankoperationen, an deren Anfang und Ende ein konsistenter Datenbestand auf der Datenbank stehen muss. Anfang und Ende einer Datenbanktransaktion werden durch einen Commit-Befehl an das Datenbanksystem de?niert. W¨hrend einer Datenbanktransaktion (d.h. zwischen zwei Commit Bea fehlen) sorgt das Datenbanksystem selbst f¨r die Konsistenz des Datenbestands. u Das Datenbanksystem ubernimmt hierbei selbst die Aufgabe, den alten Zustand ¨ nach einem fehlerhaften Abbruch wieder herzustellen. Betriebswirtschaftliche Transaktionen sind funktional zusammengeh¨rige Vero arbeitungseinheiten, die konsistente, betriebswirtschaftlich zul¨ssige Datenbanka a u ¨nderungen durchf¨hren. Typische Beispiele sind Soll- und Habenbuchungen, die nur gemeinsam sinnvoll sind; ebenso bedingen sich das Anlegen eines Auftrags und die Reservierung der betro?enen Materialien gegenseitig. Entsprechend wird eine SAP-Transaktion als unteilbarer Gesch¨ftsprozess, der komplett a oder uberhaupt nicht durchgef¨hrt werden soll, de?niert. Eine SAP-Transaktion u ¨ ist als Folge betriebswirtschaftlich konsistenter, logisch zusammenh¨ngender a Dialogschritte implementiert. Ein Benutzer-Dialogschritt wird jeweils durch ein Bildschirmbild repr¨sentiert. a 1.3.5 Verbuchungsverlauf
In der Kon?guration eines SAP-Systems existieren sowohl Dialog-Work-prozesse als auch mindestens ein Verbuchungs-Workprozess. In den Verbuchungs-Work¨ prozessen wird die Verbuchung, d.h. die Anderung der Eintr¨ge von Datenbanka tabellen, durchgef¨hrt. u Um Datenkonsistenz zu gew¨hrleisten, muss die Verbuchung der Daten einer a SAP-Transaktion entweder ganz oder uberhaupt nicht ausgef¨hrt werden. u ¨ Die asynchrone Verbuchung l¨st die Probleme, die durch unterschiedliche o Bedeutung einer Transaktion auf Datenbankebene und SAP-Ebene verursacht werden. Durch das B¨ndeln der zu einer SAP-Transaktion geh¨renden Verbuu o chungen in einer einzigen Datenbanktransaktion besteht die M¨glichkeit eines o vollst¨ndigen Rollbacks der zu dieser SAP-Transaktion geh¨renden Daten. a o 1.3.6 Berechtigungen
F¨r die Anmeldung am SAP-System ist es notwendig, dass der Benutzer einen u ¨ Benutzerstammsatz besitzt. Uber den Benutzerstammsatz wird festgelegt, welche Rolle der Benutzer im SAP System hat, d.h. welche Aktivit¨ten der Benutzer a im System ausf¨hren darf. Benutzerstamms¨tze sind mandantenabh¨ngig, dieu a a ses bedeutet, dass f¨r jeden Mandaten im System eigene Benutzerstamms¨tze u a angelegt werden m¨ssen. u 1.3.7 Die Begri?serkl¨rung der Benutzerverwaltung a
Da die Begri?e der Benutzerverwaltung sehr ¨hnlich sind und leicht verwechselt a werden k¨nnen, werden sie im folgenden erkl¨rt. o a • Benutzername Der Benutzername ist eine Zeichenfolge, mit der sich eine Person in einem Mandanten des SAP Systems authenti?zieren kann. Unter diesem Benut-
12
zernamen ?nden die Systemaktivit¨ten statt, z.B.: Aufruf einer Transaka tion. • Benutzerstammsatz Der Benutzerstammsatz setzt sich zusammen aus den Benutzernamen und den Benutzerdaten. • Benutzerdaten Die Benutzerdaten sind die Daten, die zu einem bestimmten Benutzernamen geh¨ren. o • Berechtigung Eine Berechtigungen ist die Erlaubnis zur Durchf¨hrung von Aktivit¨ten u a im SAP-System. F¨r verschiedene Aktionen sind unterschiedliche Berechu tigungen notwendig. • Berechtigungspro?l Das Berechtigungspro?l ist eine Sammlung von Berechtigungen. Die SAP bietet eine große Anzahl an Einzel- und Sammelpro?len. • Rolle Die Rolle ist eine funktionale Beschreibung eines SAP-Users mit dem dazugeh¨rigen Berechtigungspro?l und den Men¨eintr¨gen des Benutzermen¨s. o u a u Die Rollen werden im SAP System zentral administriert. Eine Rolle kann mehreren Benutzern zugewiesen werden, ein Benutzer kann mehrere Rollen haben. 1.3.8 Konzept und Ablauf der Berechtigungspr¨ fungen u
Eine Rolle beinhaltet Berechtigungen f¨r das SAP-System und Men¨eintr¨ge u u a f¨r das Benutzermen¨ der Benutzer. Die einzelnen Rollen werden vom Systeu u madministrator erstellt und verwaltet. Wenn einem Benutzer eine Rolle zugeordnet wird, dann wird diese Rolle in seinen Benutzerstammsatz eingetragen und er erh¨lt die Berechtigungen dieser Rolle. Zus¨tzlich werden in seinem Bea a nutzermen¨ die Transaktionen aufgelistet, zu denen er durch diese Rolle Beu rechtigungen hat. Einem Benutzer k¨nnen mehrer Rollen zugeordnet werden. o Bei der Anmeldung des Benutzers am SAP-System werden die Berechtigungen aus den Rollen, die im Benutzerstammsatz hinterlegt sind, in den Benutzerkontext eingetragen. Der Benutzerkontext liegt im Shared Memory des Applikationsservers, auf dem der Benutzer angemeldet ist. Wenn der Benutzer eine Transaktion aufruft, so wird vom Workprozess uber¨ pr¨ft, ob er die Berechtigungen zum Start dieser Transaktion hat. Wenn der u Benutzer keine Berechtigung hat, erh¨lt er eine Fehlermeldung. Hat er die Bea rechtigung, so wird die Maske f¨r diese Transaktion dargestellt. u 1.3.9 Erstellen und P?egen von Benutzerstamms¨tzen a
Das Erstellen und P?egen der Benutzerdaten ?ndet man im Men¨ unter Werku zeuge ->Administration ->Benutzerp?ege ->Benutzer oder man ruft die Transaktion SU01 auf.
13
1.4
1.4.1
Die Workbench
Datenstruktur eines SAP-Systems
SAP-Systeme haben eine spezi?sche Datenstruktur. Neben den betriebswirtschaftlichen Einstellungen (Customizing), die nur f¨r bestimmte Mandanten u des SAP-Systems relevant sind, enth¨lt ein SAP-System immer auch anwena dungs¨bergreifende Einstellungen und Objekte. u Im SAP-System unterscheidet man drei Datenkomponenten: • Ein Mandant ist eine betriebswirtschaftliche, organisatorisch und datentechnisch abgeschlossene Einheit innerhalb des SAP-Systems. Ein Mandant zeichnet sich auch durch ein eigenes betriebswirtschaftliches Datenumfeld, eigene Stamm- und Bewegungs- und eigene Benutzerdaten. Diese Daten eines Mandanten werden als mandantenabh¨ngige Daten a bezeichnet. • Das Customizing eines Mandanten wird bei der Einf¨hrung eines SAPu ¨ Systems festgelegt. Uber Customizing-Einstellungen werden Organisationsstrukturen des Kunden, wie Vetriebswege, Buchungskreise, etc. festgelegt und die SAP-Transaktion so eingestellt, dass sie die kundenspezi?schen Abl¨ufe wiedergeben. Neben den mandantenabh¨ngigen Customizinga a Einstellungen, existieren auch jedoch Einstellungen, die - einmal durhgef¨hrt - f¨r alle Mandanten des SAP-Systems Bedeutung haben (z.B.: u u Einstellung des Feiertagskalenders). • Das Repository, die zentrale Ablage f¨r alle Entwicklungsobjekte der u ABAP-Workbench, ist ebenfalls mandantenabh¨ngig. Es beinhaltet alle a Objekte des Dictionary (Tabellen, Datenelemente, Dom¨nen, etc.) und a dar¨ber hinaus auch alle ABAP-Programme, Men¨s, Bildschrimbilder u u (”Screens”). Aufgrund ihrer Mandantenunabh¨ngigkeit werden die aus eia nem Mandanten heraus entwickelten oder ge¨nderten Repository-Objekte a in allen anderen Mandanten des Systems in identischer Form verwendet. In der Abbildung (5)7 kann man die Datenstruktur mit mandantenabh¨ngia gen, mandantenunabh¨ngigen und Customizing Daten sehen. a Der Anpassungsprozess der SAP-Software an ein konkretes Unternehmen bezeichnet man als Customizing. Dieser Prozess umfasst mandantenabh¨ngige a als auch mandantenunabh¨ngige Einstellungen. a ¨ Anderungen an Repository-Objekten sind nicht unbedingt notwendig, gege¨ benenfalls k¨nnen jedoch einzelne Objekte angepasst werden. Anderungen und o Erweiterungen des Repository sind in unterschiedlicher Form m¨glich: o • Erweiterungen des Repository durch Eigenentwicklungen. Im SAP-System ist es m¨glich, eigene Repository-Objekte wie Tabellen, Programme, o Transaktionen, etc. anzulegen. Alle Entwicklungsarbeiten von Kundenseite geschehen typischerweise im so genannten Kundennamensraum, d.h. alle von Kunden angelegten Objekte haben Namen aus einem vorgegebenen Namensraum, die typischerweise mit den Buchstabe Y oder Z beginnen. Dies gilt f¨r ABAP-Programme, Tabellen, etc. u
7 entnommen
aus “Aplication Platform Grundlagen”
14
• Anpassen des Repository durch Kundenerweiterungen. Hier wird das Repository durch kundeneigene Objekte erg¨nzt. a ¨ • Modi?kationen am SAP-Standard: Anderungen an SAP-Objekten, wie Programme und Tabellende?nitionen werden als Modi?kationen bezeichnet. Das von SAP ausgelieferte Repository wird nicht nur erg¨nzt, sondern a ge¨ndert. Diese Modi?kationen sind beim n¨chsten System-Upgrade bzw. a a beim Einspielen von Support Packages mit dem dann neuen Repository abzugleichen.
2
Module
Wenn eine Firma sich f¨r die Einf¨hrung des SAP Systems entscheidet, muss u u auch die Entscheidung getro?en werden, welche SAP Module erworben werden sollen. Die SAP Module werden in drei Gruppen eingeteilt: Rechnungswesen, Logistik und Personalwirtschaft. Zus¨tzlich gibt es auch Branchenl¨sungen, die a o speziell auf die jeweilige Branche zugeschnitten sind. Im Folgenden werden die wichtigsten Module des SAP R/3 Systems aufgez¨hlt und kurz erkl¨rt. Dies ist a a also keine vollst¨ndige Liste der Module.8 a
2.1
Rechnungswesen
Finanzwesen (FI) Die Komponente Finanzwesen erf¨llt die internationau len Anforderungen, die an ein externes Rechnungswesen einer Unternehmung gestellt werden, uber einen o?enen, integrierten Daten?uss und vereinfacht die ¨ ?nanzwirtschaftliche Entscheidungs?ndung in hohem Maße. Im R/3-System ?nden zwischen den verschiedenen Anwendungen alle Buchungen in Echtzeit statt,
8 Die
Informationen f¨r dieses Kapitel wurden aus http://sap.help.com entnommen. u
Abbildung 5: Die Datenstuktur eines SAP-Systems
15
z.B. zieht eine Buchung im Nebenbuch “Kreditoren” automatisch eine Gegenbuchung im Hauptbuch nach sich. Controlling (CO) Das Controlling stellt Informationen f¨r Entscheidungen u ¨ des Managements bereit. Es dient der Koordination, Uberwachung und Optimierung aller ablaufenden Prozesse innerhalb eines Unternehmens. Dazu werden der Verbrauch an Produktionsfaktoren sowie die vom Unternehmen erbrachten Leistungen erfasst. Projektsysteme (PS) Innerhalb des Projektsystems k¨nnen Projekte abgeo bildet und verwaltet werden. Das Projektsystem bildet dabei sowohl die technische als auch die kaufm¨nnische Sicht auf das Projekt ab. Großangelegte Proa jekte, wie z.B. die Planung einer Messe, erfordern eine genaue Planung der zahlreichen Detailaktivit¨ten. Der Projektverantwortliche muss die termin-, kostena und leistungsgerechte Durchf¨hrung des Projekts sicherstellen und die notwenu digen Ressourcen und Finanzmittel optimal bereitstellen.
2.2
Logistik
Produktionsplanung und Steuerung (PP) Das PP-System deckt s¨mta liche betriebswirtschaftlichen Funktionen im Bereich der Produktionsplanungund -steuerung ab. Die Funktionen der Produktionsplanung und -steuerung bieten eine komplexe L¨sung, um sowohl das Produktionsprogramm (Art und Meno ge der Erzeugnisse) als auch die Fertigung zu planen. Die unmittelbare Vorbereitung der Fertigung schließt die Bescha?ung, Lagerung und den Transport von Materialien und Zwischenprodukten ein. Vertrieb (SD) Das Vertriebssystem Sales and Distribution stellt eine branchenneutrale Gesamtl¨sung f¨r die Aufgaben des Verkaufs, des Versands und o u der Fakturierung dar. SD ist als integrierter Baustein des R/3-Systems in den gesamten betriebswirtschaftlichen Ablauf integriert und setzt sich aus folgenden zentralen Komponenten zusammen: Vertriebsunterst¨tzung, Verkauf, Versand, u Transport, Außenhandel und Fakturierung. Dieses Modul wird im Kapitel 3 genauer beschrieben. Materialwirtschaft (MM) Die Komponente Materialwirtschaft besteht im wesentlichen aus den Teilkomponenten Einkauf, Bestandsf¨hrung, Lagerverwalu tung und Rechnungspr¨fung. Mit dem Einkaufssystem k¨nnen Bedarfe an Mau o terialien oder Dienstleistungen, weitgehend automatisch in Bestellungen umgesetzt werden. Der Eink¨ufer muss nur in Ausnahmef¨llen eingreifen. Mit a a der Bestandsf¨hrung erfolgt die Abbildung der physischen Best¨nde durch die u a Echtzeit-Erfassung aller bestandsver¨ndernden Vorg¨nge und die daraus resula a tierenden Bestandsfortschreibungen. Qualit¨tsmanagement (QM) Die Anwendungskomponente Qualit¨tsmaa a nagement unterst¨tzt die Aufgaben der Qualit¨tsplanung, Qualit¨tspr¨fung und u a a u Qualit¨tslenkung. Mit den Funktionen des Moduls Qualit¨tsmanagement kann a a
16
man die wesentlichen Elemente eines QM-Systems, z.B. nach ISO 9000, verwirklichen. Andere im R/3-System integrierte Module (z.B. MM, SD, PP) erg¨nzen a diese Funktionen. Instandhaltung (PM) Die Komponente beinhaltet die Funktionen f¨r die u Instandhaltung; d.h. die Inspektion, die Wartung und die Instandsetzung. Die Instandhaltungsabwicklung umfasst mehrere Stufen, die jedoch nicht alle zwingend und in vollem Umfang durchlaufen werden m¨ssen. u
2.3
Personalwirtschaft
Das System Human Resources besteht im wesentlichen aus den Komponenten Personalmanagement, Personalzeitwirtschaft und Personalabrechnung. Aus diesen Komponenten k¨nnen die Daten in FI und in CO ubergeben werden. Leio ¨ stungsdaten k¨nnen ber R¨ckmeldungen online in PP und CO gebucht werden. o u
3
Prozesse im Vetrieb
Dieses Kapitel besch¨ftigt sich mit dem Modul Vetrieb. Es beschreibt die Proa zesse, die im Vertrieb ablaufen, und die Daten die in Prozessen verarbeitet werden.9
3.1
Unternehmensstruktur im Vetrieb
Die De?nition der Organisationsstruktur im R/3-System ist ein wichtiger Schritt. Daf¨r ist eine genaue Analyse der Gesch¨ftsprozesse im Unternehmen erforderu a lich. F¨r die Abbildung der Struktur einer Unternehmensorganisation stehen dem u Benutzer im R/3-System Organisationseinheiten zur Verf¨gung. Eine Organiu sationseinheit kann eine organisatorische und/oder eine juristische Gegebenheit in einem Unternehmen darstellen. Das Vertriebsmodul nutzt eine Reihe von Organisationseinheiten, die ausschließlich zur Abbildung des Vetriebs vorgesehen sind, wie z.B. Verkaufsorganisation, Vetriebsweg und Sparte. Im Modul Vertrieb unterscheidet man zwischen folgenden Organisationseinheiten: • Buchungskreis • Vertriebsbereich – Verkaufsorganisation – Vertriebsweg – Sparte • Werk • Lagerort • Versandstelle
9 Die
Informationen f¨r dieses Kapitel wurden aus “Prozesse im Vertrieb” entnommen. u
17
Buchungskreis Der Buchungskreis ist die kleinste organisatorische Einheit des externen Rechnungswesens. Der Buchungskreis ist eine rechtlich selbstst¨ndia ge und bilanzierende Einheit. Ein Buchungskreis kann z.B. ein Unternehmen innerhalb einer Konzerns oder eine Tochtergesellschaft sein. Verkaufsorganisation Die Verkaufsorganisation ist eine organisatorische Einheit der Logistik, die das Unternehmen nach den Erfordernissen des Vertriebs gliedert. Eine Verkaufsorganisation ist verantwortlich f¨r den Vetrieb von Mateu rialien und Dienstleistungen. Mit Hilfe der Verkaufsorganisation kann man eine regionale, nationale oder internationale Gliederung des Marktes ber¨cksichtiu gen. Eine Verkaufsorganisation muss eindeutig einem Buchungskreis zugeordnet werden. F¨r eine Verkaufsorganisation p?egt man eigene Stammdaten. u Vetriebsweg Der Vertriebsweg kennzeichnet den Weg, auf dem verkaufsf¨hige a Materialien oder Dienstleistungen zum Kunden gelangen. Verkaufsorganisationen k¨nnen mehrere Vertriebswege zugeordnet werden. Beispiele f¨r Vetriebso u wege sind Großhandel, Einzelhandel, Internethandel, . . . Sparte Mit der Sparte kann man Materialien und Dienstleistungen gruppieren. Einer Verkaufsorganisation k¨nnen mehrere Sparten zugeordnet werden, o f¨r die sie zust¨ndig ist. Eine Sparte kann z.B. eine bestimmte Produktgruppe u a abbilden. Vetriebsbereich Der Vetriebbereich ist, wie man in der Abbildung (6)10 sehen kann, eine Kombination von Verkaufsorganisation, Vetriebsweg und Sparte. Er legt fest uber welchen Vertriebsweg eine Verkaufsorganisation Produkte einer ¨ Sparte vertreiben kann. Jeder Vetriebsbeleg ist genau einem Vertriebsbereich zugeordnet. Ein Vertriebsbereich kann nur zu einem Buchungskreis geh¨ren. Bei o der Bearbeitung von Vertriebsbelegen werden abh¨ngig vom Vertriebsbereich a auf verschiedene Stammdaten zugegri?en werden. Dazu geh¨ren z.B. Kundeno stammdaten, Materialstammdaten, Preise und Rabatte. Werk, Lagerort Das Werk ist ein Ort mit Materialbestand. Ein Werk kann z.B. eine Produktionsst¨tte im R/3-System abbilden. a Werk und Lagerort sind organisatorische Einheiten, die von allen logistischen Bereichen des R/3-Systems genutzt werden k¨nnen: o • Die Materialwirtschaft konzentriert sich haupts¨chlich auf den Materiala ?uss. Aus Sicht der Materialwirtschaft ist ein Werk in erster Linie ein Ort mit Materialbestand. • In der Produktion kann ein Werk eine Fertigungseinrichtung abbilden. • Im Vertrieb stellt das Werk denjenigen Ort dar, von dem Materialien und Dienstleistungen ausgeliefert werden und entspricht somit einem Verteilerzentrum. Im Vertrieb spielt das Werk eine zentrale Rolle
10 entnommen
aus “Prozesse im Vertrieb”
18
• Um das Vertriebsmodul nutzen zu k¨nnen muss mindestens ein Werk ano gelegt werden. • Ein Werk muss eindeutig einem Buchungskreis zugeordnet werden. Versandstelle Der Versand ist ein integrierter Baustein der Vertriebsabwicklung. Die Versandstelle ist die h¨chste organisatorische Einheit des Versands o und ist f¨r die Steuerung der Versandaktivit¨ten verantwortlich. Die organisau a torische Zuordnung der Versandstelle im R/3-System erfolgt uber das Werk. Die ¨ Versandstelle kann z.B. eine Lkw-Laderampe, oder Poststelle oder ein G¨teru bahnhof sein.
3.2
Prozesse im Vetrieb
Eine e?ektive Abwicklung von Kundenauftr¨gen bindet alle Vertriebsaktivit¨ten a a in eine Kette eng integrierter Prozesse ein. Der R/3-Vetriebsprozess beginnt mit dem Aufbau und der P?ege von Kundenbeziehungen und endet mit der Fakturierung der gelieferten Waren oder erbrachten Leistungen an den Kunden. 3.2.1 Vorverkaufsaktivit¨ten a
Unter Vorverkaufsaktivit¨ten versteht man den Aufbau und die P?ege von Kuna denbeziehungen. Die Vorverkaufsaktivit¨ten umfassen das Erfassen und Verfola gen von Kundenkontakten, Mailing-Aktionen, das Beantworten von telefonischen Kundenfragen, . . . 3.2.2 Auftragsbearbeitung
Die Mitarbeiter der Abteilung Kundenservice nehmen schriftliche und telefonische Auftr¨ge entgegen. Ein Kundenauftrag ist ein elektronischer Beleg, in a dem die vom Kunden bestellten Waren oder Dienstleistungen erfasst werden. Terminauftr¨ge enthalten normalerweise: a
Abbildung 6: Der Vertriebsbereich
19
• Informationen uber den Kunden und uber die Ware ¨ ¨ • Preisinformationen zu allen Positionen • Informationen zu Lieferterminen und Liefermengen • Informationen f¨r die Versandabwicklung u • Informationen f¨r die Fakturierung u Auftrag anlegen Ein Verkaufsbeleg wird immer innerhalb eines Vertriebsbereichs angelegt. Ein Auftrag bezieht sich auf einen oder mehrere Angebote. Struktur des Verkaufsbelegs Ein Verkaufsbeleg ist in drei Ebenen Kopf, Positionen und Einteilung gegliedert. • Kopf des Verkaufsbelegs Die Daten des Belegkopfes gelten f¨r den gesamten Beleg. u • Positionen Jede Position im Verkaufsbeleg enth¨lt eigene Daten. Dazu geh¨ren z.B. a o Angaben zum Material. Jeder Verkaufsbeleg kann mehrere Positionen haben. • Einteilung der Belegpositionen Einteilungen enthalten Liefermengen und Liefertermine. Sie geh¨ren eino deutig zu einer Position. Jede Position, welche im weiteren Vertriebsprozess eine Auslieferung nach sich ziehen soll, muss mindestens eine Einteilung besitzen. 3.2.3 Bescha?ung
In diesem Prozessschritt des Vertriebs wird die Verf¨gbarkeit der bestellten Wau re gepr¨ft und der Bedarf an die Disposition ubergeben. Die Disposition organiu ¨ siert und uberwacht den eigentlichen Bescha?ungsprozess. Die Art und Weise, ¨ wie ein Material f¨r einen Kundenauftrag bescha?t wird, kann unterschiedlich u sein. Beispielsweise kann die Bescha?ung aus dem verf¨gbaren Bestand erfolgen, u durch Nachschub sichergestellt werden, . . . 3.2.4 Versand
Mit dem Anlegen des Lieferbelegs beginnt die Versandabwicklung im Vertrieb. Der Lieferbeleg steuert, unterst¨tzt und uberwacht s¨mtliche Teilprozesse der u a ¨ Versandabwicklung, wie z.B. das Kommissionieren, Verpacken, . . . Beim Anlegen des Lieferbelegs werden Daten, wie die Materialien und die best¨tigten Mena gen, aus dem Kundenauftrag ubernommen. Beim Anlegen des Transportauftrags ¨ werden Daten aus der Auslieferung in den Transportauftrag ubernommen und ¨ von der Lagerverwaltung weiter verarbeitet.
20
Auslieferung anlegen Eine Auslieferung wird innerhalb einer Versandstelle f¨r Auftr¨ge angelegt, die zur Auslieferung f¨llig sind. Die relevanten Daten weru a a den aus dem Auftrag in die Auslieferung kopiert. Man kann aus einem Auftrag eine oder mehrere Auslieferungen anlegen. Umgekehrt kann man Positionen aus mehreren Auftr¨gen in eine Auslieferung zusammenf¨hren. a u Struktur des Lieferbelegs Ein Lieferbeleg hat zwei Ebenen: Kopf und Positionen. • Kopf des Lieferbelegs Die Daten des Belegkopfes gelten f¨r den gesamten Beleg, dazu geh¨ren u o z.B. Daten zum Warenempf¨nger. a • Position des Lieferbelegs Jede Position im Lieferbeleg enth¨lt eigene Daten, dazu geh¨ren z.B. Ana o gaben zum Material, zu lieferf¨lligen Mengen, . . . a Kommissionieren Man legt einen Transportauftrag f¨r eine Auslieferung an. u Ein Transportauftrag wird f¨r eine Lagernummer erstellt. Das R/3-System kann u mehrere Auslieferungen in eine Gruppe von Transportauftr¨gen zusammenfasa sen, sofern diese Auslieferungen die gleiche Lagernummer haben. Warenausgang buchen tisch: Beim Buchen des Warenausganges werden automa-
• die Mengen in der Bestandsf¨hrung und die Lieferbedarfe der Disposition u aktualisiert • die Wert¨nderung in den Bestandskonten der Materialbuchhaltung vera bucht • weitere Belege f¨r das Rechnungswesen vom System erzeugt, z.B. f¨r das u u Controlling • der Status in allen zugeh¨rigen Vertriebsbelegen aktualisiert o 3.2.5 Fakturierung
Beim Anlegen der Faktura werden Daten aus dem Kundenauftrag und der Auslieferung in die Faktura ubernommen. Die Faktura hat mehrere wichtige Funk¨ tionen. Einerseits ist sie der Vertriebsbeleg, der den Benutzer bei der Erstellung von Rechnungen unterst¨tzt; andererseits dient sie als Datenquelle f¨r das u u Finanzwesen, um den User bei der Zahlungs¨berwachung und -abwicklung zu u unterst¨tzen. Wenn man eine Faktura anlegt, werden ublicherweise die Sachkonu ¨ ten automatisch eingetragen. Dabei f¨hrt das R/3-System eine Sollbuchung auf u dem Forderungskonto des Kunden und eine Habenbuchung auf dem Erl¨skonto. o
21
Faktura anlegen Man kann eine Rechung f¨r eine einzelne Auslieferung oder u einen einzelnen Kundenauftrag anlegen. Man kann Rechnungen mit Hilfe von Selektionskriterien wie Kunde, Fakturadatum und Empfangsland zusammenfassen. Ein Fakturabeleg ist in die beiden Ebenen Kopf und Position strukturiert. Beim Sichern eines Fakturabelegs erzeugt das System automatisch alle erforderlichen Belege f¨r das Rechnungswesen. Dabei f¨hrt das R/3-System in u u der Buchhaltung eine Sollbuchung auf dem Forderungskonto und eine Habenbuchung auf dem Erl¨skonto aus. Weiterhin werden beim Buchen des Fakturao belegs: • der Status in allen zugeh¨rigen Verkaufs-, Liefer- und Fakturabelgen ako tualisiert. • die Vertriebsstatistik im Vertriebsinformationssystem fortgeschrieben • das Kreditkonto des Kunden fortgeschrieben 3.2.6 Beleg?uss
Die Belege innerhalb eines Vertriebsprozesses sind uber den Beleg?uss mitein¨ ander verkn¨pft. Man kann sich den Beleg?uss als Liste der miteinander veru kn¨pften Belege anzeigen lassen. Aus dieser Liste k¨nnen die betro?enen Belege u o angezeigt werden oder Status¨bersichten zu den Belegen aufgerufen werden. Der u Beleg?uss wird auf der Ebene des Belegkopfes und der Belegpositionen fortgeschrieben. 3.2.7 Zahlung
Die Zahlung ist ein Prozess, welcher zum Anwendungsmodul Finanzwesen geh¨rt. o Die Zahlung unterst¨tzt das Buchen von Zahlungen aufgrund von Rechungen u und die Kl¨rung von Abweichungen. a In der Abbildung (7)11 werden die Teilprozesse der Kundenauftragsabwicklung des R/3-Systems miteinander in Beziehung gebracht. Die Reihenfolge der Bl¨cke von oben nach unten stellt den ublichen zeitlichen Ablauf im Vertriebo ¨ sprozess dar. Die Abschnitte auf der rechten und linken Seite der Gra?k stellen die wichtigen Schnittstellen zwischen dem Vertrieb und dem Vertriebsinformationssystem (Data Warehouse von SAP), der Materialwirtschaft und der Produktionsplanung dar.
4
ABAP
Die Sprache ABAP (Advanced Business Application Programming) ist die eigene Programmiersprache der SAP. Ein Großteil der betriebswirtschaftlichen Anwendungen eines SAP-Systems ist in ABAP geschrieben. Ein ABAP-Programm besteht aus einzelnen Anweisungen. Jede Anweisung beginnt mit einem Schl¨sselu wort und endet mit einem Punkt.12
11 entnommen 12 Dieses
aus “Prozesse im Vertrieb” Kapitel basiert auf den ABAP-Schulungsunterlagen.
22
Aus ABAP Programmen heraus ist es uber spezielle Befehle oder Schl¨sselu ¨ w¨rter m¨glich, Selektionsbilder zu erzeugen, Listen zu drucken oder auf Tabelo o leninhalte zuzugreifen. Der Zugri? auf die Datenbank erfolgt aus ABAP heraus im Allgemeinen uber ¨ Open-SQL-Befehle. Open SQL besteht aus einer Menge von ABAP-Anweisungen, die Operationen auf der zentralen Datenbank des SAP-Systems durchf¨hren. u Das Ergebnis dieser Operationen und etwaige Fehlermeldungen sind vom verwendeten Datenbanksystem unabh¨ngig. Das macht die Programmentwicklung a unabh¨ngig vom jeweils verwendeten Datenbanktyp. a Ausgew¨hlte charakteristische Eigenschaften der Sprache ABAP sind: a • Mehrsprachigkeit (durch getrenntes speichern von Textelementen wie Listen¨berschriften, Texten zu Eingabefeldern,. . . ) u • M¨glichkeit der einfachen und e?ektiven Entwicklung gra?scher Benuto zungsober?¨chen (mit Hilfe des Screen Painter) a • M¨glichkeit der objektorientierten Programmierung (”ABAP Objects”) o • Plattformunabh¨ngigkeit (durch Verwendung von Open SQL und Nutzung a der Datenbankschnittstelle) • e?zienter Zugri? auf Datenstrukturen (Tabellen, Datenelemente)
4.1
Der Ablauf eines ABAP Programms
Wenn man den Ablauf des ABAP Programms von der Client/Server Sicht betrachtet13 , so ?ndet auf der Pr¨sentationsserver-Schicht die Darstellung des a
13 siehe
Kapitel 1.3.1
Abbildung 7: Der Beleg?uss
23
Bildschirmbildes statt. Das ABAP-Laufzeitsystem und somit auch das ABAPProgramm sind auf dem Applikationsserver. Die unterste Schicht ist die Datenbank, die abh¨ngig vom jeweiligen Programm f¨r die Ausf¨hrung notwendig a u u sein kann. Den Anwender interessiert sein betriebswirtschaftlicher Ablauf und wie er die zugeh¨rigen Daten eingeben kann oder zur Ausgabe bekommt. Weniger intereso sant ist, ob dazu ein Programm abl¨uft oder implizit mehrere Programme gerua fen werden oder ob es technische Unterschiede zwischen den Bildschirmbildern gibt. F¨r den Anwender stellt also das R/3-System mit Applikations-Servern u und Datenbank eine Black Box dar.
Abbildung 8: Das Zusammenspiel zwischen Serverebenen
F¨hrt der Anwender eine Benutzeraktion aus (z.B. die Entertaste, eine Funku tionstaste, eine Men¨funktion oder eine Drucktaste), so wechselt die Kontrolle u vom Pr¨sentatations-Server an den Applikationsserver, und gewisse Teile des a ABAP-Programms werden verarbeitet. Wird aus dem ABAP-Programm ein weiterer Benutzerdialog angestoßen, so wird ein Bildschirmbild zum Pr¨sentatia onsserver gesendet und die Kontrolle wechselt zum Pr¨sentationsserver. Dieses a Wechselspiel zwischen unterschiedlichen Serverebenen kann man der Abbildung (8)14 entnehmen.
4.2
4.2.1
Einfuhrung in die ABAP Workbench ¨
Die ABAP Workbench und das Repository
Die ABAP Workbench ist die integrierte gra?sche Entwicklungsumgebung des SAP-Systems. Sie unterst¨tzt unter anderem die Entwicklung, das Testen und u die Verwaltung von in ABAP geschriebenen Anwendungen. Mit der ABAP Workbench werden die Anwendungsprogramme geschrieben. Die Workbench ist eine gra?sche Programmierumgebung. In der Workbench k¨nnen Programmierwerkzeuge aufgerufen werden. Eine ABAP Anwendung ist o z.B. eine Transaktion oder ein Report.
14 entnommen
aus “ABAP Schulung”
24
Im SAP Easy Access ?ndet man die Werkzeuge unter Werkzeuge ->ABAP Workbench ->Entwicklung. Von dort aus hat man unter anderem Zugri? auf • den ABAP Editor (Transaktion SE38) zum Schreiben von ABAP Programmen • das ABAP Dictionary (Transaktion SE11) zur De?nition und Beschreibung von Tabellen, Datenelementen, Sperrelementen usw. • den Screen Painter (Transaktion SE51, im Unterverzeichnis Ober?¨che) a zur Erstellung interaktiver Bedienober?¨che. a • den Function Builder (Transaktion SE37) zur Erstellung und Verwaltung von Funktionsbausteinen (dies sind St¨cke gekapselten ABAP-Codings u mit de?nierten Ein- und Ausgabeschnittstelle).
Abbildung 9: Ausgew¨hlte Werkzeuge der ABAP Workbench a Die Werkzeuge der ABAP-Workbench sind in der Abbildung (9)15 abgebildet. Bei der Arbeit in der Workbench stoßt man auf Entwicklungsobjekte und Pakete: • Entwicklungsobjekte sind Objekte, die mit Hilfe der ABAP Workbench bearbeitet werden k¨nnen, z.B. Reports oder Transaktionen. o • Ein Paket fasst logisch zusammenh¨ngende Entwicklungsobjekte zusama men, beispielsweise alle Objekte einer Anwendung
15 entnommen
aus “Aplication Platform Grundlagen”
25
Um die Entwicklungsprozesse in der integrierten Umgebung der ABAP Workbench zu organisieren, bietet SAP den Object Navigator (Transaktion SE80, ¨ Men¨pfad Werkzeuge ->ABAP Workbench ->Ubersicht ->Object Navigator ) an. u Hiermit erh¨lt man einen ubersichtlichen und einheitlichen Zugang zu Repositorya ¨ Objekten. Anstatt mit Werkzeugen und Paketen zu arbeiten, arbeitet man im Object Navigator mit Objekten, und die Workbench ruft f¨r jedes Objekt das u entsprechende Werkzeug auf. Die Datenbank enth¨lt sowohl Anwendungs- und Customizing-Tabellen, die a in der Regel mandantenabh¨ngig sind, als auch das Repository. Das Repository a enth¨lt alle Entwicklungsobjekte (Programme, De?nitionen von Datenbanktaa belle und zentrale Typen). Die Repository-Objekte sind mandantenunabh¨ngig, a sie sind also in allen Mandanten sichtbar und verwendbar. Das Repository ist nach Anwendungen untergliedert. Innerhalb einer Anwendung existieren zur logischen Unterteilung mehrere Entwicklungsklassen. Die Struktur des Repository ?ndet man unter der Anwendungshierarchie ¨ (Werkzeuge ->ABAP Workbench ->Ubersicht ->Anwendungsshierachie oder Trans¨ aktion SE81). Uber das Repository Infosystem (Werkzeuge ->ABAP Work¨ bench ->Ubersicht ->Infosystem oder Transaktion SE84) kann man gezielt nach Repository-Objekten suchen. Es stehen f¨r verschiedene Repository-Objekte geu eignete Suchkriterien zur Verf¨gung. u 4.2.2 Analysieren eines vorhandenen Programms
Funktonsumfang ermitteln: Programm ausf¨ hren Es gibt verschiedene u M¨glichkeiten, ein Programm zu starten. Die erste M¨glichkeit ist aus “SAP o o Easy Access’; wenn man ein Programm oft verwendet kann man es in seine Favoritenliste aufnehmen. W¨hlt man einen Eintrag im Baum aus, so kann a ¨ man das zugeh¨rige Programm uber das Kontextmen¨ starten. Uber Zus¨tze o u a ¨ >Einstellungen und Ankreuzen von “Technische Namen anzeigen” kann man die technischen Transaktionscodes im Baum anzeigen lassen. Der Transaktionscode ist auch die zweite Art ein Programm auszuf¨hren. Ein Programm kann man u auch uber den Men¨eintrag im Object Navigator starten. u ¨ ¨ Uber Ausf¨hren des Programms kann man den Funktionsumfang ermitu teln. Zu einem beliebigen Bildschirmbild kann man Informationen uber den ¨ Programmnamen und die Bildnummer des Bildschirmbildes erhalten uber den ¨ Men¨pfad System ->Status. Zu einem beliebigen Feld des Bildschirmbildes kann u man Informationen uber den Feldnamen und Feldtyp erhalten uber F1->Tech¨ ¨ nische Info. ¨ Statische Analyse: Objektliste Einen Uberblick uber die Programmob¨ jekte erh¨lt man uber die Objektliste des Programms im Navigations-Bereich a ¨ des Object Navigators. Um die Objektliste zu einem Programm anzuzeigen, muss man im oberen Eingabefeld “Programm” w¨hlen und im unteren Eingaa ¨ befeld den Programmnamen eingeben. Uber die Ikone mit der Brille oder die Enter-Taste erh¨lt man die Objektliste. In dem Hierarchiebaum erscheinen nur a diejenigen Objektarten, zu denen Objekte vorhanden sind. Zu jedem Objekt der Objektliste kann man eine Umfeldermittlung durchf¨hren. Daf¨r muss man u u “Verwendungsnachweis” im Kontextmen¨ des gew¨nschten Objektes w¨hlen. u u a Man bekommt eine Liste mit allen Stellen an denen das Objekt verwendet wird.
26
¨ Uber Doppelklick kann man zu einem Eintrag der Liste zur Anzeige der Verwendungsstelle navigieren. Dynamische Analyse: Debugging Modus Es gibt mehrere M¨glichkeio ten, ein Programm im Debugging Modus zu starten, ohne das Programm zu ver¨ndern: a ¨ • Uber das Kontextmen¨ zu einem Programmnamen in der Objektliste des u Programms: Ausf¨hren ->Debugging u ¨ • Uber einen Haltepunkt im Editor: Mann kann gezielt eine Programmstelle ausw¨hlen, an der das Laufzeitsystem in den Debuggingmodus umschala ten soll. Daf¨r muss man die gew¨nschte Zeile markieren und die Ikone u u mit dem STOP-Zeichen w¨hlen. Anschließend muss das Programm uber a ¨ Ausf¨hren ->Direkt oder F8 gestartet werden. u Startet man ein Programm im Debugging Modus, so kann man uber die ¨ Ikone “Einzelschritt” zeilenweise das Programm ausf¨hren. u Zur Laufzeit kann auch in den Debugging Modus umgeschaltet werden (System ->Hilfsmittel ->Debugging ABAP). Die zweite M¨glichkeit in den Debugo ging Modus zu kommen, ist die Eingabe von /h in das Befehlsfeld der Symbolleiste und Enter. Die allgemeine ABAP-Syntax folgende Regeln: F¨r die allgemeine ABAP-Syntax gelten u
• Ein ABAP Programm besteht aus einzelnen S¨tzen (Anweisungen). a • Jeder Satz muss mit einem Punkt abgeschlossen werden. • Das erste Wort innerhalb eines Satzes ist ein Schl¨sselwort. u • S¨tze d¨rfen einger¨ckt werden. a u u • S¨tze d¨rfen sich uber mehrere Zeilen erstrecken. a u ¨ • Mehrere S¨tze in einer Zeile sind m¨glich. a o • Aufeinanderfolgende S¨tze mit identischem Anfang k¨nnen zu einem Keta o tensatz zusammengefasst werden. Dabei muss der identische Satzanfang mit einem Doppelpunkt abgeschlossen werden. Die geketteten Satzteile m¨ssen durch ein Komma getrennt werden. Vor und hinter dem Trennzeiu chen (Doppelpunkt, Komma, Punkt) k¨nnen Leerzeichen stehen. o Das Beispielprogramm REPORT erster_report. WRITE ’Mein erster ABAP Report.’.
27
enth¨lt zwei Anweisungen, jede in einer Zeile. Die Schl¨sselw¨rter sind REa u o PORT und WRITE. In diesem Fall enth¨lt die Liste die Zeile ”Mein erster a ABAP Report.” Zu einer ABAP-Anweiseung kann man sich die Schl¨sselwort-Dokumentation u anzeigen lassen. Wenn der Cursor auf einem Schl¨sselwort steht, bekommt man u mit F1 die Dokumenation. Die andere M¨glichkeit ist uber die Informations o ¨ Ikone die Schl¨sselwort-Dokumentation f¨r den entsprechenden ABAP-Begri? u u zu bekommen. Mit dem Doppelklick auf einen Tabellennamen oder Feldnamen im Editor bekommt man detaillierte Informationen zu den Einzelobjekten. Mit einem Stern (*) in der ersten Spalte kann eine ganze Zeile als Kommentar gekennzeichnet werden. Will man nur den Rest einer Zeile als Kommentar kennzeichnen, erreicht man das mit Anf¨hrungszeichen (“). u Wenn man ein Programm (oder allgemeiner: ein Entwicklungsobjekt) anlegt oder ¨ndert und dann sichert, wird zun¨chst immer nur eine inaktive Version im a a Repository abgelegt. So ist es m¨glich, weiter zu entwickeln, ohne den aktuellen o Systemzustand zu ¨ndern. a Damit ein Repository-Objekt systemweit verf¨gbar ist, muss es zus¨tzlich u a noch ”aktiviert” werden. Diese somit erzeugte aktive Fassung des Programmes wird herangezogen, wenn zum Beispiel ein Anwender das Programm ausf¨hren u m¨chte. o
4.3
4.3.1
ABAP-Anweisungen und Datendeklarationen
Die ABAP-Typen
Die Typen beschreiben Eigenschaften von Ein- und Ausgabefeldern von Bildschirmobjekten, Datenobjekten und Schnittstellen-Parametern. Die Typen k¨nnen programmlokal oder zentral de?niert werden. Programmo lokale Typen werden verwendet wenn nur technische oder keine semantischen Eigenschaften ben¨tigt werden und wenn die Typen nur programmlokal verweno det werden. Die zentralen Typen (=ABAP-Dictionary-Typen) werden ben¨tigt, o wenn die Typen auch außerhalb des Programms gebraucht werden, oder wenn auch semantische Informationen ben¨tigt werden (z.B. auf Bildschirmbildern o mit Ein-/ und Ausgabefeldern). Im ABAP-Dictionary weden sowohl globale Typen de?niert als auch die Beschreibung von Datenbanktabellen verwaltet. F¨r globale Typen gibt es folgende u M¨glichkeiten: o • Elementare Typen heißen Datenelemente. Sie beinhalten die vollst¨ndia ge Beschreibung der technischen Eigenschaften eines elementaren Feldes (Technischer Typ, L¨nge, Anzahl der Nachkommastellen) und semantische a Information (Feldbezeichner, Felddokumentation, Suchhilfe). • Strukturtypen • Strukturtypen heißen im Regelfall Strukturen. Sie k¨nnen aus elemeno taren Komponenten bestehen. Eine Komponente kann aber auch einen strukturierten Typen haben. Dadurch sind beliebige geschachtelte Typen konstruierbar. • Tabellentypen sind Typen f¨r interne Tabellen. u
28
¨ Uber das Repository Infosystem kann man nach ABAP-Dictionary-Typen suchen. Im Regelfall wird ein Datenobjekt mit einem vollst¨ndigen programmlokalen a oder einem vollst¨ndigen globalen Typ typisiert. Der Doppelklick auf den Namen a des lokalen Typs f¨hrt den Benutzer zur De?nitionsstelle des Typen. Globale u Typen m¨ssen im Dictionary gesucht werden. u Vollst¨ndig eingebaute ABAP-Typen k¨nnen direkt zur Typisierung von Vaa o riablen verwendet werden. In diesem Fall bleibt Doppelklick auf den Typ wirkungslos. Informationen uber eingebaute ABAP-Typen erh¨lt man uber das a ¨ ¨ Schl¨sselwort-Dokumenatation zu TYPES oder DATA. u Die folgenden eingebauten ABAP-Typen sind vollst¨ndig: a • d - Datum (Daten: YYYYMMDD) • t - Zeitpunkt (Time: HHMMSS) • i - ganze Zahl (Integer) • f - Gleitpunktzahl (Floating Point) • string - Zeichenfolge (String, L¨nge variabel) a • xstring - Bytefolge (heXadecimal-String, L¨nge variabel) a Bei folgenden eingebauten Typen muss die L¨nge erg¨nzt werden: a a • c - Zeichen (Character) • n - Numerischer Text (Numerical Character) • x - Byte (heXadecimal) • p - gepackte Zahl (Packed numbers = Binary Coded Decimals), hier ist zus¨tzlich die Anzahl an Nachkommastellen anzugeben. a 4.3.2 Die Datenobjekte
Elementare Datenobjekte Datenobjekte kann man einem Typ zuordnen, indem man sich auf einen eingebauten ABAP-Typ, einen benutzerde?nierten Typ oder einen ABAP-Dictionary-Typ bezieht. Bsp.: DATA: <varname> TYPE < type>. Die zweite M¨glichkeit ist, die Deklaration LIKE zu verwenden. Bezieht sich o eine Variable v2 mit LIKE auf die Variable v1 (DATA v2 LIKE v1), so erbt sie den Typ von v2. Bsp.: DATA: <varname> LIKE < data object>. Ein elementares Datenobjekt kann folgendermaßen de?niert werden: • DATA: <type name> TYPE <prede?ned ABAP Type>. falls man ein Datenobjekt der Typen d, t, i, f, string oder xstring ben¨tigt. Diese eingebauten ABAP Typen sind vollst¨ndig. o a
29
• TYPES <type name> (<length>) TYPE <predi?ned ABAP Type>. DATA <do name> TYPE <type name>. falls man ein Datenobjekt der Typen c, n, p oder x ben¨tigt. F¨r diese o u Typen muss die L¨nge festgelegt werden. F¨r den Typ p kann zus¨tzlich a u a noch die Anzahl der Nachkommastellen mit DECIMALS <nn> de?niert werden. • DATA: <do name> TYPE <global Type>. falls ein passender globaler Typ im Dictionary de?niert ist. F¨r die Fallunterscheidung stellt ABAP die IF und CASE-Abfragen zur u Verf¨gung. u CASE <data object 1>. WHEN <data object 2>.
<
Anweisung 1>. Anweisung 2>.
WHEN <data object 3>.
<
... WHEN OTHERS.
<
Anweisung x>.
ENDCASE. Von den angef¨hrten Anweisungsfolgen wird genau eine verarbeitet. Die Anu gabe von WHEN OTHERS ist optional. IF <logical expression 1>.
<
Anweisung 1>. Anweisung 2>.
ELSEIF <logical expression 2>.
<
... ELSE.
<
Anweisung 3>.
ENDIF. Die Anweisungen ELSE und ELSEIF sind optional. Wenn der logische Ausdruck erf¨llt ist, wird die anschließende Anweisungsfolge ausgef¨hrt. Ist der u u logische Ausdruck nicht erf¨llt, so wird der ELSE- bzw. ELSEIF-Teil verarbeiu tet. Ist keine ELSE-bzw. keine weitere ELSEIF-Anweisung vorhanden, so wird die Programmverarbeitung hinter ENDIF fortgesetzt.
30
Strukturen In ABAP ist es m¨glich, strukturierte Datenobjekte (kurz Struko turen genannt) zu de?nieren. So k¨nnen zusammengeh¨rige Variablen in einem o o Objekt zusammengefasst werden. Strukturen sind schachtelbar, so dass Komponenten auch Strukturen oder Tabellen sein k¨nnen. o Es gibt zwei verschiedene Arten von Strukturen in einem ABAP-Prrogramm: ¨ • Uber DATA <name> TYPE <structure type>. de?nierte Strukturen dienen als Zielfelder f¨r Datenbankzugri?e oder f¨r u u programmlokale Berechnungen. Die Strukturtypen k¨nnen im ABAP Dico tionary oder programmlokal deklariert sein. ¨ • Uber TABLES <ABAP-Dictionary-Structures>. wird eine Sturktur de?niert, die technisch in einem eigenen Bereich verwaltet wird. Seit Release 4.0 ben¨tigt man TABLES-Strukturen nur noch o als Schnittstellen zum Dynpro. Einem Strukturtyp werden einzelne Komponeneten zugeordnet. Zu jeder Komponente m¨ssen der Komponentenname, der Komponententyp und ein u Kurztext erfasst werden. Der Komponentenname ist frei w¨hlbar und es exia stieren keine festen Namenskonventionen. In der Regel wird f¨r den Komponenu tentyp ein Datenelement zur Typisierung verwendet. Der Kurztext beschreibt schließlich die Komponente. Beim Anlegen einer Struktur im Dictionary ist zu beachten, dass der Name der Struktur im Kundennamensraum liegt. Die Strukturtypen k¨nnen auch programmlokal uber die TYPE-Anweisung o ¨ de?niert werden. Die Komponenten werden durch BEGIN OF <structure type name> ... END OF <structure type name>. Eine Struktur kann man dann uber ¨ DATA <structure name> TYPE <structure type name>. anlegen. Die Felder der Struktur werden angesprochen durch <Structure>-<Fieldna>. me Interne Tabellen Interne Tabellen sind Datenobjekte, mit denen man Datenmengen einer festen Struktur aber mehrerer Zeilen im Arbeitsspeicher halten kann. Die einzelnen Komponenten einer Zeile bezeichnet man daher auch als Spalten interner Tabelle. Interne Tabellen sind auch dynamische Datenobjekte, die beliebig viele Zeilen eines festen Typs enthalten k¨nnen. Die Zeilentypen o von internen Tabellen sind beliebige ABAP-Datentypen. Sie k¨nnen somit eleo mentar, strukturiert oder selbst interne Tabellen sein. Um einen Tabellentyp vollst¨ndig zu spezi?zieren, m¨ssen folgende Informaa u tionen angegeben sein: 31
• Zeilentyp: Die Informationen zu den gew¨nschten Spalten, deren Namen u und Typen wird gew¨hrleistet, indem ein Strukturtyp als Zeilentyp angea geben wird. • Schl¨ssel: Zu einem vollst¨ndigen spezi?zierten Schl¨ssel geh¨ren auch u a u o Informationen, wie z.B.: Welche Spalten sollen Schl¨sselspalten sein?. . . u • Tabellenart: Es gibt drei Tabellenarten: Standardtabellen, sortierte Tabellen und Hash Tabellen. Den Hauptein?uss auf die Wahl der Tabellenart hat die gesch¨tzte Zugri?sart. a Die Zugri?sart de?niert, wie das Laufzeitsystem auf einzelne Tabellenzeilen zugreift. ABAP kennt zwei unterschiedliche Zugri?sarten, den Indexzugri? und den Schl¨sselzugri?. Beim Indexzugri? wird uber den Index der Datens¨tze, der u a ¨ vom System gep?egt wird, zugegri?en. Beim Schl¨sselzugri? wird uber einen u ¨ Suchbegri? zugegri?en, der typischerweise aus dem Tabellenschl¨ssel oder dem u generischen Tabellenschl¨ssel besteht. u F¨r interne Tabellen stehen folgende Operationen zur Verf¨gung: APPEND, u u INSERT, READ, MODIFY, DELETE, COLLECT, LOOP . . . ENDLOOP, SORT, CLEAR, REFRESH, FREE. Informationen zu den angef¨hrten ABAP-Anweisunu gen kann man der Schl¨sselwortdokumentation zu den angegebenen ABAPu Schl¨ssel-w¨rtern entnehmen. u o
4.4
4.4.1
Lesen von der Datenbank
Datenbanktabellen im R/3
Die Datenbanktabellen werden im R/3 Dictionary uber das ABAP-Dictionary ¨ verwaltet. Dort k¨nnen die aktuellen Informationen zu allen technischen Eigeno schaften einer Tabelle nachgeschaut werden. Eine Tabelle ist eine zweidimensionale Matrix aus Spalten (Feldern) und Zeilen (Eintr¨gen). Sie hat einen Namen und Eigenschaften wie z.B. den Tabela lentyp. Jede Tabelle des ABAP Dictionary hat einen Prim¨rschl¨ssel. Dies ist a u eine Spaltenkombination, die jede Zeile in dieser Tabelle eindeutig identi?ziert. Ein Feld (d.h eine Spalte einer Tabelle) hat einen Namen und Eigenschaften, z.B. kann es Prim¨rschl¨sselfeld sein. Das Feld ist kein eigenst¨ndiges Objekt, a u a sondern tabellenabh¨ngig und kann nur innerhalb einer Tabelle gep?egt werden. a Ein Tabellenfeld kann mit Hilfe einer Tabelle gep?egt werden: • Die Dom¨ne dient zur technischen De?nition des Tabellenfeldes. In ihr a werden z.B. Feldl¨nge, Feldtyp, Ausgabeeigenschaften und eine m¨gliche a o Werteeinschr¨nkung mit Hilfe von Festwerten de?niert. a • Das Datenelement dient urspr¨nglich der Beschreibung der semantischen u Eigenschaften eines Feldes im Kontext der Tabelle. Dies sind Eigenschaften, die nur dort und nicht allgemein von Bedeutung sind. Im Datenelement muss z.B. eine Kurzbeschreibung des Tabellenfeldes hinterlegt werden, die beim Aufruf der F1-Hilfe auf dem Bildschirmbild angezeigt wird. Das zweistu?ge Dom¨nenkonzept (bestehend aus den Ebenen Datenelement a und Dom¨ne) erlaubt die De?nition und P?ege technischer Feldeigenschaften a auf Dom¨nenebene. Eine Dom¨ne kann ihre Feldeigenschaften an beliebig viele a a 32
¨ Felder weitergeben, wodurch bei Anderungen der so beschriebenen Feldeigenschaften lediglich die Dom¨ne, nicht aber die einzelnen Felder, explizit ge¨ndert a a werden m¨ssen. u Tabellen, Datenelemente und Dom¨nen werden zentral im ABAP Dictionary a verwaltet. 4.4.2 Lesen von einer Datenbanktabelle
Die Anweisungen von Open SQL sind eine vollst¨ndig in ABAP integrierte Una termenge von Standard SQL. Sie erlauben dem ABAP-Programmierer einen einheitlichen Zugri? auf Daten, unabh¨ngig vom installierten Datenbanksystem. a Die Datenbankschnittstelle setzt Open SQL in datenbankabh¨ngiges Standard a SQL um. Die SELECT Anweisung hat die folgende Form: SELECT <ergebnis> FROM <tabelle> INTO <ziel> WHERE <bedingungen> ENDSELECT. Mit der Open SQL-Anweisung SELECT programmiert man lesende Datenbankzugri?e. Hinter der SELECT-Klausel verbirgt sich eine aufwendige Logik, die es erlaubt, auf viele verschiedene Arten auf Datenbanktabellen zuzugreifen. Die SELECT-Klausel beschreibt, ob das Ergebnis der Selektion mehrere Zeile oder einen einzelnen Datensatz (SELECT SINGLE) umfassen soll, welche Spalten das Ergebnis haben soll und ob im Ergebnis identische Zeilen vorkommen d¨rfen. Die INTO-Klausel bestimmt die internen Datenobjekte, in die die seu lektierten Daten gestellt werden sollen. Die FROM-Klausel benennt die Quelle (Datenbanktabelle oder View), von der die Daten selektiert werden sollen. Die WHERE-Klausel gibt Bedingungen an, die das Ergebnis der Selektion erf¨llen u muss. Sie bestimmt also die Zeilen der Ergebnistabelle. Statt der INTO-Klausel kann auch die Klausel INTO CORRESPONDING FIELDS <table > verwendet werden. In diesem Fall werden die Daten in die namensgleichen Felder einer Struktur gestellt.
4.5
Die Liste
Die Liste ist darauf zugeschnitten, Daten in ubersichtlicher Form, meist tabella¨ ¨ risch, auszugeben. Uber die Standardober?¨che einer Liste stehen dem Benutzer a eine Reihe von operationen bez¨glich Liste zur Verf¨gung: Zur¨ck, Beenden, u u u Abbrechen, Drucken, Suchen in der Liste, Sichern und Liste als E-Mail senden. F¨r die Liste kann man eine Listen¨berschrift und bis zu vier Zeilen Spalu u ¨ ten¨berschriften de?nieren. Die Uberschriften k¨nnen entweder uber den Editor u o ¨ de?niert werden. Die andere M¨glichkeit ist, wenn man das Programm sichert o und aktiviert und anschließend uber Starten des Programms die Liste erzeugt, ¨ kann man uber den Men¨pfad System -> Liste -> Listen- und Spalten¨beru u ¨ schriften bestimmen. Ist keine Listen¨berschrift de?niert, so wird stattdessen u der Programmtitel verwendet. Der folgende Report ist ein kleines Beispiel einer Liste:
33
REPORT liste von winf studenten. DATA wa students TYPE students. SELECT id name surname birthday FROM students INTO CORRESPONDING FIELDS OF wa students WHERE faculty = ’Wirtschaftsinformatik’ WRITE: / wa student-id, wa student-name, wa student-surname, wa student-birthday. ENDSELECT. Aus der students Tabelle werden die Studenten ausgew¨hlt die Wirtschaftsa informatik studieren und die Matrikelnummer, der Name, der Nachname und das Geburtsdatum werden ausgegeben.
4.6
Selektionsbilder
Die Selektionsbilder dienen der Eingabe von Auswahlkriterien f¨r den weiteren u Programmverlauf. Erstellt man zum Beispiel eine Liste aus Daten einer sehr großen Datenbanktabelle, so kann man uber ein Selektionsbild die Werte ein¨ schr¨nken. a 4.6.1 Eigenschaften von Selektionsbildern
Die Selektionsbilder sind darauf zugeschnitten, dem Anwender eine Eingabemaske f¨r Wertemengen zur Verf¨gung zu stellen, die zur Einschr¨nkung der u u a Datenmenge genutzt wird, die von der Datenbank gelesen werden muss. Der Anwender hat folgende M¨glichkeiten: o • Eingabe auf Einzelfeldern • komplexe Eingabe: Intervalle, Operationen, Muster • Sichern von ausgef¨llten Selektionsbildern als Varianten u • Wertehilfen bzw. Suchhilfen uber die Funktionstaste F4 oder Best¨tigung a ¨ der Kombo-Box Ist ein Eingabefeld mit einem Datenelement typisiert, so stehen semantische Informationen wie Feldbezeichner, Eingabehilfe und Wertehilfe zur Verf¨gung. u Wenn ein Eingabefeld mit einem Strukturfeld typisiert ist, das ein Datenelement referenziert, kann man auch die Feldbezeichner, Eingabehilfe und Wertehilfe benutzen. Standardm¨ßig erscheinen die Feldnamen als Text vor den Eingabefeldern a eines Selektionsbilds. Sie k¨nnen aber auch durch Selektionstexte ersetzt werden. o In einem ausf¨hrbaren Programm gen¨gt es, eine PARAMETERS-Anweisung u u zu programmieren, um das Standardselektionsbild zu erhalten. Durch die Anweisung 34
PARAMETERS <name bzw. PARAMETERS <name
>
TYPE <type>.
>
LIKE <data objet>.
wird ein elementares Eingabefeld auf dem Selektionsbild erzeugt und ein typgleiches Datenobjekt <name> deklariert. Gibt der Anwender einen Wert ein und w¨hlt “Ausf¨hren”, dann wird der Eingabewert in das programminterne a u Datenobjekt <name> gestellt. Dabei sind nur typkonforme Eingaben zugelassen.
4.7
Softwarelogistik
Der Entwicklungszyklus von SAP-Entwicklungsprojekten kann mit einer Dreisystemlandschaft abgebildet werden(siehe Abbildung (10)16 ). Das System besteht aus den Komponenten Entwicklungssystem, Konsolidierungssystem und Produktivsystem.
Abbildung 10: Die Systemlandschaft
Der Entwicklungszyklus l¨uft folgendermaßen ab: a ¨ • Alle neuen und ge¨nderten Programme werden einem Anderungsauftrag a zugeordnet. Unmittelbar vor Einleitung der Testphase im Konsolidierungssystem wird dieser Auftrag freigegeben und in das Konsolidierungssystem transportiert. • Im Konsolidierungssystem werden Tests durchgef¨hrt. Identi?zierte Fehler u werden an die Entwicklung weitergeleitet. Diese f¨hrt notwendige Korreku ¨ turen durch und ordnet die korrigierten Programme einem neuen Anderungsauftrag zu. Dieser Auftrag wird freigegeben und in das Konsolidierungssystem transportiert. Falls n¨tig, muss dieser Teilzyklus mehrfach o wiederholt werden.
16 entnommen
aus “ABAP Grundlagen”
35
• Sobald der Test erfolgreich abgeschlossen ist, werden alle Auftr¨ge in das a Produktivsystem transportiert. Die aktuelle System-Kon?guration kann im Transport Management System nachgeschaut werden (Men¨pfad: Wekzeuge ->Administration ->Transport ->Transu port Management System bzw. Transaktion STMS).
36
Index
¨ Anderung des Repository, 14 ¨ Arbeiten am Customizing, 14 ¨ Erweiterung des Repository, 14 ABAP, 22 ABAP Dictionary, 25 ABAP Editor, 25 ABAP Programm, Ablauf, 23 ABAP Workbench, 24 ABAP, Eigenschaften, 23 ABAP-Syntax, 27 ABAP-Typen, 28 ACID, 11 Anmeldung, 5 Anmeldung am SAP-System, 12, 13 Applikationsprozesse, 8 asynchrone Verbuchung, 12 atomar, 11 atomic, 11 Auftrag anlegen, 20 Auftragsbearbeitung, 19 Auslieferung anlegen, 21 Beleg?uss, 22 Benuterterstammsatz, erstellen, 13 Benutzerdaten, 13 Benutzermen¨, 6 u Benutzername, 12 Benutzerstammsatz, 13 Benutzerstammsatz, p?egen, 13 Berechtigungen, 12, 13 Berechtigungspr¨fung, 13 u Berechtigungspro?l, 13 Bescha?ung, 20 Buchungskreis, 18 Client, 7 Client-Server Architektur, 7 consistent, 11 Customizing, 14 Datenbankprozesse, 8 Datenbankschnittstelle, 10 Datenbanktabellen, 32 Datenelement, 32 Datenobjekte, 29 Datenstruktur, 14 dauerhaft, 11 37 Debugging Modus, 27 Dialog-Workprozesse, 11 Dispatcher, 9 Dom¨ne, 32 a Dom¨nenkonzept, 32 a durable, 11 Eigenentwicklung, 14 Eigenschaften von Selektionsbildern, 34 Eingabehistorie, 7 elementare Datenobjekte, 29 elementare Typen, 28 Enqueue-Workprozess, 11 Faktura anlegen, 22 Fakturierung, 21 Favoriten, 6 Favoritenliste, 6 Feld, 32 Function Builder, 25 Hilfe, 7 Hintergrund-Workprozesse, 11 interne Tabellen, 31 isolated, 11 isoliert, 11 Kommissionieren, 21 Kon?guration des SAP-Systems, 8 konstistent, 11 Kundenerweiterungen, 15 Lagerort, 18 Lesen von einer Datenbanktabelle, 33 Liste, 33 Mandant, 6, 14 Modi?kationen, 15 mySAP Business Suite, 5 Navigation, 7 Object Navigator, 26 Objektliste, 26 Open SQL, 10 Organisationseinheit, 17 PARAMETERS, 34
Personalisierung der Benutzerober?¨che, a 7 Pr¨sentationsprozesse, 8 a Pr¨sentationsschnittstelle, 10 a programmlokale Typen, 28 Pu?er, 9 RDBMS, 10 Relationale Datenbankmanagementsysteme, 10 Repository, 14, 26 Rolle, 13 SAP Branchenl¨sungen, 5 o SAP GUI, 5 SAP NetWeaver, 5 SAP Smart Business Solutions, 5 SAP xApps, 5 SAP-Bibliothek, 7 SAP-Transaktion, 11 Screen Painter, 25 SELECT, 33 Selektionsbilder, 34 Server, 7 Sparte, 18 Spoolworkprozesse, 11 Struktur des Lieferbelegs, 21 Struktur des Verkaufsbelegs, 20 Strukturen, 31 Tabelle, 32 Tabellentypen, 28 Terminauftrag, 19 Verbuchungs-Workprozess, 12 Verbuchungs-Workprozesse, 11 Verbuchungsverlauf, 12 Verkaufsorganisation, 18 Versand, 20 Versandstelle, 19 Vertriebsbereich, 18 Vetriebsbereich, 18 Vetriebsweg, 18 Vorverkaufsaktivit¨ten, 19 a Warenausgang buchen, 21 Werk, 18 Workprozess, 9 Zahlung, 22 zentrale Typen, 28 38
doc_701731876.pdf
The PDF explains about Tutorial on SAP.
SAP TUTORIAL
Lara Lebedinski, Siegfried Zeilinger, Dr. Thomas Grechenig INSO TU Wien 19. Februar 2006
1
Inhaltsverzeichnis
1 Grunds¨tzlicher Aufbau des SAP Systems a 1.1 Die Grundlagen des SAP-Systems . . . . . . . . . . . . . . . . . . 1.2 Die Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Die Anmeldung und SAP GUI Design . . . . . . . . . . . 1.2.2 Auswahl von Funktionen im SAP System . . . . . . . . . 1.2.3 M¨glichkeiten zur Hilfe . . . . . . . . . . . . . . . . . . . o 1.2.4 M¨glichkeiten zur Personalisierung der Benutzerober?¨che o a 1.3 Der Systemkern . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Client-Server Architektur . . . . . . . . . . . . . . . . . . 1.3.2 Pr¨sentations- und Datenbankschnittstelle . . . . . . . . . a 1.3.3 Prozesse des SAP Web Application Server . . . . . . . . . 1.3.4 Die SAP-Transaktion . . . . . . . . . . . . . . . . . . . . 1.3.5 Verbuchungsverlauf . . . . . . . . . . . . . . . . . . . . . . 1.3.6 Berechtigungen . . . . . . . . . . . . . . . . . . . . . . . . 1.3.7 Die Begri?serkl¨rung der Benutzerverwaltung . . . . . . . a 1.3.8 Konzept und Ablauf der Berechtigungspr¨fungen . . . . . u 1.3.9 Erstellen und P?egen von Benutzerstamms¨tzen . . . . . a 1.4 Die Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Datenstruktur eines SAP-Systems . . . . . . . . . . . . . 5 5 5 5 6 7 7 7 7 10 11 11 12 12 12 13 13 14 14
2 Module 15 2.1 Rechnungswesen . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 Logistik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3 Personalwirtschaft . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3 Prozesse im Vetrieb 3.1 Unternehmensstruktur im Vetrieb . 3.2 Prozesse im Vetrieb . . . . . . . . . 3.2.1 Vorverkaufsaktivit¨ten . . . a 3.2.2 Auftragsbearbeitung . . . . 3.2.3 Bescha?ung . . . . . . . . . 3.2.4 Versand . . . . . . . . . . . 3.2.5 Fakturierung . . . . . . . . 3.2.6 Beleg?uss . . . . . . . . . . 3.2.7 Zahlung . . . . . . . . . . . 17 17 19 19 19 20 20 21 22 22 22 23 24 24 26 28 28 29 32 32 33 33
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
4 ABAP 4.1 Der Ablauf eines ABAP Programms . . . . . . . . 4.2 Einf¨hrung in die ABAP Workbench . . . . . . . . u 4.2.1 Die ABAP Workbench und das Repository 4.2.2 Analysieren eines vorhandenen Programms 4.3 ABAP-Anweisungen und Datendeklarationen . . . 4.3.1 Die ABAP-Typen . . . . . . . . . . . . . . 4.3.2 Die Datenobjekte . . . . . . . . . . . . . . . 4.4 Lesen von der Datenbank . . . . . . . . . . . . . . 4.4.1 Datenbanktabellen im R/3 . . . . . . . . . 4.4.2 Lesen von einer Datenbanktabelle . . . . . 4.5 Die Liste . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
2
4.6 4.7
Selektionsbilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 Eigenschaften von Selektionsbildern . . . . . . . . . . . . Softwarelogistik . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34 34 35
3
Abbildungsverzeichnis
1 SAP Easy Access . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 M¨glichkeiten zur Personalisierung . . . . . . . . . . . . . . . . . o 8 3 Verarbeitung einer Benutzeranforderung . . . . . . . . . . . . . . 9 4 Ablauf einer Datenbankabfrage . . . . . . . . . . . . . . . . . . . 10 5 Die Datenstuktur eines SAP-Systems . . . . . . . . . . . . . . . . 15 6 Der Vertriebsbereich . . . . . . . . . . . . . . . . . . . . . . . . . 19 7 Der Beleg?uss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 8 Das Zusammenspiel zwischen Serverebenen . . . . . . . . . . . . 24 9 Ausgew¨hlte Werkzeuge der ABAP Workbench . . . . . . . . . . 25 a 10 Die Systemlandschaft . . . . . . . . . . . . . . . . . . . . . . . . . 35 S¨mtliche Abbildungen wurden den Kursunterlagen zu den SAP Standarda schulungen SAPTEC, LO150 und BC400 entnommen. Das Copyright f¨r diese u Abbildungen liegt bei der SAP AG, Walldorf, Deutschland. Eine Genehmigung der SAP zur Nutzung im Zusammenhang mit diesem Tutorial liegt uns vor.
4
1
Grunds¨tzlicher Aufbau des SAP Systems a
Die Abk¨rzung SAP stand urspr¨nglich f¨r “Systemanalyse Programm-Entwicku u u lung” und heute steht sie f¨r “Systeme, Anwendungen, Produkte in der Datenu verarbeitung”. Das Hauptprodukt der SAP AG ist das Software-System R/3, mit dem in Unternehmen Daten verwaltet und Prozesse gesteuert werden. Das System erm¨glicht eine komplette betriebswirtschaftliche Steuerung der Firma.1 o
1.1
Die Grundlagen des SAP-Systems
Die grundlegenden Bestandteile des SAP Systems bilden: • SAP NetWeaver Stellt die technische Infrastruktur f¨r alle SAP L¨sungen dar. Der SAP u o Netweaver besteht aus vier Komponenten: People Integration, Information Integration, Process Integration und Application Platform. Der SAP Web Application Server stellt, zusammen mit der Datenbank, die Application Platform des SAP NetWeaver dar. • mySAP Business Suite Die mySAP Business Suite umfasst alle branchen¨bergreifende, SAP Netu Weaver-basierten L¨sungen der SAP. o • SAP Smart Business Solutions Die SAP Smart Business Solutions sind SAP-L¨sungen f¨r Klein- und o u Mittelstandsunternehmen. • SAP xApps Die SAP xApps erm¨glichen es, verschiedene Anwendungen miteinander o zu verkn¨pfen, indem man uber o?ene Schnittstellen auf bereits vorhanu ¨ dene Datenbest¨nde und Funktionen zugreift. a • Branchenl¨sungen o Branchenl¨sungen bieten betriebswirtschaftliche Funktionen f¨r unterschiedo u liche Branchen.
1.2
1.2.1
Die Navigation
Die Anmeldung und SAP GUI Design
Auf SAP-Systeme kann uber unterschiedlich gestaltete Frontend-Programme ¨ zugegri?en werden, f¨r fast alle SAP L¨sugen stellt jedoch das SAP GUI (SAP u o Graphic User Interface) den Standardzugang dar. Das Programm SAP GUI verbindet den Frontend-Rechner mit SAP-Systemen. Bei der Anmeldung an ein SAP-System wird der User nach dem Benutzernamen und Kennwort gefragt. Weiters muss man bei der Anmeldung den Mandaten angeben und man kann die Sprache w¨hlen. a
1 Dieses Kapitel basiert auf den Schulungsunterlagen “SAP NetWeaver: Grundlagen der Application Platform”.
5
Ein Mandant entspricht in der Regel der Abbildung eines Unternehmens im SAP System. Das heißt, dass in einem SAP-System mit mehreren Mandanten mehrere Unternehmen abgebildet und parallel t¨tig sein k¨nnen. Von einem a o Mandanten aus kann man nur die Daten genau dieses Mandanten sehen und auf diese zugreifen2 . Mehrfachanmeldungen werden ab SAP R/3 4.6 aus sicherheitsbedingten und auch lizenzrechtlichen Gr¨nden protokolliert. u Die Abbildung (1)3 zeigt das Standardeinstiegsbild in SAP-Systeme. Im linken Bildbereich kann man eine Baumdarstellung der zur Verf¨gung stehenden u Men¨s des SAP-Systems, im rechten Bildbereich kann man ein Logo anzeigen u lassen.
Abbildung 1: SAP Easy Access
1.2.2
Auswahl von Funktionen im SAP System
Nach der erfolgreichen Anmeldung stehen dem Benutzer im linken Bildbereich ¨ zwei untereinander angeordnete Ubersichtsb¨ume zur Funktionswahl zur Verf¨ga u ung: • die benutzerde?nierte Favoritenliste Die Favoritenliste beinhaltet Funktionen des SAP-Systems oder auch Links zu Internet-Inhalten oder auf Dateien des Frontend-Rechners. Die anfangs leere Favoritenliste ist von jedem Endanwender individuell editierbar und nur f¨r diesen sichtbar. Favoriten k¨nnen im SAP-Easy-Access-Bild uber u o ¨ das Men¨ Favoriten bearbeitet werden. u • das rollenbasierte Benutzermen¨ oder das SAP-Men¨ u u Das rollenbasierte Benutzermen¨ wird aufgrund der dem Benutzer zugeu ordneten Rolle

2 siehe 3 entnommen
auch De?nition Seite 11, Abschnitt 1.5.1 aus “Aplication Platform Grundlagen”
6
In SAP-Systemen hat man 3 M¨glichkeiten zur Navigation: o 1. uber die Eingabe von Transaktionscodes im Kommandofeld ¨ 2. uber die Eintr¨ge der Men¨s in der Men¨leiste a u u ¨ 3. uber Eintr¨ge der Favoriten oder des Benutzer- oder SAP-Men¨s a u ¨ 1.2.3 M¨glichkeiten zur Hilfe o
Mit der F1-Taste erh¨lt man Erl¨uterungen zu Feldern, Men¨s, Funktionen und a a u ¨ Meldungen. Uber die F1-Hilfe gelangt man auch zu technischen Informationen zum jeweiligen Feld. Mit der F4-Taste erh¨lt man Informationen zu m¨glichen Eingabewerten. a o Wenn Felder mit einem ”Haken”-Symbol belegt sind, kann man in der jeweiligen Anwendung nur nach Eingabe eines zugelassenen Wertes fortfahren. Die SAP-Bibliothek hilft beim Kennenlernen von Systemfunktionen. Sie bietet den Zugri? auf die Online-Dokumentation. Die dort abgelegten Informationen beschreiben nicht nur die Nutzung von Systemfunktionen, sondern erkl¨ren a auch Konzepte der Systemarchitektur, geben Beispiele f¨r m¨gliche sinnvolu o le Kon?gurationen verschiedenster Prozesse und warnen vor m¨glichen Bedieo nungsfehlern und deren Folgen. 1.2.4 M¨glichkeiten zur Personalisierung der Benutzerober?¨che o a
Im System stehen den Endanwendern vielf¨ltige Personalisierungsm¨glichkeiten a o zur Verf¨gung. Unter Zus¨tze ->Einstellungen kann man die Gestaltung des u a Einstiegsbilds beein?ussen, z.B.: uber eine Ausschaltung des Bilds im rechten ¨ Teilbereich des Fensters oder uber eine Zuschaltung der technischen Namen ¨ (Transaktionscodes) im Bild SAP Easy Access. Unter Anpassung des lokalen Layouts ?ndet man z.B.: unter Optionen... ->Lokale Daten die M¨glichkeit, die Eingabehistorie zu verwalten. Die Eingabeo historie baut, wenn sie aktiviert ist, eine kleine Datenbank auf dem Frontend auf, die f¨r die Eingabefelder in Transaktionen die letzten x Eingaben beinhalten. u Unter den Optionen... ?ndet man auch die M¨glichkeit, die Geschwindigkeit o der Quick Info einzustellen, oder Systemmeldungen als Dialogfenster anzeigen zu lassen (Optionen... ->Nachrichten). Es gibt hier noch viele weitere kleine Hilfen und Einstellungsm¨glichkeiten, wie z.B.: die Wahl des Farbschemas des o GUI-Erscheinungsbildes. Wo die M¨glichkeiten zur Personalisierung im SAP System zu ?nden sind, o ist in der Abbildung (2)4 abgebildet.
1.3
1.3.1
Der Systemkern
Client-Server Architektur
In Zusammenhang mit SAP-Systemen werden die Begri?e Client und Server zumeist aus softwareorientierter Sicht verwendet. In der softwareorientierten Sicht werden Client und Server jeweils auf Prozessebene (Service) de?niert. Ein
4 entnommen
aus “Aplication Platform Grundlagen”
7
Service ist in diesem Zusammenhang ein Dienst, der von einer Softwarekomponente angeboten wird. Eine Solche Softwarekomponente kann aus einem Prozess (vgl. Workprozess) oder einer Gruppe von Prozessen (vgl. SAP Web Application Server) bestehen, und heißt dann Server f¨r den jeweiligen Dienst. Softwarekomu ponenten die einen Dienst in Anspruch nehmen, werden entsprechend Clients genannt. Die Clients k¨nnen wiederum gleichzeitig Server f¨r bestimmte andere o u Dienste sein. Um eine betriebswirtschaftliche Anwendungssoftware betreiben zu k¨nnen, o werden folgende Prozesse ben¨tigt: o • Pr¨sentationsprozesse - z.B.: zur Aufbereitung der Bildschirmbilder a • Applikationsprozesse - z.B.: zum Ausf¨hren von Anwendungsprogrammen u • Datenbankprozesse - z.B.: zur Verwaltung und Organisation von Daten Im Rahmen der Kon?guration eines SAP-Systems muss die Frage beantwortet werden, wie die ben¨tigten Prozesse auf die zur Verf¨gung stehende Software o u verteilt werden. Je nach Anzahl der verwendeten Rechnerebenen spricht man von ein- oder mehrstu?ger Kon?guration. Bei einer einstu?gen Kon?guration werden alle Verarbeitungsaufgaben (Datenbank-, Applikations- als auch Pr¨sentationsprozesse) von einem Rechner era bracht. Zweistu?ge Kon?gurationen werden typischerweise mit speziellen Pr¨sena tations-Servern realisiert, die ausschließlich f¨r die Aufbereitung der graphischen u Ober?¨che zust¨ndig sind. Bei einer dreistu?gen Kon?guration werden jeweils a a eigene Rechner f¨r die drei Schichten genutzt. Mit den Daten eines Datenbanku Servers k¨nnen viele verschiede Applikationsserver gleichzeitig arbeiten. o Die Bildschirmeingaben eines Benutzers werden vom SAP-Pr¨sentationsproa gramm SAP GUI entgegengenommen in ein geeignetes Format formatiert und an den Web Application Server (softwareorientierte Sicht) geschickt.
Abbildung 2: M¨glichkeiten zur Personalisierung o
8
Der zentrale Prozess des SAP Web Application Server ist der Dispatcher. Er verwaltet in Abstimmung mit dem jeweiligen Betriebssystem die Ressourcen f¨r die in ABAP geschriebene Applikationen. Zu den Hauptaufgaben des Disu patchers geh¨rt die Verteilung der Transaktionslast auf die Workprozesse, die o Anbindung der Pr¨sentationsebene und die Organisation von Kommunikationsa vorg¨ngen. a Die Verarbeitungsanforderungen werden zun¨chst in Request-Queues gespeia chert, die anschließend nach dem Prinzip ”?rst in - ?rst out” abgearbeitet werden. Der Dispatcher verteilt die Requests nacheinander auf freie Workprozesse. Im Workprozess ?ndet die eigentliche Verarbeitung statt, wobei der Benutzer, der die Anforderungen uber das SAP GUI eigegeben hat, nicht immer den ¨ gleichen Workprozess zugewiesen bekommt. Es gibt also keine feste Zuordnung von Workprozessen zu Benutzern. Zur Abarbeitung der Benutzeranforderungen ist es gegebenenfalls notwendig, Daten aus der Datenbank zu lesen bzw. in die Datenbank zu schreiben. Hierzu ist jeder Workprozess direkt mit der Datenbank verbunden. Das gesamte Zusammenspiel der Pr¨sentations, Applikations- und Datena bank ist in der Abbildung (3)5 dargestellt. Am Ende der Verarbeitung gelangt das Verarbeitunsergebnis des Workprozesses uber den Dispatcher an das SAP GUI zur¨ck. Das SAP GUI interpretiert u ¨ die empfangenen Daten und erzeugt in Zusammenarbeit mit dem Betriebssystem des Frontend-Rechners das Ausgabebild f¨r den Benutzer. u Die Pu?er dienen zur schnelleren Bearbeitung der Benutzeranforderungen. Daten die oft gelesen, aber nur selten ge¨ndert werden, k¨nnen als Kopie des a o Datenbankinhaltes im Shared Memory des Applikationsservers gehalten werden.
5 entnommen
aus “Aplication Platform Grundlagen”
Abbildung 3: Verarbeitung einer Benutzeranforderung
9
1.3.2
Pr¨sentations- und Datenbankschnittstelle a
Mit Hilfe der Pr¨sentationsschnittstelle, dem SAP GUI, kann der Anwender in a Interaktion mit dem SAP-System treten und Daten eingeben bzw. sich anzeigen lassen. Das SAP GUI realisiert die gra?sche Bedienober?¨che mit Hilfe der Mittel, a die die jeweilige Pr¨sentationsumgebung zur Verf¨gung stellt. Es orientiert sich a u prim¨r am Windows-Style-Guide und wird auf verschiedenen Plattformen mit a weitestgehend gleicher Funktionalit¨t angeboten. a F¨r die Verwaltung großer Datenmengen werden heute zumeist Relationau le Datenbankmanagementsysteme (RDBMS) verwendet. Diese speichern Daten und Beziehungen zwischen Daten in Form zweidiemensionaler Tabellen. Auf Datenbankebene erfolgt die De?nition von Daten, Tabellen und Tabellenbeziehungen im Datenbankkatalog (Data Dictionary) des RDBMS. Innerhalb der SAP-Programmiersprache ABAP kann mittels SAP Open SQL (Structured Query Language) unabh¨ngig vom jeweiligen RDBMS, auf die Ana wendungsdaten der Datenbank zugegri?en werden. Die Datenbankschnittstelle, wie sie in der Abbildung (4)6 dargestellt ist, ist ein Bestandteil eines jeden Workprozesses des SAP Web Application Server. Sie sorgt f¨r die Umsetzung u der Open SQL-Anweisungen aus ABAP in entsprechende SQL-Anweisungen der speziell verwendeten Datenbank (”Native SQL”). Somit k¨nnen ABAP Proo gramme datenbankunabh¨ngig programmiert werden. a Bei der Interpretation der Open SQL-Anweisungen f¨hrt die SAP-Datenbanku Schnittstelle eine Syntax¨berpr¨fung durch und sorgt automatisch f¨r die optiu u u male Ausnutzung der SAP Pu?er, die lokal im Shared Memory eines jeden SAP Web Application Server liegen. Weiterhin besteht in ABAP die M¨glichkeit direkt ”native” SQL-Befehle o abzusetzen.
Abbildung 4: Ablauf einer Datenbankabfrage
6 entnommen
aus “Aplication Platform Grundlagen”
10
1.3.3
Prozesse des SAP Web Application Server
Das SAP-Laufzeitsystem besteht aus einer Menge parallel, kooperierender Prozesse. Zu diesen Prozessen geh¨rt auf jedem Applikationsserver der Dispatcher o sowie eine von den Ressourcen abh¨ngige Anzahl von Workprozessen: a • Dialog-Workprozesse erledigen alle Auftr¨ge zum Ausf¨hren von Dialoga u schritten, die durch einen aktiven Benutzer ausgel¨st werden. Jeder Diso patcher ben¨tigt mindestens zwei Dialog-Workprozesse. o • Spoolworkprozesse geben sequentielle Datenstr¨me an Drucker weiter. Pro o SAP-System wird mindestens ein Spool-Workprozess ben¨tigt, es ist mehr o als einer pro Dispatcher m¨glich. o • Verbuchungs-Workprozesse f¨hren Verbuchungsauftr¨ge aus. Analog zu u a Spool-Workprozessen wird mindestens ein Verbuchungs-Workprozess pro SAP-System ben¨tigt und es ist mehr als einer pro Dispatcher erlaubt. o • Hintergrund-Workprozesse verarbeiten Programme, die ohne Benutzerinteraktion ausgef¨hrt werden sollen. Pro SAP-System ben¨tigt man minu o destens einen Hintergrund-Workprozess. • Der Enqueue-Workprozess verwaltet die Sperrtabelle im Shared Memory. Die Sperrtabelle enth¨lt die logische Datenbanksperren des SAP-Systems. a Es ist nur ein Enqueue-Workprozess pro System n¨tig. o 1.3.4 Die SAP-Transaktion
Transaktionen sind funktional zusammenh¨ngende Verarbeitungseinheiten. Sie a werden durch vier wesentliche Eigenschaften charakterisiert. Die Anfangsbuchstaben der englischen Buchstaben lassen sich zu einem Akronym ACID zusammensetzen. • atomic - atomar Eine Transaktion gelingt entweder vollst¨ndig oder bleibt ohne Auswira kung. Bei einem Ausfall eines transaktionsorientierten Systems muss also sichergestellt sein, dass niemals inkonsistente Teilergebnisse zur¨ckbleiu ben. • konsistent - consistent Das System wird von einem betriebswirtschaftlich konsistenten, korrekten Zustand in einen (anderen) betriebswirtschaftlich konsistenten, korrekten Zustand uberf¨hrt. u ¨ • isoliert - isolated ¨ Die innerhalb einer Transaktion durchgef¨hrten Anderungen k¨nnen von u o anderen, gegebenenfalls parallel laufenden Transaktionen erst nach dem endg¨ltigen Best¨tigen (”Commit”) gesehen werden (isoliert). u a • dauerhaft - durable Die Ergebnisse einer Transaktion sind dauerhaft, d.h. nach dem endg¨ltiu gen Best¨tigen fest in der Datenbank gespeichert. a 11
Eine Datenbanktransaktion ist gem¨ß ACID-Prinzip eine nicht teilbare Fola ge von Datenbankoperationen, an deren Anfang und Ende ein konsistenter Datenbestand auf der Datenbank stehen muss. Anfang und Ende einer Datenbanktransaktion werden durch einen Commit-Befehl an das Datenbanksystem de?niert. W¨hrend einer Datenbanktransaktion (d.h. zwischen zwei Commit Bea fehlen) sorgt das Datenbanksystem selbst f¨r die Konsistenz des Datenbestands. u Das Datenbanksystem ubernimmt hierbei selbst die Aufgabe, den alten Zustand ¨ nach einem fehlerhaften Abbruch wieder herzustellen. Betriebswirtschaftliche Transaktionen sind funktional zusammengeh¨rige Vero arbeitungseinheiten, die konsistente, betriebswirtschaftlich zul¨ssige Datenbanka a u ¨nderungen durchf¨hren. Typische Beispiele sind Soll- und Habenbuchungen, die nur gemeinsam sinnvoll sind; ebenso bedingen sich das Anlegen eines Auftrags und die Reservierung der betro?enen Materialien gegenseitig. Entsprechend wird eine SAP-Transaktion als unteilbarer Gesch¨ftsprozess, der komplett a oder uberhaupt nicht durchgef¨hrt werden soll, de?niert. Eine SAP-Transaktion u ¨ ist als Folge betriebswirtschaftlich konsistenter, logisch zusammenh¨ngender a Dialogschritte implementiert. Ein Benutzer-Dialogschritt wird jeweils durch ein Bildschirmbild repr¨sentiert. a 1.3.5 Verbuchungsverlauf
In der Kon?guration eines SAP-Systems existieren sowohl Dialog-Work-prozesse als auch mindestens ein Verbuchungs-Workprozess. In den Verbuchungs-Work¨ prozessen wird die Verbuchung, d.h. die Anderung der Eintr¨ge von Datenbanka tabellen, durchgef¨hrt. u Um Datenkonsistenz zu gew¨hrleisten, muss die Verbuchung der Daten einer a SAP-Transaktion entweder ganz oder uberhaupt nicht ausgef¨hrt werden. u ¨ Die asynchrone Verbuchung l¨st die Probleme, die durch unterschiedliche o Bedeutung einer Transaktion auf Datenbankebene und SAP-Ebene verursacht werden. Durch das B¨ndeln der zu einer SAP-Transaktion geh¨renden Verbuu o chungen in einer einzigen Datenbanktransaktion besteht die M¨glichkeit eines o vollst¨ndigen Rollbacks der zu dieser SAP-Transaktion geh¨renden Daten. a o 1.3.6 Berechtigungen
F¨r die Anmeldung am SAP-System ist es notwendig, dass der Benutzer einen u ¨ Benutzerstammsatz besitzt. Uber den Benutzerstammsatz wird festgelegt, welche Rolle der Benutzer im SAP System hat, d.h. welche Aktivit¨ten der Benutzer a im System ausf¨hren darf. Benutzerstamms¨tze sind mandantenabh¨ngig, dieu a a ses bedeutet, dass f¨r jeden Mandaten im System eigene Benutzerstamms¨tze u a angelegt werden m¨ssen. u 1.3.7 Die Begri?serkl¨rung der Benutzerverwaltung a
Da die Begri?e der Benutzerverwaltung sehr ¨hnlich sind und leicht verwechselt a werden k¨nnen, werden sie im folgenden erkl¨rt. o a • Benutzername Der Benutzername ist eine Zeichenfolge, mit der sich eine Person in einem Mandanten des SAP Systems authenti?zieren kann. Unter diesem Benut-
12
zernamen ?nden die Systemaktivit¨ten statt, z.B.: Aufruf einer Transaka tion. • Benutzerstammsatz Der Benutzerstammsatz setzt sich zusammen aus den Benutzernamen und den Benutzerdaten. • Benutzerdaten Die Benutzerdaten sind die Daten, die zu einem bestimmten Benutzernamen geh¨ren. o • Berechtigung Eine Berechtigungen ist die Erlaubnis zur Durchf¨hrung von Aktivit¨ten u a im SAP-System. F¨r verschiedene Aktionen sind unterschiedliche Berechu tigungen notwendig. • Berechtigungspro?l Das Berechtigungspro?l ist eine Sammlung von Berechtigungen. Die SAP bietet eine große Anzahl an Einzel- und Sammelpro?len. • Rolle Die Rolle ist eine funktionale Beschreibung eines SAP-Users mit dem dazugeh¨rigen Berechtigungspro?l und den Men¨eintr¨gen des Benutzermen¨s. o u a u Die Rollen werden im SAP System zentral administriert. Eine Rolle kann mehreren Benutzern zugewiesen werden, ein Benutzer kann mehrere Rollen haben. 1.3.8 Konzept und Ablauf der Berechtigungspr¨ fungen u
Eine Rolle beinhaltet Berechtigungen f¨r das SAP-System und Men¨eintr¨ge u u a f¨r das Benutzermen¨ der Benutzer. Die einzelnen Rollen werden vom Systeu u madministrator erstellt und verwaltet. Wenn einem Benutzer eine Rolle zugeordnet wird, dann wird diese Rolle in seinen Benutzerstammsatz eingetragen und er erh¨lt die Berechtigungen dieser Rolle. Zus¨tzlich werden in seinem Bea a nutzermen¨ die Transaktionen aufgelistet, zu denen er durch diese Rolle Beu rechtigungen hat. Einem Benutzer k¨nnen mehrer Rollen zugeordnet werden. o Bei der Anmeldung des Benutzers am SAP-System werden die Berechtigungen aus den Rollen, die im Benutzerstammsatz hinterlegt sind, in den Benutzerkontext eingetragen. Der Benutzerkontext liegt im Shared Memory des Applikationsservers, auf dem der Benutzer angemeldet ist. Wenn der Benutzer eine Transaktion aufruft, so wird vom Workprozess uber¨ pr¨ft, ob er die Berechtigungen zum Start dieser Transaktion hat. Wenn der u Benutzer keine Berechtigung hat, erh¨lt er eine Fehlermeldung. Hat er die Bea rechtigung, so wird die Maske f¨r diese Transaktion dargestellt. u 1.3.9 Erstellen und P?egen von Benutzerstamms¨tzen a
Das Erstellen und P?egen der Benutzerdaten ?ndet man im Men¨ unter Werku zeuge ->Administration ->Benutzerp?ege ->Benutzer oder man ruft die Transaktion SU01 auf.
13
1.4
1.4.1
Die Workbench
Datenstruktur eines SAP-Systems
SAP-Systeme haben eine spezi?sche Datenstruktur. Neben den betriebswirtschaftlichen Einstellungen (Customizing), die nur f¨r bestimmte Mandanten u des SAP-Systems relevant sind, enth¨lt ein SAP-System immer auch anwena dungs¨bergreifende Einstellungen und Objekte. u Im SAP-System unterscheidet man drei Datenkomponenten: • Ein Mandant ist eine betriebswirtschaftliche, organisatorisch und datentechnisch abgeschlossene Einheit innerhalb des SAP-Systems. Ein Mandant zeichnet sich auch durch ein eigenes betriebswirtschaftliches Datenumfeld, eigene Stamm- und Bewegungs- und eigene Benutzerdaten. Diese Daten eines Mandanten werden als mandantenabh¨ngige Daten a bezeichnet. • Das Customizing eines Mandanten wird bei der Einf¨hrung eines SAPu ¨ Systems festgelegt. Uber Customizing-Einstellungen werden Organisationsstrukturen des Kunden, wie Vetriebswege, Buchungskreise, etc. festgelegt und die SAP-Transaktion so eingestellt, dass sie die kundenspezi?schen Abl¨ufe wiedergeben. Neben den mandantenabh¨ngigen Customizinga a Einstellungen, existieren auch jedoch Einstellungen, die - einmal durhgef¨hrt - f¨r alle Mandanten des SAP-Systems Bedeutung haben (z.B.: u u Einstellung des Feiertagskalenders). • Das Repository, die zentrale Ablage f¨r alle Entwicklungsobjekte der u ABAP-Workbench, ist ebenfalls mandantenabh¨ngig. Es beinhaltet alle a Objekte des Dictionary (Tabellen, Datenelemente, Dom¨nen, etc.) und a dar¨ber hinaus auch alle ABAP-Programme, Men¨s, Bildschrimbilder u u (”Screens”). Aufgrund ihrer Mandantenunabh¨ngigkeit werden die aus eia nem Mandanten heraus entwickelten oder ge¨nderten Repository-Objekte a in allen anderen Mandanten des Systems in identischer Form verwendet. In der Abbildung (5)7 kann man die Datenstruktur mit mandantenabh¨ngia gen, mandantenunabh¨ngigen und Customizing Daten sehen. a Der Anpassungsprozess der SAP-Software an ein konkretes Unternehmen bezeichnet man als Customizing. Dieser Prozess umfasst mandantenabh¨ngige a als auch mandantenunabh¨ngige Einstellungen. a ¨ Anderungen an Repository-Objekten sind nicht unbedingt notwendig, gege¨ benenfalls k¨nnen jedoch einzelne Objekte angepasst werden. Anderungen und o Erweiterungen des Repository sind in unterschiedlicher Form m¨glich: o • Erweiterungen des Repository durch Eigenentwicklungen. Im SAP-System ist es m¨glich, eigene Repository-Objekte wie Tabellen, Programme, o Transaktionen, etc. anzulegen. Alle Entwicklungsarbeiten von Kundenseite geschehen typischerweise im so genannten Kundennamensraum, d.h. alle von Kunden angelegten Objekte haben Namen aus einem vorgegebenen Namensraum, die typischerweise mit den Buchstabe Y oder Z beginnen. Dies gilt f¨r ABAP-Programme, Tabellen, etc. u
7 entnommen
aus “Aplication Platform Grundlagen”
14
• Anpassen des Repository durch Kundenerweiterungen. Hier wird das Repository durch kundeneigene Objekte erg¨nzt. a ¨ • Modi?kationen am SAP-Standard: Anderungen an SAP-Objekten, wie Programme und Tabellende?nitionen werden als Modi?kationen bezeichnet. Das von SAP ausgelieferte Repository wird nicht nur erg¨nzt, sondern a ge¨ndert. Diese Modi?kationen sind beim n¨chsten System-Upgrade bzw. a a beim Einspielen von Support Packages mit dem dann neuen Repository abzugleichen.
2
Module
Wenn eine Firma sich f¨r die Einf¨hrung des SAP Systems entscheidet, muss u u auch die Entscheidung getro?en werden, welche SAP Module erworben werden sollen. Die SAP Module werden in drei Gruppen eingeteilt: Rechnungswesen, Logistik und Personalwirtschaft. Zus¨tzlich gibt es auch Branchenl¨sungen, die a o speziell auf die jeweilige Branche zugeschnitten sind. Im Folgenden werden die wichtigsten Module des SAP R/3 Systems aufgez¨hlt und kurz erkl¨rt. Dies ist a a also keine vollst¨ndige Liste der Module.8 a
2.1
Rechnungswesen
Finanzwesen (FI) Die Komponente Finanzwesen erf¨llt die internationau len Anforderungen, die an ein externes Rechnungswesen einer Unternehmung gestellt werden, uber einen o?enen, integrierten Daten?uss und vereinfacht die ¨ ?nanzwirtschaftliche Entscheidungs?ndung in hohem Maße. Im R/3-System ?nden zwischen den verschiedenen Anwendungen alle Buchungen in Echtzeit statt,
8 Die
Informationen f¨r dieses Kapitel wurden aus http://sap.help.com entnommen. u
Abbildung 5: Die Datenstuktur eines SAP-Systems
15
z.B. zieht eine Buchung im Nebenbuch “Kreditoren” automatisch eine Gegenbuchung im Hauptbuch nach sich. Controlling (CO) Das Controlling stellt Informationen f¨r Entscheidungen u ¨ des Managements bereit. Es dient der Koordination, Uberwachung und Optimierung aller ablaufenden Prozesse innerhalb eines Unternehmens. Dazu werden der Verbrauch an Produktionsfaktoren sowie die vom Unternehmen erbrachten Leistungen erfasst. Projektsysteme (PS) Innerhalb des Projektsystems k¨nnen Projekte abgeo bildet und verwaltet werden. Das Projektsystem bildet dabei sowohl die technische als auch die kaufm¨nnische Sicht auf das Projekt ab. Großangelegte Proa jekte, wie z.B. die Planung einer Messe, erfordern eine genaue Planung der zahlreichen Detailaktivit¨ten. Der Projektverantwortliche muss die termin-, kostena und leistungsgerechte Durchf¨hrung des Projekts sicherstellen und die notwenu digen Ressourcen und Finanzmittel optimal bereitstellen.
2.2
Logistik
Produktionsplanung und Steuerung (PP) Das PP-System deckt s¨mta liche betriebswirtschaftlichen Funktionen im Bereich der Produktionsplanungund -steuerung ab. Die Funktionen der Produktionsplanung und -steuerung bieten eine komplexe L¨sung, um sowohl das Produktionsprogramm (Art und Meno ge der Erzeugnisse) als auch die Fertigung zu planen. Die unmittelbare Vorbereitung der Fertigung schließt die Bescha?ung, Lagerung und den Transport von Materialien und Zwischenprodukten ein. Vertrieb (SD) Das Vertriebssystem Sales and Distribution stellt eine branchenneutrale Gesamtl¨sung f¨r die Aufgaben des Verkaufs, des Versands und o u der Fakturierung dar. SD ist als integrierter Baustein des R/3-Systems in den gesamten betriebswirtschaftlichen Ablauf integriert und setzt sich aus folgenden zentralen Komponenten zusammen: Vertriebsunterst¨tzung, Verkauf, Versand, u Transport, Außenhandel und Fakturierung. Dieses Modul wird im Kapitel 3 genauer beschrieben. Materialwirtschaft (MM) Die Komponente Materialwirtschaft besteht im wesentlichen aus den Teilkomponenten Einkauf, Bestandsf¨hrung, Lagerverwalu tung und Rechnungspr¨fung. Mit dem Einkaufssystem k¨nnen Bedarfe an Mau o terialien oder Dienstleistungen, weitgehend automatisch in Bestellungen umgesetzt werden. Der Eink¨ufer muss nur in Ausnahmef¨llen eingreifen. Mit a a der Bestandsf¨hrung erfolgt die Abbildung der physischen Best¨nde durch die u a Echtzeit-Erfassung aller bestandsver¨ndernden Vorg¨nge und die daraus resula a tierenden Bestandsfortschreibungen. Qualit¨tsmanagement (QM) Die Anwendungskomponente Qualit¨tsmaa a nagement unterst¨tzt die Aufgaben der Qualit¨tsplanung, Qualit¨tspr¨fung und u a a u Qualit¨tslenkung. Mit den Funktionen des Moduls Qualit¨tsmanagement kann a a
16
man die wesentlichen Elemente eines QM-Systems, z.B. nach ISO 9000, verwirklichen. Andere im R/3-System integrierte Module (z.B. MM, SD, PP) erg¨nzen a diese Funktionen. Instandhaltung (PM) Die Komponente beinhaltet die Funktionen f¨r die u Instandhaltung; d.h. die Inspektion, die Wartung und die Instandsetzung. Die Instandhaltungsabwicklung umfasst mehrere Stufen, die jedoch nicht alle zwingend und in vollem Umfang durchlaufen werden m¨ssen. u
2.3
Personalwirtschaft
Das System Human Resources besteht im wesentlichen aus den Komponenten Personalmanagement, Personalzeitwirtschaft und Personalabrechnung. Aus diesen Komponenten k¨nnen die Daten in FI und in CO ubergeben werden. Leio ¨ stungsdaten k¨nnen ber R¨ckmeldungen online in PP und CO gebucht werden. o u
3
Prozesse im Vetrieb
Dieses Kapitel besch¨ftigt sich mit dem Modul Vetrieb. Es beschreibt die Proa zesse, die im Vertrieb ablaufen, und die Daten die in Prozessen verarbeitet werden.9
3.1
Unternehmensstruktur im Vetrieb
Die De?nition der Organisationsstruktur im R/3-System ist ein wichtiger Schritt. Daf¨r ist eine genaue Analyse der Gesch¨ftsprozesse im Unternehmen erforderu a lich. F¨r die Abbildung der Struktur einer Unternehmensorganisation stehen dem u Benutzer im R/3-System Organisationseinheiten zur Verf¨gung. Eine Organiu sationseinheit kann eine organisatorische und/oder eine juristische Gegebenheit in einem Unternehmen darstellen. Das Vertriebsmodul nutzt eine Reihe von Organisationseinheiten, die ausschließlich zur Abbildung des Vetriebs vorgesehen sind, wie z.B. Verkaufsorganisation, Vetriebsweg und Sparte. Im Modul Vertrieb unterscheidet man zwischen folgenden Organisationseinheiten: • Buchungskreis • Vertriebsbereich – Verkaufsorganisation – Vertriebsweg – Sparte • Werk • Lagerort • Versandstelle
9 Die
Informationen f¨r dieses Kapitel wurden aus “Prozesse im Vertrieb” entnommen. u
17
Buchungskreis Der Buchungskreis ist die kleinste organisatorische Einheit des externen Rechnungswesens. Der Buchungskreis ist eine rechtlich selbstst¨ndia ge und bilanzierende Einheit. Ein Buchungskreis kann z.B. ein Unternehmen innerhalb einer Konzerns oder eine Tochtergesellschaft sein. Verkaufsorganisation Die Verkaufsorganisation ist eine organisatorische Einheit der Logistik, die das Unternehmen nach den Erfordernissen des Vertriebs gliedert. Eine Verkaufsorganisation ist verantwortlich f¨r den Vetrieb von Mateu rialien und Dienstleistungen. Mit Hilfe der Verkaufsorganisation kann man eine regionale, nationale oder internationale Gliederung des Marktes ber¨cksichtiu gen. Eine Verkaufsorganisation muss eindeutig einem Buchungskreis zugeordnet werden. F¨r eine Verkaufsorganisation p?egt man eigene Stammdaten. u Vetriebsweg Der Vertriebsweg kennzeichnet den Weg, auf dem verkaufsf¨hige a Materialien oder Dienstleistungen zum Kunden gelangen. Verkaufsorganisationen k¨nnen mehrere Vertriebswege zugeordnet werden. Beispiele f¨r Vetriebso u wege sind Großhandel, Einzelhandel, Internethandel, . . . Sparte Mit der Sparte kann man Materialien und Dienstleistungen gruppieren. Einer Verkaufsorganisation k¨nnen mehrere Sparten zugeordnet werden, o f¨r die sie zust¨ndig ist. Eine Sparte kann z.B. eine bestimmte Produktgruppe u a abbilden. Vetriebsbereich Der Vetriebbereich ist, wie man in der Abbildung (6)10 sehen kann, eine Kombination von Verkaufsorganisation, Vetriebsweg und Sparte. Er legt fest uber welchen Vertriebsweg eine Verkaufsorganisation Produkte einer ¨ Sparte vertreiben kann. Jeder Vetriebsbeleg ist genau einem Vertriebsbereich zugeordnet. Ein Vertriebsbereich kann nur zu einem Buchungskreis geh¨ren. Bei o der Bearbeitung von Vertriebsbelegen werden abh¨ngig vom Vertriebsbereich a auf verschiedene Stammdaten zugegri?en werden. Dazu geh¨ren z.B. Kundeno stammdaten, Materialstammdaten, Preise und Rabatte. Werk, Lagerort Das Werk ist ein Ort mit Materialbestand. Ein Werk kann z.B. eine Produktionsst¨tte im R/3-System abbilden. a Werk und Lagerort sind organisatorische Einheiten, die von allen logistischen Bereichen des R/3-Systems genutzt werden k¨nnen: o • Die Materialwirtschaft konzentriert sich haupts¨chlich auf den Materiala ?uss. Aus Sicht der Materialwirtschaft ist ein Werk in erster Linie ein Ort mit Materialbestand. • In der Produktion kann ein Werk eine Fertigungseinrichtung abbilden. • Im Vertrieb stellt das Werk denjenigen Ort dar, von dem Materialien und Dienstleistungen ausgeliefert werden und entspricht somit einem Verteilerzentrum. Im Vertrieb spielt das Werk eine zentrale Rolle
10 entnommen
aus “Prozesse im Vertrieb”
18
• Um das Vertriebsmodul nutzen zu k¨nnen muss mindestens ein Werk ano gelegt werden. • Ein Werk muss eindeutig einem Buchungskreis zugeordnet werden. Versandstelle Der Versand ist ein integrierter Baustein der Vertriebsabwicklung. Die Versandstelle ist die h¨chste organisatorische Einheit des Versands o und ist f¨r die Steuerung der Versandaktivit¨ten verantwortlich. Die organisau a torische Zuordnung der Versandstelle im R/3-System erfolgt uber das Werk. Die ¨ Versandstelle kann z.B. eine Lkw-Laderampe, oder Poststelle oder ein G¨teru bahnhof sein.
3.2
Prozesse im Vetrieb
Eine e?ektive Abwicklung von Kundenauftr¨gen bindet alle Vertriebsaktivit¨ten a a in eine Kette eng integrierter Prozesse ein. Der R/3-Vetriebsprozess beginnt mit dem Aufbau und der P?ege von Kundenbeziehungen und endet mit der Fakturierung der gelieferten Waren oder erbrachten Leistungen an den Kunden. 3.2.1 Vorverkaufsaktivit¨ten a
Unter Vorverkaufsaktivit¨ten versteht man den Aufbau und die P?ege von Kuna denbeziehungen. Die Vorverkaufsaktivit¨ten umfassen das Erfassen und Verfola gen von Kundenkontakten, Mailing-Aktionen, das Beantworten von telefonischen Kundenfragen, . . . 3.2.2 Auftragsbearbeitung
Die Mitarbeiter der Abteilung Kundenservice nehmen schriftliche und telefonische Auftr¨ge entgegen. Ein Kundenauftrag ist ein elektronischer Beleg, in a dem die vom Kunden bestellten Waren oder Dienstleistungen erfasst werden. Terminauftr¨ge enthalten normalerweise: a
Abbildung 6: Der Vertriebsbereich
19
• Informationen uber den Kunden und uber die Ware ¨ ¨ • Preisinformationen zu allen Positionen • Informationen zu Lieferterminen und Liefermengen • Informationen f¨r die Versandabwicklung u • Informationen f¨r die Fakturierung u Auftrag anlegen Ein Verkaufsbeleg wird immer innerhalb eines Vertriebsbereichs angelegt. Ein Auftrag bezieht sich auf einen oder mehrere Angebote. Struktur des Verkaufsbelegs Ein Verkaufsbeleg ist in drei Ebenen Kopf, Positionen und Einteilung gegliedert. • Kopf des Verkaufsbelegs Die Daten des Belegkopfes gelten f¨r den gesamten Beleg. u • Positionen Jede Position im Verkaufsbeleg enth¨lt eigene Daten. Dazu geh¨ren z.B. a o Angaben zum Material. Jeder Verkaufsbeleg kann mehrere Positionen haben. • Einteilung der Belegpositionen Einteilungen enthalten Liefermengen und Liefertermine. Sie geh¨ren eino deutig zu einer Position. Jede Position, welche im weiteren Vertriebsprozess eine Auslieferung nach sich ziehen soll, muss mindestens eine Einteilung besitzen. 3.2.3 Bescha?ung
In diesem Prozessschritt des Vertriebs wird die Verf¨gbarkeit der bestellten Wau re gepr¨ft und der Bedarf an die Disposition ubergeben. Die Disposition organiu ¨ siert und uberwacht den eigentlichen Bescha?ungsprozess. Die Art und Weise, ¨ wie ein Material f¨r einen Kundenauftrag bescha?t wird, kann unterschiedlich u sein. Beispielsweise kann die Bescha?ung aus dem verf¨gbaren Bestand erfolgen, u durch Nachschub sichergestellt werden, . . . 3.2.4 Versand
Mit dem Anlegen des Lieferbelegs beginnt die Versandabwicklung im Vertrieb. Der Lieferbeleg steuert, unterst¨tzt und uberwacht s¨mtliche Teilprozesse der u a ¨ Versandabwicklung, wie z.B. das Kommissionieren, Verpacken, . . . Beim Anlegen des Lieferbelegs werden Daten, wie die Materialien und die best¨tigten Mena gen, aus dem Kundenauftrag ubernommen. Beim Anlegen des Transportauftrags ¨ werden Daten aus der Auslieferung in den Transportauftrag ubernommen und ¨ von der Lagerverwaltung weiter verarbeitet.
20
Auslieferung anlegen Eine Auslieferung wird innerhalb einer Versandstelle f¨r Auftr¨ge angelegt, die zur Auslieferung f¨llig sind. Die relevanten Daten weru a a den aus dem Auftrag in die Auslieferung kopiert. Man kann aus einem Auftrag eine oder mehrere Auslieferungen anlegen. Umgekehrt kann man Positionen aus mehreren Auftr¨gen in eine Auslieferung zusammenf¨hren. a u Struktur des Lieferbelegs Ein Lieferbeleg hat zwei Ebenen: Kopf und Positionen. • Kopf des Lieferbelegs Die Daten des Belegkopfes gelten f¨r den gesamten Beleg, dazu geh¨ren u o z.B. Daten zum Warenempf¨nger. a • Position des Lieferbelegs Jede Position im Lieferbeleg enth¨lt eigene Daten, dazu geh¨ren z.B. Ana o gaben zum Material, zu lieferf¨lligen Mengen, . . . a Kommissionieren Man legt einen Transportauftrag f¨r eine Auslieferung an. u Ein Transportauftrag wird f¨r eine Lagernummer erstellt. Das R/3-System kann u mehrere Auslieferungen in eine Gruppe von Transportauftr¨gen zusammenfasa sen, sofern diese Auslieferungen die gleiche Lagernummer haben. Warenausgang buchen tisch: Beim Buchen des Warenausganges werden automa-
• die Mengen in der Bestandsf¨hrung und die Lieferbedarfe der Disposition u aktualisiert • die Wert¨nderung in den Bestandskonten der Materialbuchhaltung vera bucht • weitere Belege f¨r das Rechnungswesen vom System erzeugt, z.B. f¨r das u u Controlling • der Status in allen zugeh¨rigen Vertriebsbelegen aktualisiert o 3.2.5 Fakturierung
Beim Anlegen der Faktura werden Daten aus dem Kundenauftrag und der Auslieferung in die Faktura ubernommen. Die Faktura hat mehrere wichtige Funk¨ tionen. Einerseits ist sie der Vertriebsbeleg, der den Benutzer bei der Erstellung von Rechnungen unterst¨tzt; andererseits dient sie als Datenquelle f¨r das u u Finanzwesen, um den User bei der Zahlungs¨berwachung und -abwicklung zu u unterst¨tzen. Wenn man eine Faktura anlegt, werden ublicherweise die Sachkonu ¨ ten automatisch eingetragen. Dabei f¨hrt das R/3-System eine Sollbuchung auf u dem Forderungskonto des Kunden und eine Habenbuchung auf dem Erl¨skonto. o
21
Faktura anlegen Man kann eine Rechung f¨r eine einzelne Auslieferung oder u einen einzelnen Kundenauftrag anlegen. Man kann Rechnungen mit Hilfe von Selektionskriterien wie Kunde, Fakturadatum und Empfangsland zusammenfassen. Ein Fakturabeleg ist in die beiden Ebenen Kopf und Position strukturiert. Beim Sichern eines Fakturabelegs erzeugt das System automatisch alle erforderlichen Belege f¨r das Rechnungswesen. Dabei f¨hrt das R/3-System in u u der Buchhaltung eine Sollbuchung auf dem Forderungskonto und eine Habenbuchung auf dem Erl¨skonto aus. Weiterhin werden beim Buchen des Fakturao belegs: • der Status in allen zugeh¨rigen Verkaufs-, Liefer- und Fakturabelgen ako tualisiert. • die Vertriebsstatistik im Vertriebsinformationssystem fortgeschrieben • das Kreditkonto des Kunden fortgeschrieben 3.2.6 Beleg?uss
Die Belege innerhalb eines Vertriebsprozesses sind uber den Beleg?uss mitein¨ ander verkn¨pft. Man kann sich den Beleg?uss als Liste der miteinander veru kn¨pften Belege anzeigen lassen. Aus dieser Liste k¨nnen die betro?enen Belege u o angezeigt werden oder Status¨bersichten zu den Belegen aufgerufen werden. Der u Beleg?uss wird auf der Ebene des Belegkopfes und der Belegpositionen fortgeschrieben. 3.2.7 Zahlung
Die Zahlung ist ein Prozess, welcher zum Anwendungsmodul Finanzwesen geh¨rt. o Die Zahlung unterst¨tzt das Buchen von Zahlungen aufgrund von Rechungen u und die Kl¨rung von Abweichungen. a In der Abbildung (7)11 werden die Teilprozesse der Kundenauftragsabwicklung des R/3-Systems miteinander in Beziehung gebracht. Die Reihenfolge der Bl¨cke von oben nach unten stellt den ublichen zeitlichen Ablauf im Vertriebo ¨ sprozess dar. Die Abschnitte auf der rechten und linken Seite der Gra?k stellen die wichtigen Schnittstellen zwischen dem Vertrieb und dem Vertriebsinformationssystem (Data Warehouse von SAP), der Materialwirtschaft und der Produktionsplanung dar.
4
ABAP
Die Sprache ABAP (Advanced Business Application Programming) ist die eigene Programmiersprache der SAP. Ein Großteil der betriebswirtschaftlichen Anwendungen eines SAP-Systems ist in ABAP geschrieben. Ein ABAP-Programm besteht aus einzelnen Anweisungen. Jede Anweisung beginnt mit einem Schl¨sselu wort und endet mit einem Punkt.12
11 entnommen 12 Dieses
aus “Prozesse im Vertrieb” Kapitel basiert auf den ABAP-Schulungsunterlagen.
22
Aus ABAP Programmen heraus ist es uber spezielle Befehle oder Schl¨sselu ¨ w¨rter m¨glich, Selektionsbilder zu erzeugen, Listen zu drucken oder auf Tabelo o leninhalte zuzugreifen. Der Zugri? auf die Datenbank erfolgt aus ABAP heraus im Allgemeinen uber ¨ Open-SQL-Befehle. Open SQL besteht aus einer Menge von ABAP-Anweisungen, die Operationen auf der zentralen Datenbank des SAP-Systems durchf¨hren. u Das Ergebnis dieser Operationen und etwaige Fehlermeldungen sind vom verwendeten Datenbanksystem unabh¨ngig. Das macht die Programmentwicklung a unabh¨ngig vom jeweils verwendeten Datenbanktyp. a Ausgew¨hlte charakteristische Eigenschaften der Sprache ABAP sind: a • Mehrsprachigkeit (durch getrenntes speichern von Textelementen wie Listen¨berschriften, Texten zu Eingabefeldern,. . . ) u • M¨glichkeit der einfachen und e?ektiven Entwicklung gra?scher Benuto zungsober?¨chen (mit Hilfe des Screen Painter) a • M¨glichkeit der objektorientierten Programmierung (”ABAP Objects”) o • Plattformunabh¨ngigkeit (durch Verwendung von Open SQL und Nutzung a der Datenbankschnittstelle) • e?zienter Zugri? auf Datenstrukturen (Tabellen, Datenelemente)
4.1
Der Ablauf eines ABAP Programms
Wenn man den Ablauf des ABAP Programms von der Client/Server Sicht betrachtet13 , so ?ndet auf der Pr¨sentationsserver-Schicht die Darstellung des a
13 siehe
Kapitel 1.3.1
Abbildung 7: Der Beleg?uss
23
Bildschirmbildes statt. Das ABAP-Laufzeitsystem und somit auch das ABAPProgramm sind auf dem Applikationsserver. Die unterste Schicht ist die Datenbank, die abh¨ngig vom jeweiligen Programm f¨r die Ausf¨hrung notwendig a u u sein kann. Den Anwender interessiert sein betriebswirtschaftlicher Ablauf und wie er die zugeh¨rigen Daten eingeben kann oder zur Ausgabe bekommt. Weniger intereso sant ist, ob dazu ein Programm abl¨uft oder implizit mehrere Programme gerua fen werden oder ob es technische Unterschiede zwischen den Bildschirmbildern gibt. F¨r den Anwender stellt also das R/3-System mit Applikations-Servern u und Datenbank eine Black Box dar.
Abbildung 8: Das Zusammenspiel zwischen Serverebenen
F¨hrt der Anwender eine Benutzeraktion aus (z.B. die Entertaste, eine Funku tionstaste, eine Men¨funktion oder eine Drucktaste), so wechselt die Kontrolle u vom Pr¨sentatations-Server an den Applikationsserver, und gewisse Teile des a ABAP-Programms werden verarbeitet. Wird aus dem ABAP-Programm ein weiterer Benutzerdialog angestoßen, so wird ein Bildschirmbild zum Pr¨sentatia onsserver gesendet und die Kontrolle wechselt zum Pr¨sentationsserver. Dieses a Wechselspiel zwischen unterschiedlichen Serverebenen kann man der Abbildung (8)14 entnehmen.
4.2
4.2.1
Einfuhrung in die ABAP Workbench ¨
Die ABAP Workbench und das Repository
Die ABAP Workbench ist die integrierte gra?sche Entwicklungsumgebung des SAP-Systems. Sie unterst¨tzt unter anderem die Entwicklung, das Testen und u die Verwaltung von in ABAP geschriebenen Anwendungen. Mit der ABAP Workbench werden die Anwendungsprogramme geschrieben. Die Workbench ist eine gra?sche Programmierumgebung. In der Workbench k¨nnen Programmierwerkzeuge aufgerufen werden. Eine ABAP Anwendung ist o z.B. eine Transaktion oder ein Report.
14 entnommen
aus “ABAP Schulung”
24
Im SAP Easy Access ?ndet man die Werkzeuge unter Werkzeuge ->ABAP Workbench ->Entwicklung. Von dort aus hat man unter anderem Zugri? auf • den ABAP Editor (Transaktion SE38) zum Schreiben von ABAP Programmen • das ABAP Dictionary (Transaktion SE11) zur De?nition und Beschreibung von Tabellen, Datenelementen, Sperrelementen usw. • den Screen Painter (Transaktion SE51, im Unterverzeichnis Ober?¨che) a zur Erstellung interaktiver Bedienober?¨che. a • den Function Builder (Transaktion SE37) zur Erstellung und Verwaltung von Funktionsbausteinen (dies sind St¨cke gekapselten ABAP-Codings u mit de?nierten Ein- und Ausgabeschnittstelle).
Abbildung 9: Ausgew¨hlte Werkzeuge der ABAP Workbench a Die Werkzeuge der ABAP-Workbench sind in der Abbildung (9)15 abgebildet. Bei der Arbeit in der Workbench stoßt man auf Entwicklungsobjekte und Pakete: • Entwicklungsobjekte sind Objekte, die mit Hilfe der ABAP Workbench bearbeitet werden k¨nnen, z.B. Reports oder Transaktionen. o • Ein Paket fasst logisch zusammenh¨ngende Entwicklungsobjekte zusama men, beispielsweise alle Objekte einer Anwendung
15 entnommen
aus “Aplication Platform Grundlagen”
25
Um die Entwicklungsprozesse in der integrierten Umgebung der ABAP Workbench zu organisieren, bietet SAP den Object Navigator (Transaktion SE80, ¨ Men¨pfad Werkzeuge ->ABAP Workbench ->Ubersicht ->Object Navigator ) an. u Hiermit erh¨lt man einen ubersichtlichen und einheitlichen Zugang zu Repositorya ¨ Objekten. Anstatt mit Werkzeugen und Paketen zu arbeiten, arbeitet man im Object Navigator mit Objekten, und die Workbench ruft f¨r jedes Objekt das u entsprechende Werkzeug auf. Die Datenbank enth¨lt sowohl Anwendungs- und Customizing-Tabellen, die a in der Regel mandantenabh¨ngig sind, als auch das Repository. Das Repository a enth¨lt alle Entwicklungsobjekte (Programme, De?nitionen von Datenbanktaa belle und zentrale Typen). Die Repository-Objekte sind mandantenunabh¨ngig, a sie sind also in allen Mandanten sichtbar und verwendbar. Das Repository ist nach Anwendungen untergliedert. Innerhalb einer Anwendung existieren zur logischen Unterteilung mehrere Entwicklungsklassen. Die Struktur des Repository ?ndet man unter der Anwendungshierarchie ¨ (Werkzeuge ->ABAP Workbench ->Ubersicht ->Anwendungsshierachie oder Trans¨ aktion SE81). Uber das Repository Infosystem (Werkzeuge ->ABAP Work¨ bench ->Ubersicht ->Infosystem oder Transaktion SE84) kann man gezielt nach Repository-Objekten suchen. Es stehen f¨r verschiedene Repository-Objekte geu eignete Suchkriterien zur Verf¨gung. u 4.2.2 Analysieren eines vorhandenen Programms
Funktonsumfang ermitteln: Programm ausf¨ hren Es gibt verschiedene u M¨glichkeiten, ein Programm zu starten. Die erste M¨glichkeit ist aus “SAP o o Easy Access’; wenn man ein Programm oft verwendet kann man es in seine Favoritenliste aufnehmen. W¨hlt man einen Eintrag im Baum aus, so kann a ¨ man das zugeh¨rige Programm uber das Kontextmen¨ starten. Uber Zus¨tze o u a ¨ >Einstellungen und Ankreuzen von “Technische Namen anzeigen” kann man die technischen Transaktionscodes im Baum anzeigen lassen. Der Transaktionscode ist auch die zweite Art ein Programm auszuf¨hren. Ein Programm kann man u auch uber den Men¨eintrag im Object Navigator starten. u ¨ ¨ Uber Ausf¨hren des Programms kann man den Funktionsumfang ermitu teln. Zu einem beliebigen Bildschirmbild kann man Informationen uber den ¨ Programmnamen und die Bildnummer des Bildschirmbildes erhalten uber den ¨ Men¨pfad System ->Status. Zu einem beliebigen Feld des Bildschirmbildes kann u man Informationen uber den Feldnamen und Feldtyp erhalten uber F1->Tech¨ ¨ nische Info. ¨ Statische Analyse: Objektliste Einen Uberblick uber die Programmob¨ jekte erh¨lt man uber die Objektliste des Programms im Navigations-Bereich a ¨ des Object Navigators. Um die Objektliste zu einem Programm anzuzeigen, muss man im oberen Eingabefeld “Programm” w¨hlen und im unteren Eingaa ¨ befeld den Programmnamen eingeben. Uber die Ikone mit der Brille oder die Enter-Taste erh¨lt man die Objektliste. In dem Hierarchiebaum erscheinen nur a diejenigen Objektarten, zu denen Objekte vorhanden sind. Zu jedem Objekt der Objektliste kann man eine Umfeldermittlung durchf¨hren. Daf¨r muss man u u “Verwendungsnachweis” im Kontextmen¨ des gew¨nschten Objektes w¨hlen. u u a Man bekommt eine Liste mit allen Stellen an denen das Objekt verwendet wird.
26
¨ Uber Doppelklick kann man zu einem Eintrag der Liste zur Anzeige der Verwendungsstelle navigieren. Dynamische Analyse: Debugging Modus Es gibt mehrere M¨glichkeio ten, ein Programm im Debugging Modus zu starten, ohne das Programm zu ver¨ndern: a ¨ • Uber das Kontextmen¨ zu einem Programmnamen in der Objektliste des u Programms: Ausf¨hren ->Debugging u ¨ • Uber einen Haltepunkt im Editor: Mann kann gezielt eine Programmstelle ausw¨hlen, an der das Laufzeitsystem in den Debuggingmodus umschala ten soll. Daf¨r muss man die gew¨nschte Zeile markieren und die Ikone u u mit dem STOP-Zeichen w¨hlen. Anschließend muss das Programm uber a ¨ Ausf¨hren ->Direkt oder F8 gestartet werden. u Startet man ein Programm im Debugging Modus, so kann man uber die ¨ Ikone “Einzelschritt” zeilenweise das Programm ausf¨hren. u Zur Laufzeit kann auch in den Debugging Modus umgeschaltet werden (System ->Hilfsmittel ->Debugging ABAP). Die zweite M¨glichkeit in den Debugo ging Modus zu kommen, ist die Eingabe von /h in das Befehlsfeld der Symbolleiste und Enter. Die allgemeine ABAP-Syntax folgende Regeln: F¨r die allgemeine ABAP-Syntax gelten u
• Ein ABAP Programm besteht aus einzelnen S¨tzen (Anweisungen). a • Jeder Satz muss mit einem Punkt abgeschlossen werden. • Das erste Wort innerhalb eines Satzes ist ein Schl¨sselwort. u • S¨tze d¨rfen einger¨ckt werden. a u u • S¨tze d¨rfen sich uber mehrere Zeilen erstrecken. a u ¨ • Mehrere S¨tze in einer Zeile sind m¨glich. a o • Aufeinanderfolgende S¨tze mit identischem Anfang k¨nnen zu einem Keta o tensatz zusammengefasst werden. Dabei muss der identische Satzanfang mit einem Doppelpunkt abgeschlossen werden. Die geketteten Satzteile m¨ssen durch ein Komma getrennt werden. Vor und hinter dem Trennzeiu chen (Doppelpunkt, Komma, Punkt) k¨nnen Leerzeichen stehen. o Das Beispielprogramm REPORT erster_report. WRITE ’Mein erster ABAP Report.’.
27
enth¨lt zwei Anweisungen, jede in einer Zeile. Die Schl¨sselw¨rter sind REa u o PORT und WRITE. In diesem Fall enth¨lt die Liste die Zeile ”Mein erster a ABAP Report.” Zu einer ABAP-Anweiseung kann man sich die Schl¨sselwort-Dokumentation u anzeigen lassen. Wenn der Cursor auf einem Schl¨sselwort steht, bekommt man u mit F1 die Dokumenation. Die andere M¨glichkeit ist uber die Informations o ¨ Ikone die Schl¨sselwort-Dokumentation f¨r den entsprechenden ABAP-Begri? u u zu bekommen. Mit dem Doppelklick auf einen Tabellennamen oder Feldnamen im Editor bekommt man detaillierte Informationen zu den Einzelobjekten. Mit einem Stern (*) in der ersten Spalte kann eine ganze Zeile als Kommentar gekennzeichnet werden. Will man nur den Rest einer Zeile als Kommentar kennzeichnen, erreicht man das mit Anf¨hrungszeichen (“). u Wenn man ein Programm (oder allgemeiner: ein Entwicklungsobjekt) anlegt oder ¨ndert und dann sichert, wird zun¨chst immer nur eine inaktive Version im a a Repository abgelegt. So ist es m¨glich, weiter zu entwickeln, ohne den aktuellen o Systemzustand zu ¨ndern. a Damit ein Repository-Objekt systemweit verf¨gbar ist, muss es zus¨tzlich u a noch ”aktiviert” werden. Diese somit erzeugte aktive Fassung des Programmes wird herangezogen, wenn zum Beispiel ein Anwender das Programm ausf¨hren u m¨chte. o
4.3
4.3.1
ABAP-Anweisungen und Datendeklarationen
Die ABAP-Typen
Die Typen beschreiben Eigenschaften von Ein- und Ausgabefeldern von Bildschirmobjekten, Datenobjekten und Schnittstellen-Parametern. Die Typen k¨nnen programmlokal oder zentral de?niert werden. Programmo lokale Typen werden verwendet wenn nur technische oder keine semantischen Eigenschaften ben¨tigt werden und wenn die Typen nur programmlokal verweno det werden. Die zentralen Typen (=ABAP-Dictionary-Typen) werden ben¨tigt, o wenn die Typen auch außerhalb des Programms gebraucht werden, oder wenn auch semantische Informationen ben¨tigt werden (z.B. auf Bildschirmbildern o mit Ein-/ und Ausgabefeldern). Im ABAP-Dictionary weden sowohl globale Typen de?niert als auch die Beschreibung von Datenbanktabellen verwaltet. F¨r globale Typen gibt es folgende u M¨glichkeiten: o • Elementare Typen heißen Datenelemente. Sie beinhalten die vollst¨ndia ge Beschreibung der technischen Eigenschaften eines elementaren Feldes (Technischer Typ, L¨nge, Anzahl der Nachkommastellen) und semantische a Information (Feldbezeichner, Felddokumentation, Suchhilfe). • Strukturtypen • Strukturtypen heißen im Regelfall Strukturen. Sie k¨nnen aus elemeno taren Komponenten bestehen. Eine Komponente kann aber auch einen strukturierten Typen haben. Dadurch sind beliebige geschachtelte Typen konstruierbar. • Tabellentypen sind Typen f¨r interne Tabellen. u
28
¨ Uber das Repository Infosystem kann man nach ABAP-Dictionary-Typen suchen. Im Regelfall wird ein Datenobjekt mit einem vollst¨ndigen programmlokalen a oder einem vollst¨ndigen globalen Typ typisiert. Der Doppelklick auf den Namen a des lokalen Typs f¨hrt den Benutzer zur De?nitionsstelle des Typen. Globale u Typen m¨ssen im Dictionary gesucht werden. u Vollst¨ndig eingebaute ABAP-Typen k¨nnen direkt zur Typisierung von Vaa o riablen verwendet werden. In diesem Fall bleibt Doppelklick auf den Typ wirkungslos. Informationen uber eingebaute ABAP-Typen erh¨lt man uber das a ¨ ¨ Schl¨sselwort-Dokumenatation zu TYPES oder DATA. u Die folgenden eingebauten ABAP-Typen sind vollst¨ndig: a • d - Datum (Daten: YYYYMMDD) • t - Zeitpunkt (Time: HHMMSS) • i - ganze Zahl (Integer) • f - Gleitpunktzahl (Floating Point) • string - Zeichenfolge (String, L¨nge variabel) a • xstring - Bytefolge (heXadecimal-String, L¨nge variabel) a Bei folgenden eingebauten Typen muss die L¨nge erg¨nzt werden: a a • c - Zeichen (Character) • n - Numerischer Text (Numerical Character) • x - Byte (heXadecimal) • p - gepackte Zahl (Packed numbers = Binary Coded Decimals), hier ist zus¨tzlich die Anzahl an Nachkommastellen anzugeben. a 4.3.2 Die Datenobjekte
Elementare Datenobjekte Datenobjekte kann man einem Typ zuordnen, indem man sich auf einen eingebauten ABAP-Typ, einen benutzerde?nierten Typ oder einen ABAP-Dictionary-Typ bezieht. Bsp.: DATA: <varname> TYPE < type>. Die zweite M¨glichkeit ist, die Deklaration LIKE zu verwenden. Bezieht sich o eine Variable v2 mit LIKE auf die Variable v1 (DATA v2 LIKE v1), so erbt sie den Typ von v2. Bsp.: DATA: <varname> LIKE < data object>. Ein elementares Datenobjekt kann folgendermaßen de?niert werden: • DATA: <type name> TYPE <prede?ned ABAP Type>. falls man ein Datenobjekt der Typen d, t, i, f, string oder xstring ben¨tigt. Diese eingebauten ABAP Typen sind vollst¨ndig. o a
29
• TYPES <type name> (<length>) TYPE <predi?ned ABAP Type>. DATA <do name> TYPE <type name>. falls man ein Datenobjekt der Typen c, n, p oder x ben¨tigt. F¨r diese o u Typen muss die L¨nge festgelegt werden. F¨r den Typ p kann zus¨tzlich a u a noch die Anzahl der Nachkommastellen mit DECIMALS <nn> de?niert werden. • DATA: <do name> TYPE <global Type>. falls ein passender globaler Typ im Dictionary de?niert ist. F¨r die Fallunterscheidung stellt ABAP die IF und CASE-Abfragen zur u Verf¨gung. u CASE <data object 1>. WHEN <data object 2>.
<
Anweisung 1>. Anweisung 2>.
WHEN <data object 3>.
<
... WHEN OTHERS.
<
Anweisung x>.
ENDCASE. Von den angef¨hrten Anweisungsfolgen wird genau eine verarbeitet. Die Anu gabe von WHEN OTHERS ist optional. IF <logical expression 1>.
<
Anweisung 1>. Anweisung 2>.
ELSEIF <logical expression 2>.
<
... ELSE.
<
Anweisung 3>.
ENDIF. Die Anweisungen ELSE und ELSEIF sind optional. Wenn der logische Ausdruck erf¨llt ist, wird die anschließende Anweisungsfolge ausgef¨hrt. Ist der u u logische Ausdruck nicht erf¨llt, so wird der ELSE- bzw. ELSEIF-Teil verarbeiu tet. Ist keine ELSE-bzw. keine weitere ELSEIF-Anweisung vorhanden, so wird die Programmverarbeitung hinter ENDIF fortgesetzt.
30
Strukturen In ABAP ist es m¨glich, strukturierte Datenobjekte (kurz Struko turen genannt) zu de?nieren. So k¨nnen zusammengeh¨rige Variablen in einem o o Objekt zusammengefasst werden. Strukturen sind schachtelbar, so dass Komponenten auch Strukturen oder Tabellen sein k¨nnen. o Es gibt zwei verschiedene Arten von Strukturen in einem ABAP-Prrogramm: ¨ • Uber DATA <name> TYPE <structure type>. de?nierte Strukturen dienen als Zielfelder f¨r Datenbankzugri?e oder f¨r u u programmlokale Berechnungen. Die Strukturtypen k¨nnen im ABAP Dico tionary oder programmlokal deklariert sein. ¨ • Uber TABLES <ABAP-Dictionary-Structures>. wird eine Sturktur de?niert, die technisch in einem eigenen Bereich verwaltet wird. Seit Release 4.0 ben¨tigt man TABLES-Strukturen nur noch o als Schnittstellen zum Dynpro. Einem Strukturtyp werden einzelne Komponeneten zugeordnet. Zu jeder Komponente m¨ssen der Komponentenname, der Komponententyp und ein u Kurztext erfasst werden. Der Komponentenname ist frei w¨hlbar und es exia stieren keine festen Namenskonventionen. In der Regel wird f¨r den Komponenu tentyp ein Datenelement zur Typisierung verwendet. Der Kurztext beschreibt schließlich die Komponente. Beim Anlegen einer Struktur im Dictionary ist zu beachten, dass der Name der Struktur im Kundennamensraum liegt. Die Strukturtypen k¨nnen auch programmlokal uber die TYPE-Anweisung o ¨ de?niert werden. Die Komponenten werden durch BEGIN OF <structure type name> ... END OF <structure type name>. Eine Struktur kann man dann uber ¨ DATA <structure name> TYPE <structure type name>. anlegen. Die Felder der Struktur werden angesprochen durch <Structure>-<Fieldna>. me Interne Tabellen Interne Tabellen sind Datenobjekte, mit denen man Datenmengen einer festen Struktur aber mehrerer Zeilen im Arbeitsspeicher halten kann. Die einzelnen Komponenten einer Zeile bezeichnet man daher auch als Spalten interner Tabelle. Interne Tabellen sind auch dynamische Datenobjekte, die beliebig viele Zeilen eines festen Typs enthalten k¨nnen. Die Zeilentypen o von internen Tabellen sind beliebige ABAP-Datentypen. Sie k¨nnen somit eleo mentar, strukturiert oder selbst interne Tabellen sein. Um einen Tabellentyp vollst¨ndig zu spezi?zieren, m¨ssen folgende Informaa u tionen angegeben sein: 31
• Zeilentyp: Die Informationen zu den gew¨nschten Spalten, deren Namen u und Typen wird gew¨hrleistet, indem ein Strukturtyp als Zeilentyp angea geben wird. • Schl¨ssel: Zu einem vollst¨ndigen spezi?zierten Schl¨ssel geh¨ren auch u a u o Informationen, wie z.B.: Welche Spalten sollen Schl¨sselspalten sein?. . . u • Tabellenart: Es gibt drei Tabellenarten: Standardtabellen, sortierte Tabellen und Hash Tabellen. Den Hauptein?uss auf die Wahl der Tabellenart hat die gesch¨tzte Zugri?sart. a Die Zugri?sart de?niert, wie das Laufzeitsystem auf einzelne Tabellenzeilen zugreift. ABAP kennt zwei unterschiedliche Zugri?sarten, den Indexzugri? und den Schl¨sselzugri?. Beim Indexzugri? wird uber den Index der Datens¨tze, der u a ¨ vom System gep?egt wird, zugegri?en. Beim Schl¨sselzugri? wird uber einen u ¨ Suchbegri? zugegri?en, der typischerweise aus dem Tabellenschl¨ssel oder dem u generischen Tabellenschl¨ssel besteht. u F¨r interne Tabellen stehen folgende Operationen zur Verf¨gung: APPEND, u u INSERT, READ, MODIFY, DELETE, COLLECT, LOOP . . . ENDLOOP, SORT, CLEAR, REFRESH, FREE. Informationen zu den angef¨hrten ABAP-Anweisunu gen kann man der Schl¨sselwortdokumentation zu den angegebenen ABAPu Schl¨ssel-w¨rtern entnehmen. u o
4.4
4.4.1
Lesen von der Datenbank
Datenbanktabellen im R/3
Die Datenbanktabellen werden im R/3 Dictionary uber das ABAP-Dictionary ¨ verwaltet. Dort k¨nnen die aktuellen Informationen zu allen technischen Eigeno schaften einer Tabelle nachgeschaut werden. Eine Tabelle ist eine zweidimensionale Matrix aus Spalten (Feldern) und Zeilen (Eintr¨gen). Sie hat einen Namen und Eigenschaften wie z.B. den Tabela lentyp. Jede Tabelle des ABAP Dictionary hat einen Prim¨rschl¨ssel. Dies ist a u eine Spaltenkombination, die jede Zeile in dieser Tabelle eindeutig identi?ziert. Ein Feld (d.h eine Spalte einer Tabelle) hat einen Namen und Eigenschaften, z.B. kann es Prim¨rschl¨sselfeld sein. Das Feld ist kein eigenst¨ndiges Objekt, a u a sondern tabellenabh¨ngig und kann nur innerhalb einer Tabelle gep?egt werden. a Ein Tabellenfeld kann mit Hilfe einer Tabelle gep?egt werden: • Die Dom¨ne dient zur technischen De?nition des Tabellenfeldes. In ihr a werden z.B. Feldl¨nge, Feldtyp, Ausgabeeigenschaften und eine m¨gliche a o Werteeinschr¨nkung mit Hilfe von Festwerten de?niert. a • Das Datenelement dient urspr¨nglich der Beschreibung der semantischen u Eigenschaften eines Feldes im Kontext der Tabelle. Dies sind Eigenschaften, die nur dort und nicht allgemein von Bedeutung sind. Im Datenelement muss z.B. eine Kurzbeschreibung des Tabellenfeldes hinterlegt werden, die beim Aufruf der F1-Hilfe auf dem Bildschirmbild angezeigt wird. Das zweistu?ge Dom¨nenkonzept (bestehend aus den Ebenen Datenelement a und Dom¨ne) erlaubt die De?nition und P?ege technischer Feldeigenschaften a auf Dom¨nenebene. Eine Dom¨ne kann ihre Feldeigenschaften an beliebig viele a a 32
¨ Felder weitergeben, wodurch bei Anderungen der so beschriebenen Feldeigenschaften lediglich die Dom¨ne, nicht aber die einzelnen Felder, explizit ge¨ndert a a werden m¨ssen. u Tabellen, Datenelemente und Dom¨nen werden zentral im ABAP Dictionary a verwaltet. 4.4.2 Lesen von einer Datenbanktabelle
Die Anweisungen von Open SQL sind eine vollst¨ndig in ABAP integrierte Una termenge von Standard SQL. Sie erlauben dem ABAP-Programmierer einen einheitlichen Zugri? auf Daten, unabh¨ngig vom installierten Datenbanksystem. a Die Datenbankschnittstelle setzt Open SQL in datenbankabh¨ngiges Standard a SQL um. Die SELECT Anweisung hat die folgende Form: SELECT <ergebnis> FROM <tabelle> INTO <ziel> WHERE <bedingungen> ENDSELECT. Mit der Open SQL-Anweisung SELECT programmiert man lesende Datenbankzugri?e. Hinter der SELECT-Klausel verbirgt sich eine aufwendige Logik, die es erlaubt, auf viele verschiedene Arten auf Datenbanktabellen zuzugreifen. Die SELECT-Klausel beschreibt, ob das Ergebnis der Selektion mehrere Zeile oder einen einzelnen Datensatz (SELECT SINGLE) umfassen soll, welche Spalten das Ergebnis haben soll und ob im Ergebnis identische Zeilen vorkommen d¨rfen. Die INTO-Klausel bestimmt die internen Datenobjekte, in die die seu lektierten Daten gestellt werden sollen. Die FROM-Klausel benennt die Quelle (Datenbanktabelle oder View), von der die Daten selektiert werden sollen. Die WHERE-Klausel gibt Bedingungen an, die das Ergebnis der Selektion erf¨llen u muss. Sie bestimmt also die Zeilen der Ergebnistabelle. Statt der INTO-Klausel kann auch die Klausel INTO CORRESPONDING FIELDS <table > verwendet werden. In diesem Fall werden die Daten in die namensgleichen Felder einer Struktur gestellt.
4.5
Die Liste
Die Liste ist darauf zugeschnitten, Daten in ubersichtlicher Form, meist tabella¨ ¨ risch, auszugeben. Uber die Standardober?¨che einer Liste stehen dem Benutzer a eine Reihe von operationen bez¨glich Liste zur Verf¨gung: Zur¨ck, Beenden, u u u Abbrechen, Drucken, Suchen in der Liste, Sichern und Liste als E-Mail senden. F¨r die Liste kann man eine Listen¨berschrift und bis zu vier Zeilen Spalu u ¨ ten¨berschriften de?nieren. Die Uberschriften k¨nnen entweder uber den Editor u o ¨ de?niert werden. Die andere M¨glichkeit ist, wenn man das Programm sichert o und aktiviert und anschließend uber Starten des Programms die Liste erzeugt, ¨ kann man uber den Men¨pfad System -> Liste -> Listen- und Spalten¨beru u ¨ schriften bestimmen. Ist keine Listen¨berschrift de?niert, so wird stattdessen u der Programmtitel verwendet. Der folgende Report ist ein kleines Beispiel einer Liste:
33
REPORT liste von winf studenten. DATA wa students TYPE students. SELECT id name surname birthday FROM students INTO CORRESPONDING FIELDS OF wa students WHERE faculty = ’Wirtschaftsinformatik’ WRITE: / wa student-id, wa student-name, wa student-surname, wa student-birthday. ENDSELECT. Aus der students Tabelle werden die Studenten ausgew¨hlt die Wirtschaftsa informatik studieren und die Matrikelnummer, der Name, der Nachname und das Geburtsdatum werden ausgegeben.
4.6
Selektionsbilder
Die Selektionsbilder dienen der Eingabe von Auswahlkriterien f¨r den weiteren u Programmverlauf. Erstellt man zum Beispiel eine Liste aus Daten einer sehr großen Datenbanktabelle, so kann man uber ein Selektionsbild die Werte ein¨ schr¨nken. a 4.6.1 Eigenschaften von Selektionsbildern
Die Selektionsbilder sind darauf zugeschnitten, dem Anwender eine Eingabemaske f¨r Wertemengen zur Verf¨gung zu stellen, die zur Einschr¨nkung der u u a Datenmenge genutzt wird, die von der Datenbank gelesen werden muss. Der Anwender hat folgende M¨glichkeiten: o • Eingabe auf Einzelfeldern • komplexe Eingabe: Intervalle, Operationen, Muster • Sichern von ausgef¨llten Selektionsbildern als Varianten u • Wertehilfen bzw. Suchhilfen uber die Funktionstaste F4 oder Best¨tigung a ¨ der Kombo-Box Ist ein Eingabefeld mit einem Datenelement typisiert, so stehen semantische Informationen wie Feldbezeichner, Eingabehilfe und Wertehilfe zur Verf¨gung. u Wenn ein Eingabefeld mit einem Strukturfeld typisiert ist, das ein Datenelement referenziert, kann man auch die Feldbezeichner, Eingabehilfe und Wertehilfe benutzen. Standardm¨ßig erscheinen die Feldnamen als Text vor den Eingabefeldern a eines Selektionsbilds. Sie k¨nnen aber auch durch Selektionstexte ersetzt werden. o In einem ausf¨hrbaren Programm gen¨gt es, eine PARAMETERS-Anweisung u u zu programmieren, um das Standardselektionsbild zu erhalten. Durch die Anweisung 34
PARAMETERS <name bzw. PARAMETERS <name
>
TYPE <type>.
>
LIKE <data objet>.
wird ein elementares Eingabefeld auf dem Selektionsbild erzeugt und ein typgleiches Datenobjekt <name> deklariert. Gibt der Anwender einen Wert ein und w¨hlt “Ausf¨hren”, dann wird der Eingabewert in das programminterne a u Datenobjekt <name> gestellt. Dabei sind nur typkonforme Eingaben zugelassen.
4.7
Softwarelogistik
Der Entwicklungszyklus von SAP-Entwicklungsprojekten kann mit einer Dreisystemlandschaft abgebildet werden(siehe Abbildung (10)16 ). Das System besteht aus den Komponenten Entwicklungssystem, Konsolidierungssystem und Produktivsystem.
Abbildung 10: Die Systemlandschaft
Der Entwicklungszyklus l¨uft folgendermaßen ab: a ¨ • Alle neuen und ge¨nderten Programme werden einem Anderungsauftrag a zugeordnet. Unmittelbar vor Einleitung der Testphase im Konsolidierungssystem wird dieser Auftrag freigegeben und in das Konsolidierungssystem transportiert. • Im Konsolidierungssystem werden Tests durchgef¨hrt. Identi?zierte Fehler u werden an die Entwicklung weitergeleitet. Diese f¨hrt notwendige Korreku ¨ turen durch und ordnet die korrigierten Programme einem neuen Anderungsauftrag zu. Dieser Auftrag wird freigegeben und in das Konsolidierungssystem transportiert. Falls n¨tig, muss dieser Teilzyklus mehrfach o wiederholt werden.
16 entnommen
aus “ABAP Grundlagen”
35
• Sobald der Test erfolgreich abgeschlossen ist, werden alle Auftr¨ge in das a Produktivsystem transportiert. Die aktuelle System-Kon?guration kann im Transport Management System nachgeschaut werden (Men¨pfad: Wekzeuge ->Administration ->Transport ->Transu port Management System bzw. Transaktion STMS).
36
Index
¨ Anderung des Repository, 14 ¨ Arbeiten am Customizing, 14 ¨ Erweiterung des Repository, 14 ABAP, 22 ABAP Dictionary, 25 ABAP Editor, 25 ABAP Programm, Ablauf, 23 ABAP Workbench, 24 ABAP, Eigenschaften, 23 ABAP-Syntax, 27 ABAP-Typen, 28 ACID, 11 Anmeldung, 5 Anmeldung am SAP-System, 12, 13 Applikationsprozesse, 8 asynchrone Verbuchung, 12 atomar, 11 atomic, 11 Auftrag anlegen, 20 Auftragsbearbeitung, 19 Auslieferung anlegen, 21 Beleg?uss, 22 Benuterterstammsatz, erstellen, 13 Benutzerdaten, 13 Benutzermen¨, 6 u Benutzername, 12 Benutzerstammsatz, 13 Benutzerstammsatz, p?egen, 13 Berechtigungen, 12, 13 Berechtigungspr¨fung, 13 u Berechtigungspro?l, 13 Bescha?ung, 20 Buchungskreis, 18 Client, 7 Client-Server Architektur, 7 consistent, 11 Customizing, 14 Datenbankprozesse, 8 Datenbankschnittstelle, 10 Datenbanktabellen, 32 Datenelement, 32 Datenobjekte, 29 Datenstruktur, 14 dauerhaft, 11 37 Debugging Modus, 27 Dialog-Workprozesse, 11 Dispatcher, 9 Dom¨ne, 32 a Dom¨nenkonzept, 32 a durable, 11 Eigenentwicklung, 14 Eigenschaften von Selektionsbildern, 34 Eingabehistorie, 7 elementare Datenobjekte, 29 elementare Typen, 28 Enqueue-Workprozess, 11 Faktura anlegen, 22 Fakturierung, 21 Favoriten, 6 Favoritenliste, 6 Feld, 32 Function Builder, 25 Hilfe, 7 Hintergrund-Workprozesse, 11 interne Tabellen, 31 isolated, 11 isoliert, 11 Kommissionieren, 21 Kon?guration des SAP-Systems, 8 konstistent, 11 Kundenerweiterungen, 15 Lagerort, 18 Lesen von einer Datenbanktabelle, 33 Liste, 33 Mandant, 6, 14 Modi?kationen, 15 mySAP Business Suite, 5 Navigation, 7 Object Navigator, 26 Objektliste, 26 Open SQL, 10 Organisationseinheit, 17 PARAMETERS, 34
Personalisierung der Benutzerober?¨che, a 7 Pr¨sentationsprozesse, 8 a Pr¨sentationsschnittstelle, 10 a programmlokale Typen, 28 Pu?er, 9 RDBMS, 10 Relationale Datenbankmanagementsysteme, 10 Repository, 14, 26 Rolle, 13 SAP Branchenl¨sungen, 5 o SAP GUI, 5 SAP NetWeaver, 5 SAP Smart Business Solutions, 5 SAP xApps, 5 SAP-Bibliothek, 7 SAP-Transaktion, 11 Screen Painter, 25 SELECT, 33 Selektionsbilder, 34 Server, 7 Sparte, 18 Spoolworkprozesse, 11 Struktur des Lieferbelegs, 21 Struktur des Verkaufsbelegs, 20 Strukturen, 31 Tabelle, 32 Tabellentypen, 28 Terminauftrag, 19 Verbuchungs-Workprozess, 12 Verbuchungs-Workprozesse, 11 Verbuchungsverlauf, 12 Verkaufsorganisation, 18 Versand, 20 Versandstelle, 19 Vertriebsbereich, 18 Vetriebsbereich, 18 Vetriebsweg, 18 Vorverkaufsaktivit¨ten, 19 a Warenausgang buchen, 21 Werk, 18 Workprozess, 9 Zahlung, 22 zentrale Typen, 28 38
doc_701731876.pdf