Foliensatz 5: Modularisierung User_Exits und RFC Flashcards
ErklärenSie,wasFunktionsbausteinesind?
Sind Prozeduren, die bei der Generierung des Programms als eigenständige Module erhalten - gekapselt sind und über eine eigene standardisierte Schnittstelle verfügen
Welche Aufgaben erfüllen Funktionsbausteine?
- BereitstellungvonprozeduralerFunktionalität
- GestaltungvonDynpros,
- User‐Exitsbzw.Customer‐Exits,
- Verbuchungen,
- RemoteFunction Calls.
Was ist Modularisierung?
Zerlegung eines Programms in verschiedene Teile, man teilt Quelltext auf in:
- Module, die zur Generierung des Programms eingebunden werden
- Prozeduren, die bei Generierung des Programms als eigenständige Module erhalten bleiben
Was sind die Ziele der Modularisierung?
- Übersichtlichkeit
- Redundanzvermeidung
- Wiederverwendbarkeit
Was sind Funktionsgruppen?
Funktionsgruppen sind Behälter bzw. Rahmenprogramme für Funktionsbausteine. Können nicht aufgerufen werden. Man fasst Funktionsbausteine zusammen, wenn sie:
- gleiche globale Daten oder Dynpros verwenden
- entweder häufig oder nur selten aufgerufen
- anwendungsorientiert zu gleichen Bereichen gehören
Wie sind Funktionsbausteine organisiert?
Funkstionsbausteine sind in Funktionsgruppen organisiert. Man kann diese in Programme einbauen, indem man sie über Incluce einbindet.
Was sind die Regeln zu Funktionsbausteinen?
- keine Dictionary-Objekte-Namen für formalen Parameter verwenden
- Standardschnittstelle ist das einzige Informationsprotokoll zur Datenübergabe
- alle Import oder Changing Parameter müssen mit Werte versorgt werden
Welche Besonderheit ergibt sich beim Testing von Funktionsbausteinen?
- Funktionsbausteine können eigenständig getestet werden
- dabei müssen Eingabewerte für die IMPORT-Parameter “händisch” eingegeben werden, Ergebnis wird in die EXPORT-Parameter transportiert und aufgelistet
- beim Auftreten einer Ausnahmesituation wird die ausgelöste Ausnahme vermerkt
Wie ist die Syntax zum Aufrufen eines Funktionsbausteines im rufenden Programm?
CALL FUNCTION func EXPORTING e1 = dobj11 e2 = dobj12 ... IMPORTING i1 = dobj21 i2 = dobj22 ... CHANGING c1 = dobj31 c2 = dobj32 ... TABLES t1 = itab1 t2 = itab2 ... EXCEPTIONS x1 = r1 x2 = r2
- Formalparameter gehören zum Funktionsbaustein, werden links vom = benannt, sind bei Export das Ziel und bei Import die Quelle
- Aktualparameter werden im rufenden Programm bestimmt, werden immer rechts vom = benannt
Was steuert die Ausnahme Schnittstelle bei Funktionsbausteinen?
-gibt es eine Ausnahme im Funktionsbaustein, unterbricht das System die Abarbeitung des Funktionsbausteins und gibt keine Werte vom Funktionsbaustein an das Programm weiter außer denen, die als Referenz übertragen wurden
Man schreibt eine Exception so: IMPORTING .... EXCEPTIONS x1 r1 x2 r2
CASE ........ WHEN 01. ‐meldetext= '# KEIN Platz!'. WHEN 02. ...... ENDCASE
Was ist eine globale Deklaration in einer Funktionsgruppe?
- globale Datendeklarationen gelten für alle Funktionsbausteine dieser Funktionsgruppe
- intern wird beim Aufruf eines Funktionsbausteins die zugehörige Funktionsgruppe in einem internen Modus aufgerufen und solange aktiv gehalten, bis jener interne Modus abgebaut ist
- FB und Funktionsgruppe müssen syntaktisch korrekt sein
- Verhalten eines FBs über globalen Deklarationsteil kann Auswirkungen auf die übrigen FBs in der Funktionsgruppe ausüben
- das erfordert eine genaue Abgrenzung der FBs einer Funktionsgruppe
Was sind Probleme bei einer Modifikation von SAP?
- Komplikationen bei Wartung oder Release Wechsel
- Updates und modifizierte Kundenversion müssen übereinstimmen
- mit manuellem Aufwand und Kosten verbunden
- SAP empfiehlt nur zu modifizieren, wenn sich im SAP-Standard für den Kundenwunsch keine Funktionsrealisierung oder Anknüpfungspunkte finden lassen
Was sind Customer-Exits?
Customer-Exits sind funktionslose Programmkomponenten, die von SAP für bestimmte Programme, Bildschirmbilder und Menüs vorab angelegt worden sind und beim Kunden mit kundenspezifischer Logik ausgestaltet werden, ohne dabei das SAP-Original zu modifizieren, umfassen auch Erweiterungen zum Screen, Menü etc.
Welche Vorteile haben Customer-Exits?
- Customer-Exits haben keine Auswirkungen auf den SAP-Standardquelltext (keine Änderungen des SAP-Source-Code, Kundenobjekte bestehen neben dem SAP-Softwarepaket)
- werden durch Updates nicht berührt
- SAP-Programme stehen im SAP-Namensraum (außer Y und Z)
- Kundenobjekte haben Namensraum Y und Z, werden bei Updates aufgrund ihres Namens nicht vvon Änderungen des Standardsoftwarepaketes berührt
Welche Arten von Customer-Exits gibt es?
Menü Exits: fügen den Aktionsmenüs in Standardanwendungen neue Einträge hinzu, z.B. Aufruf eigener Bildschirmbilder oder Auslösen von Zusatzanwendungen
Dynpro-Exits: fügen den Anwendungen Bildschirmbilder hinzu: spezielle Subscreen-Bereiche werden in ein Standardbild gestellt und ein kundenspezifischer Subscreen von der standardmäßigen Dynpro-Ablauflogik aufgerufen
Funktions-Exits: fügen Anwendungen Funktionalität hinzu, sind für Menü- oder Dynpro Exits von Bedeutung, neue Menüs oder Bilder erhalten durch Funktions-Exits ihre Funktionalität und Ablauflogik