22
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 ……

mySAP ERP 2005 und Auswirkungen auf die ABAP-Entwicklung

Embed Size (px)

DESCRIPTION

Das Upgrade auf mySAP ERP 2005 und die oft damit verbundene Migration auf Unicode bewirken, dass eine Reihe von eigenentwickelten ABAP-Anwendungen und Schnittstellen zu Fremdsystemen nicht mehr korrekt arbeiten. Wichtig ist, die potentiellen Probleme bereits rechtzeitig vor der Umstellung zu erkennen und die notwendigen Anpassungen vorzunehmen. In seinem Vortrag wird Ihnen Manfred Sprenger, GEDOPLAN, typische Probleme darstellen und erläutern, wie Sie vorgehen sollten. Zusätzlich erfahren Sie, welche Möglichkeiten Ihnen das neue Enhancement Framework bietet. Es wurde von SAP entwickelt, um Kunden mehr Möglichkeiten einzuräumen, modifikationsfrei an SAP-Anwendungen Änderungen bzw. Ergänzungen vorzunehmen. ABAP und Unicode * Warum Unicode ? * Auswirkungen auf ABAP-Programme * Überprüfung auf Unicode-Fähigkeit Enhancement-Framework * Erweiterungstechniken im Vergleich * Kernel-BADIs * Enhancement-Points, Enhancement-Sections

Citation preview

Page 1: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

……

Page 2: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 3: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 4: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 5: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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.

Page 6: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 7: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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 !

Page 8: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 9: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 10: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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.

Page 11: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 12: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 13: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 14: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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.

Page 15: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 16: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 17: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 18: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 19: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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.

Page 20: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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

Page 21: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

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.

Page 22: mySAP ERP 2005 und Auswirkungen  auf die ABAP-Entwicklung

Treffpunkt Semicolon

www.gedoplan.de 22

Treffpunkt Semicolon

43

Weitere Infos

Treffpunkt Semicolon

44

Vielen Dank für Ihre Aufmerksamkeit!