Modularisierungstechniken

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Objektorientierte Programmierung
Einführung in die Programmierung Zusammenfassung
Objektorientierte Programmierung
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Grundlagen der Objektorientierung
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
DOM (Document Object Model)
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Sebastian Grahn Sebastian Kühn
Imperative Programmierung Funktionen und Parameter
Otto-von-Guericke-Universität Magdeburg Gamal Kassem 1 Tabellenzeile mit READ lesen READ TABLE itab INDEX idx READ TABLE itab WITH KEY comp1 = f1.... Compn.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
1. Übung ERP-Systeme Grundlagen und einfache ABAP-Programme.
Dialogorientierte Programmierung in ABAP
Programmieren mit JAVA
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Zusammenfassung Vorwoche
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
Software-Engineering
Objektorientierte Programmierung
Batch-Programmierung Grundlagen
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
Abstrakte Klassen, Interface
Der C-Präprozessor 08-CPräprozessor.
DVG Klassen und Objekte
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Bedingte Wiederholung (Buch S119)
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
1. Verhalten der Objekte: Operationen Werden in den Klassen definiert Werden (i.d.R.) auf einem Objekt aufgerufen Wird das Empfängerobjekt genannt Weitere.
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Tutorium PG Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Java Programmierung.
Unterprogramme in JAVA
Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
Prof. Dr.-Ing. Franz-Josef Behr
EPROG Tutorium #3 Philipp Effenberger
Informatik Grundlagen, WS04, Seminar 7
Informatik II Grundlagen der Programmierung Programmieren in C Funktionen, Adressen, Zeiger Hochschule Fulda – FB ET Sommersemester 2014
Montag, 9. Juli 2001  ====!"§==Systems = Seite 1 Projekt SAPscript  Dana Stepanek SAPscript  Symbole MitSymbolen können Programm- bzw. Systemdaten oder.
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Einführung in die Programmierung mit Java
Java-Kurs Übung Besprechung der Hausaufgabe
Objektorientierte Programmierung (OOP)
Objektorientierte (OO) Programmierung
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Name des Vortragenden ‌ Klasse ‌‌‌ Ort / tt.mm.jjjj Anwendungsfalldiagramm.
Java Programme nur ein bisschen objektorientiert.
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
C++ FÜR cOMPUTERSPIELENTWICKLER
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
Implementieren von Klassen
 Präsentation transkript:

Modularisierungstechniken Die Modularisierung dient ; der Les- und Pflegbarkeit von ABAP-Programmen, der Vermeidung von Redundanzen, der Wiederverwendbarkeit von Funktionalität und der Kapselung von Daten

Modularisierungstechniken Verarbeitungsblöcke, die durch das ABAP-Laufzeitsystem aufgerufen werden: Ereignisblöcke Dialogmodule Verarbeitungsblöcke, die aus ABAP-Programmen Unterprogramme Funktionsbausteine Methoden Die aus ABAP-Programmen aufrufbaren Verarbeitungsblöcke heißen Prozeduren

Quelltext-Module Zusätzlich zur Modularisierung in Verarbeitungsblöcken bietet ABAP die Möglichkeit der Quelltext-Modularisierung, die es erlaubt ABAP-Anweisungen entweder lokal in Makros oder global in Include-Programmen zusammenzufassen.

Prozeduren Unterprogramme Unterprogramme dienen hauptsächlich der lokalen Modularisierung. Unterprogramme enthalten mehrfach verwendete Funktionalität innerhalb eines Programms zusammen und führen mehrfach benötigte Aufgaben aus. Funktionsbausteine Funktionsbausteine dienen ausschließlich der globalen Modularisierung, also dem Aufruf aus anderen Programmen. Funktionsbausteine enthalten Funktionalität, die systemweit von verschiedenen Programmen verwendet wird. Funktionsbausteine können nur in Funktionsgruppen definiert, aber aus allen Programmen aufgerufen werden. Methoden Methoden enthalten die Funktionalität bzw. das Verhalten von Klassen und deren Instanzen in ABAP Objects, der objektorientierten Erweiterung von ABAP.

Unterprogramme Unterprogramme sind Prozeduren, die in jedem ABAP- Programmen definiert und aus jedem ABAP-Programm aufgerufen werden können. Unterprogramme dienen hauptsächlich dem internen Aufruf, also um lokal häufig benutzte Programmteile oder Algorithmen nur einmal schreiben zu müssen. Der globalen Wiederverwendung von Funktionalität dienen Funktionsbausteine.

Definition von Unterprogrammen Ein Unterprogramm ist ein Verarbeitungsblock, der zwischen den Anweisungen FORM und ENDFORM eingeschlossen ist: FORM <subr> [USING   ... [VALUE(]<pi>[)] [TYPE <t>|LIKE <f>].. ]          [CHANGING... [VALUE(]<pi>[)] [TYPE <t>|LIKE <f>]... ].  ... ENDFORM. <subr> ist der Name des Unterprogramms. Die optionalen Zusätze USING und CHANGING definieren die Parameterschnittstelle. Wie alle Verarbeitungsblöcke können Unterprogramme nicht geschachtelt werden. Es empfiehlt sich insbesondere bei ausführbaren Programmen vom Typ 1 die Definition aller Unterprogramme am Ende des Programmtextes anzuordnen, damit nicht versehentlich unausführbare Anweisungen dadurch entstehen, daß ein Unterprogramm einen Ereignisblock an der falschen Stelle abschließt.

