Treffpunkt Semicolon
www.gedoplan.de 1
1
Treffpunkt Semicolon
mySAP ERP 2005 und Auswirkungen auf die ABAP-Entwicklung
Treffpunkt Semicolon
2
Agenda
Neuer Editor und neuer Debugger
Code-Inspector und Coverage Analyzer
ABAP und Unicode
Enhancement Framework
Shared Objects
SAP List Viewer
……
Treffpunkt Semicolon
www.gedoplan.de 2
Treffpunkt Semicolon
3
ABAP und Unicode
Treffpunkt Semicolon
4
SAP-System mit einer Standard-Codepage
Sprachen innerhalb einer Ellipse können in einem SAP-System mit einer Standard-Codepage kombiniert werden.
Englisch
Deutsch KroatischTschechischUngarischPolnischRumänischSlowakischSlowenisch
DänischNiederländisch
FranzösischItalienisch
SpanischSchwedisch
Finnisch
RussischUkrainisch
Griechisch
Chinesisch
Japanisch
Treffpunkt Semicolon
www.gedoplan.de 3
Treffpunkt Semicolon
5
SAP-System mit MDMP (Multi-Display/Multi-Processing)
Anmeldesprache des Anwenders legt die Codepage fest
Deutsch Japanisch Koreanisch
Treffpunkt Semicolon
6
SAP-System mit Unicode
Alle Zeichen unabhängig von Anmeldesprache darstellbar
Unicode
Treffpunkt Semicolon
www.gedoplan.de 4
Treffpunkt Semicolon
7
Zeichendarstellung in Unicode
Jedes Zeichen hat einen eindeutigen Schlüssel (Unicode-Codepoint)Notation : U+nnnn nnnn = Hexadizimale Zahl
Zeichenübersicht und weitere Informationen :http://www.unicode.org
Treffpunkt Semicolon
8
Unicode-Varianten
UTF16 : Unicode Transformation Format, 16 bit encodingFeste Länge, 1 Zeichen = 2 Byte
Plattformabhängige Byte-Reihenfolge
UTF8 : Unicode Transormation Format, 8 bit encodingVariable Länge, 1 Zeichen = 1 bis 4 Byte
Plattformunabhängig
Kompatibel zu 7 Bit US-ASCII
Treffpunkt Semicolon
www.gedoplan.de 5
Treffpunkt Semicolon
9
Unicode und ABAP-Programme
Verschiedene Kernelversionen für Unicode- und Nicht-Unicode-Systeme
Nur ein ABAP-Quelltext für Unicode- und Nicht-Unicode-Systeme
Keine speziellen Unicode-Datentypen
1 Zeichen = 1 Byte(für Datentypen C, N, D, T, STRING)
1 Zeichen = 2 Byte (UTF16)(für Datentypen C, N, D, T, STRING)
Datentypen X und XSTRINGnicht mehr zeichenartig !
Treffpunkt Semicolon
10
Unicode erfordert Syntaxänderungen bei einigen ABAP-Kommados
Programm muss auf Unicode-Systemen verschärften Syntaxregeln genügen.
Auf Unicode-Systemen muss das Unicode-Check-Flag gesetzt sein, sonst ist Programm nicht ausführbar. Auf Non-Unicode-Systemenkann es gesetzt werden, um (weitestgehende) Kompatibiltät nach einer Unicode-Umstellung zu gewährleisten.
Treffpunkt Semicolon
www.gedoplan.de 6
Treffpunkt Semicolon
11
Beispiel : CONCATENATE
Syntax Fehler bei gesetztem Unicode-Flag, da „htab“ (TYPE x) nicht mehr zeichenartig interpretiert wird !
Unicode-Lösung
Treffpunkt Semicolon
12
Beispiel : OFFSET
Treffpunkt Semicolon
www.gedoplan.de 7
Treffpunkt Semicolon
13
Beispiel : OPEN DATASET
Treffpunkt Semicolon
14
Beispiel : OPEN DATASET
DEFAULT = UTF-8 bei Unicode-Systemen
= NON-UNICODE bei NON-Unicode-Systemen
TRANSFER 'ABC-ÄÖÜ'. Ergibt 12 Byte in Datei !
TRANSFER 'ABC-ÄÖÜ'. Ergibt 9 Byte in Datei !
Treffpunkt Semicolon
www.gedoplan.de 8
Treffpunkt Semicolon
15
Auswirkungen auf ABAP-Listen
Es gilt nicht mehr pauschal „Zeichenzahl = Anzahl Ausgabespalten“
Treffpunkt Semicolon
16
Beispiel : GET CURSOR
Spalte 5 Zeichen 5
Spalte 5 Zeichen 4
Treffpunkt Semicolon
www.gedoplan.de 9
Treffpunkt Semicolon
17
Beispiel : WRITE
WRITE-Anweisung positioniert automatisch gemäß der Zeichenzahl, nicht gemäß der notwendigen Ausgabelänge. Für ‚txt‘ist das Ausgabefenster nur 12 Spalten breit. Daher wird der japanische Text überschrieben (angedeutet durch ‚>‘)
Treffpunkt Semicolon
18
Unicode-Ausgabe
Treffpunkt Semicolon
www.gedoplan.de 10
Treffpunkt Semicolon
19
RFC zwischen SAP-Unicode-Systemen
Bei RFC zwischen 2 SAP-Unicode-Systemen wird im UTF-16-Zeichensatz übertragen. Die eventuell notwendige Konvertierung „big/little endian“ wird automatisch durchgeführt.
Treffpunkt Semicolon
20
RFC zwischen SAP-Unicode- und Non-Unicode-Systemen
Bei RFC zwischen einem SAP-Unicode- und einem Non-Unicode-System wird in den Zeichensatz des Zielsystems konvertiert.
Bei Übertragung in ein Non-Unicode-System werden die nicht in Zielzeichensatz darstellbare Zeichen durch ein konfigurierbares Zeichen ersetzt.
Treffpunkt Semicolon
www.gedoplan.de 11
Treffpunkt Semicolon
21
Konfiguration der RFC-Destinations
Treffpunkt Semicolon
22
Unicode-Check mit UCCHECK
Auswahl der zu prüfenden Objekte
Prüfergebnis
Treffpunkt Semicolon
www.gedoplan.de 12
Treffpunkt Semicolon
23
Migration zu Unicode
Schritt 1 (in einem Non-Unicode-System) *Transaktion UCCHECK ausführenABAP-Programme anpassenUnicode-Flag setzen
Schritt 2 Unicode-System aufsetzenNur Programme mit Unicode-Flag sind ausführbarEventuell auftretende Laufzeitfehler analysierenSchnittstellen überprüfenListenlayout überprüfenTesten, Testen, Testen, …
* Auf Basis NetWeaver 2004s
Treffpunkt Semicolon
24
Weitere Infos
Treffpunkt Semicolon
www.gedoplan.de 13
Treffpunkt Semicolon
25
Enhancement FrameworkDas neue Erweiterungskonzept
Treffpunkt Semicolon
26
Anpassungsmöglichkeiten bisher
Eigenentwicklung
User-Exit
Customer-Exit
Business Transaction Events (BTE)
Business AddIn (BAdI)
Modifikation
Problem : Unterschiedlichste Techniken
Jeweils eigene Implementierungswerkzeuge
Treffpunkt Semicolon
www.gedoplan.de 14
Treffpunkt Semicolon
27
Das neue Erweiterungskonzept (Enhancement Framework)
Enhancement Framework
Enhancement Spot
Enhancement Point
Enhancement Section
Kernel BAdIs
Klassische BAdIs
Treffpunkt Semicolon
28
Enhancement Points
Ziel : Modifikationsfreies Einfügen von Quelltexten, Variablen- und Parameterdeklarationen in SAP-Programmen, SAP-Funktionsbausteinen und SAP-Methoden.
Unterschieden werden:
Expliziter Enhancement PointVon SAP vorbereitete Einfügemöglichkeit
Impliziter Enhancement Pointan bestimmten Stellen standardmäßig, also ohne Vorgabe durch SAP-Entwickler Erweiterungsmöglichkeit.
Treffpunkt Semicolon
www.gedoplan.de 15
Treffpunkt Semicolon
29
Expliziter Enhancement Point
Einfügepunkt im Coding SAP-seitig vorgedacht.
Zu Enhancement Point kann Implementierung angelegt werden.
Eventuell bereits vorhandene Implementierungen können redefiniert.(ersetzt) oder zurückgenommen werden.
Mehrfache Implementierungen zum gleichen Enhancement Point sind möglich.
Treffpunkt Semicolon
30
Implementierung anlegen
Treffpunkt Semicolon
www.gedoplan.de 16
Treffpunkt Semicolon
31
Impliziter Enhancement Point
Erweiterungsstelle nicht von SAP vorgedacht, aber dennoch nicht frei wählbar.
Zulässige Stellen für implizite Source Code PlugIns können im Editor angezeigt werden.
Treffpunkt Semicolon
32
Implizite Enhancement Points
Am Ende einer Strukturdefinition vor „END OF …“ zur Aufnahme zusätzlicher Komponenten.
Am Anfang und am Ende von Unterprogrammen, Funktionsbausteinen und Methoden lokaler bzw. globaler Klassen zum Einfügen zusätzlichen Codings.
Am Ende des IMPORTING-/EXPORTING-/CHANGING-Deklarationsblocksvon Methoden lokaler Klassen zur Aufnahme zusätzlicher Parameter
Am Ende der Public/Private/Protected Section einer lokalen Klasse zur Definition zusätzlicher Attribute und Methoden
Am Ende des Implementation-Block lokaler Klassen zur Implementierung der zusätzlich deklarierten Methoden
Treffpunkt Semicolon
www.gedoplan.de 17
Treffpunkt Semicolon
33
Implizite Enhancement Points
In Schnittstellen-Definitionen von Funktionsbausteinen und Methoden globaler Klassen zur Aufnahme zusätzlicher Parameter Zu globalen Klassen können beliebige Attribute und Methoden hinzugefügt werden.
Zu Methoden von globalen Klassen können so genannte Pre- und Post-Methoden definiert werden, die automatisch ausgeführt werden.
SAP-Methoden können durch Overwrite-Methode ersetzt werden.
Am Ende von Includes
Aber Achtung, es gibt Ausnahmen !
Treffpunkt Semicolon
34
Enhancement Section
Möglichkeit zur modifikationsfreien Ersetzung von SAP-Quelltext in Programm, Funktionsbausteinen und Methoden.
Es gibt keine impliziten Enhancement Points
Treffpunkt Semicolon
www.gedoplan.de 18
Treffpunkt Semicolon
35
Enhancement Spots
Explizite Enhancement Points, Enhancement Sections und KernelBAdIs werden mit Hilfe von Enhancement Spots zusammengefasst und verwaltet.
Zusammengesetzte Enhancement Spots können elemenentareEnhancement Spots und andere zusammengesetzte Spots bündeln.
KernelBAdIs
EnhancementPoints/Sections
Enhancement Spot 1
Enhancement Spot 2 Enhancement Spot 3
Enhancement Spot 4
Zusammengesetzter Enhancement Spot A
Treffpunkt Semicolon
36
Auffinden von Enhancement Spots und Implementierung
Enhancement Spots können mit Hilfe des „Erweiterungs-infosystems“ in der SE80 ermittelt und Implemen-tierungen verwaltet werden
Treffpunkt Semicolon
www.gedoplan.de 19
Treffpunkt Semicolon
37
Neue BAdI-Technik (Kernel-BAdIs)
Ziel
Integration in das Enhancement Framework
Integration in das Switch Framework
Performance-Steigerung
Realisierung von Zusatzfunktionen
Klassische BAdI-Technik noch vorhanden, wird aber nicht mehr weiterentwickelt
Migration klassischer BAdIs möglich
Treffpunkt Semicolon
38
Klassische BAdI-Technik
Instanz der Adapterklasse erzeugen
Interface-Methode aufrufen, die gleichnamige Methoden aktiver Implementierungen aufruft.
Treffpunkt Semicolon
www.gedoplan.de 20
Treffpunkt Semicolon
39
Neue BAdI-Technik
BAdI-Handle beschaffen (im Kernel vorhanden)
Methode des BAdI-Handles aufrufen, die gleichnamige Methoden aktiver Implementierungen aufruft.
Treffpunkt Semicolon
40
Performancevergleich
Classic BAdI Faktor 1
Migriertes BAdI Faktor 2 – 27 schneller
Kernel BAdI Faktor 40 – 600 schneller
Classic
Migriert
Kernel
Treffpunkt Semicolon
www.gedoplan.de 21
Treffpunkt Semicolon
41
Switch Framework (Zuordnung von Objekten zu Schalter)
Einem Schalter werden Pakete, Dynproelemente, Menü-Eintrage, …zugeordnet
Treffpunkt Semicolon
42
Switch Framework (Business Functions und Business Function Sets)
Einer Business-Function werden Schalter zugeordnet Ein Business-Function-Set fasst Business-Functionszusammen und wird bei Bedarf aktiviert.
Treffpunkt Semicolon
www.gedoplan.de 22
Treffpunkt Semicolon
43
Weitere Infos
Treffpunkt Semicolon
44
Vielen Dank für Ihre Aufmerksamkeit!
Top Related