Die Parameterschnittstelle Parameter mit Referenzübergabe Diese Parameter werden ohne die Angabe VALUE hinter USING oder CHANGING aufgeführt: FORM <subr> USING    ... <pi> [TYPE <t>|LIKE <f>] ...             CHANGING ... <pi> [TYPE <t>|LIKE <f>] ... Eingabeparameter mit Wertübergabe Diese Parameter werden mit der Angabe VALUE hinter USING aufgeführt: FORM <subr> USING    ... VALUE(<pi>) [TYPE <t>|LIKE <f>] ... Ausgabeparameter mit Wertübergabe Diese Parameter werden mit der Angabe VALUE hinter CHANGING FORM <subr> CHANGING ... VALUE(<pi>) [TYPE <t>|LIKE <f>] ...

Aufruf von Unterprogrammen Unterprogramme werden über PERFORM... [USING   ... <pi>... ]             [CHANGING... <pi>... ]. PERFORM <subr>(<prog>) [USING   ... <pi>... ]                        [CHANGING... <pi>... ] [IF FOUND]. Der Programmname <prog> wird statisch angegeben. Durch Die Verwendung der Option IF FOUND läßt sich ein Laufzeitfehler verhindern, wenn das Programm <prog> kein Unterprogramm <sub> enthält. Dann ignoriert das System die PERFORM- Anweisung

Typisierung von Formalparametern Generische Typangaben TYPE ANY Das Unterprogramm akzeptiert alle Typen von Aktualparametern. Alle technischen Eigenschaften des Aktualparameters werden an den Formalparameter übergeben. TYPE C, N, P oder X Das Unterprogramm akzeptiert nur Aktualparameter vom Typ C, N, P bzw. X . Die Feldlänge und DECIMALS-Angabe (für Typ P) werden vom Aktualparameter an den Formalparameter übergeben. TYPE TABLE Das System prüft, ob der Aktualparameter eine interne Standardtabelle ist. Diese Typisierung ist eine Kurzform von TYPE STANDARD TABLE . TYPE ANY TABLE Das System prüft, ob der Aktualparameter eine interne Tabelle ist.

Typisierung von Formalparametern Generische Typangaben TYPE INDEX TABLE Das System prüft, ob der Aktualparameter eine interne Index-Tabelle (also Eine Standard- oder sortierte Tabelle aber keine Hash-Tabelle) ist. TYPE STANDARD TABLE Das System prüft, ob der Aktualparameter eine interne Standard-Tabelle ist. TYPE SORTED TABLE Das System prüft, ob der Aktualparameter eine sortierte interne Tabelle ist. TYPE HASHED TABLE Das System prüft, ob der Aktualparameter eine interne HASH-Tabelle ist.

Funktionsbausteine  Funktionsbausteine sind Prozeduren, die nur innerhalb spezieller ABAP-Programme, den sogenannten Funktionsgruppen vom Typ F, definiert, aber aus allen ABAP-Programmen aufgerufen werden können. Funktionsgruppen sind Behälter für thematisch zusammengehörige Funktionsbausteine. Das Anlegen von Funktionsgruppen und von Funktionsbausteinen erfolgt mit dem Werkzeug Function Builder der ABAP Workbench

Funktionsgruppen  Funktionsgruppen sind Behälter bzw. Rahmenprogramme für Funktionsbausteine. Funktionsgruppen können nicht ausgeführt werden. Beim Aufruf eines Funktionsbausteins wird die gesamte Funktionsgruppe, in der sich der Funktionsbaustein befindet, in den internen Modus des aufrufenden Programms geladen, falls sie sich noch nicht dort befindet

Funktionsbausteinaufruf in ABAP CALL FUNCTION <baustein>      [EXPORTING  f1 = a 1.... f n = a n]      [IMPORTING  f1 = a 1.... f n = a n]      [CHANGING   f1 = a 1.... f n = a n]      [TABLES     f1 = a 1.... f n = a n]      [EXCEPTIONS e1 = r 1.... e n = r n [OTHERS = ro]].

Übung 1 FORM-Schnittstelle Erstellen Sie eine Report ZFORMINTAB_**, der für eine vom Anwender einzugebende Depotnummer (s. Abbildung), die Wertpapierkennnummer und die Anzahl der darin enthaltenen Wertpapiere über ein FORM-Unterprogramm ausgibt.

Übung 2 Funktionsbaustein Erstellen Sie eine Funktionsgruppe Z_UEBUNG2_** mit einem darin enthaltenen Funktionsbaustein Z_KURS_**, der von 3 Aktienkursen den Durchschnittkurs berechnet. Der einzugebende Kurs soll immer grösser als Null sein.