ABAP best practices:
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn [u.a.]
Galileo Press
2005
|
Ausgabe: | 1. Aufl. |
Schriftenreihe: | SAP Press
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | 447 S. Ill., graph. Darst. |
ISBN: | 3898423549 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV019713244 | ||
003 | DE-604 | ||
005 | 20081006 | ||
007 | t | ||
008 | 050225s2005 ad|| |||| 00||| ger d | ||
020 | |a 3898423549 |9 3-89842-354-9 | ||
035 | |a (OCoLC)76674318 | ||
035 | |a (DE-599)BVBBV019713244 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a ger | |
049 | |a DE-Aug4 |a DE-473 |a DE-898 |a DE-1102 |a DE-92 |a DE-355 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 610 |0 (DE-625)143683: |2 rvk | ||
100 | 1 | |a Krüger, Sascha |e Verfasser |4 aut | |
245 | 1 | 0 | |a ABAP best practices |c Sascha Krüger ; Jörg Seelmann-Eggebert |
250 | |a 1. Aufl. | ||
264 | 1 | |a Bonn [u.a.] |b Galileo Press |c 2005 | |
300 | |a 447 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a SAP Press | |
650 | 0 | 7 | |a ABAP |0 (DE-588)4610511-6 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a ABAP |0 (DE-588)4610511-6 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Seelmann-Eggebert, Jörg |d 1966- |e Verfasser |0 (DE-588)121382702 |4 aut | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013040549&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-013040549 |
Datensatz im Suchindex
_version_ | 1804133168230432768 |
---|---|
adam_text | Titel: ABAP Best Practices
Autor: Krüger, Sascha
Jahr: 2005
Inhalt
Vorwort 11
1 Einleitung 13
1.1 An wen richtet sich dieses Buch?.................................................................. 13
1.2 Wie ist dieses Buch zu lesen? ........................................................................ 13
1.3 Wie kann ich mit diesem Buch praktisch arbeiten?................................... 16
1.3.1 Systemvoraussetzungen.................................................................... 16
1.3.2 Beispielprogramme............................................................................ 16
1.3.3 Übungsdaten ...................................................................................... 17
1.4 Syntaxkonventionen ........................................................................................ 19
2 Softwareentwicklung mit ABAP 21
2.1 Einleitung .......................................................................................................... 21
2.2 Objektorientiertes oder klassisches ABAP? ................................................ 22
2.2.1 Bessere Datenkapselung................................................................... 23
2.2.2 Mehrfachinstanziierung .................................................................... 24
2.2.3 Bessere Wiederverwendbarkeit des Quelltextes ........................... 30
2.2.4 Separation von Schnittstelle und Implementierung...................... 40
2.2.5 Unterstützung ereignisgesteuerter Programmierung .................... 45
2.2.6 Keine »schwarze Magie« durch den Verzicht auf implizite
Funktionalitäten................................................................................. 47
2.2.7 Verbesserte Syntax-und Semantikregeln ....................................... 48
2.2.8 Einziger Weg zur Nutzung neuer ABAP-Technologien................. 49
2.2.9 ABAP Objects-just do it! ................................................................ 50
2.3 (Nicht) Wiederverwendbare Komponenten ................................................ 53
2.3.1 Freigabestatus von Funktionsbausteinen und Klassen ................. 54
2.3.2 Handlungsempfehlung...................................................................... 55
2.4 Entwicklungsrichtlinien in der ABAP-Welt.................................................. 59
2.4.1 Namenskonventionen....................................................................... 60
2.4.2 Vermeidung von Literalen durch Verwendung
von Konstanten ................................................................................. 65
2.4.3 Dokumentation von funktionalen Einheiten ................................. 68
2.4.4 QS-Assessment .................................................................................. 69
2.5 Robuste Programme entwickeln ................................................................... 72
2.5.1 Defensive Programmierung.............................................................. 72
2.5.2 Ausnahmebehandlung ...................................................................... 73
Inhalt 5
2.5.3 Klassenbasierte Ausnahmebehandlung........................................... 81
2.5.4 Definition eigener Ausnahmen ........................................................ 85
2.5.5 Einbinden der traditionellen Ausnahmebehandlung in die
klassenbasierte Ausnahmebehandlung ........................................... 89
2.5.6 Historische Fehlerereignisse ............................................................. 92
3 Lösungskonzepte für die tägliche
Programmierarbeit mit ABAP 95
3.1 Dynamische und generische Programmierung............................................ 95
3.1.1 Dynamische Adressierung von Feldnamen .................................... 96
3.1.2 Dynamische Adressierung von Tabellennamen ............................. 98
3.1.3 Dynamische Angabe von Feldlisten und Klauseln bei SELECT .... 101
3.1.4 Dynamische Erzeugung eines Datenobjekts beliebigen Typs ...... 105
3.1.5 Dynamische Adressierung von Strukturkomponenten ................. 108
3.1.6 Sichere Sortierung einer internen Tabelle dynamisch durch
den Benutzer erlauben...................................................................... 110
3.1.7 Dynamischer Aufruf von internen Unterroutinen ......................... 114
3.1.8 Dynamischer Aufruf von externen Unterroutinen mit Zugriff
auf globale Felder des externen Programms .................................. 117
3.1.9 Dynamischer Aufruf von Funktionsbausteinen mit dynamischer
Parameterübergabe ........................................................................... 120
3.1.10 Dynamische Erzeugung von Klasseninstanzen und dynamischer
Methodenaufruf mit dynamischer Parameterübergabe................ 126
3.1.11 Polymorphie über Interfaces ............................................................ 134
3.2 Generierung von Programmen ....................................................................... 140
3.2.1 Erzeugung transienter Programme .................................................. 141
3.2.2 Erzeugung persistenter Programme ................................................ 152
3.2.3 Performancevergleich........................................................................ 156
3.3 Run-Time Type Identification......................................................................... 158
3.3.1 Arbeitsweise mit RTTI-Klassen ......................................................... 159
3.3.2 Geschachtelte Strukturen generisch auslesen ................................ 161
3.3.3 Export eines beliebigen Datenbanktabelleninhalts mit
Überschriftenzeile.............................................................................. 165
3.4 SQL-Performance und effiziente Datenbankkommunikation................... 169
3.4.1 Selektion der benötigten Felder ...................................................... 171
3.4.2 Vermeiden von SELECT...CHECK-Anweisungen ........................... 171
3.4.3 Aggregationsfunktionen.................................................................... 172
3.4.4 Lesen mehrerer Datenbanktabellen ................................................ 173
3.4.5 Update mehrerer Datensätze ........................................................... 174
3.4.6 Kopieren von Datenbanktabellen in interne Tabellen .................. 175
3.4.7 Abschalten der Änderungsprotokollierung für Tabellen ............... 177
3.5 Zeichenkettenverarbeitung............................................................................. 182
3.5.1 Strings versus C-Felder...................................................................... 184
3.5.2 Zerlegen eines Strings in gleich große Blöcke ................................ 186
3.5.3 Einlesen einer Textdatei in eine interne Tabelle
mit Zeilentyp STRING ....................................................................... 187
3.5.4 Einfügen von Zeichenketten............................................................. 190
Inhalt
3.6 Datumsfelder .................................................................................................... 191
3.6.1 Berechnung der Differenz zwischen zwei Daten........................... 192
3.6.2 Letzter Tag eines Monats.................................................................. 193
3.6.3 Anzahl der Schaltjahre zwischen zwei Jahren ................................ 194
3.6.4 Bestimmung des nächsten Arbeitstages ......................................... 195
3.6.5 Berechnung von Kalenderwochen und Wochentagen ................. 197
4 GUI- und Desktop-Entwicklung 201
4.1 GUI-Controls und das Control Framework.................................................. 201
4.1.1 GUI-Controls...................................................................................... 202
4.1.2 Control Framework ........................................................................... 203
4.1.3 Einbinden eines GUI-Controls ......................................................... 204
4.1.4 Mehrere GUI-Controls einsetzen .................................................... 208
4.2 ALV-Grid-Control ............................................................................................. 211
4.2.1 Daten aus mehreren Quellen (mit eingeschränkter
Spaltenselektion) darstellen ............................................................. 211
4.2.2 Einfaches Drop-Down-Listenfeld im Grid darstellen .................... 219
4.2.3 Drop-Down-Listenfeld nur für bestimmte Zellen
im Grid darstellen .............................................................................. 226
4.2.4 Reaktion auf Hotspot-Clicks und Setzen eines Filters .................. 232
4.3 Frontend-Kommunikation .............................................................................. 240
4.3.1 Datenaustausch mit dem Clipboard................................................ 242
4.3.2 Mit dem Dateisystem des Frontends arbeiten............................... 244
4.3.3 Export eines beliebigen Tabelleninhalts in eine durch
Trennzeichen separierte Liste .......................................................... 250
4.3.4 Ausführen eines Programms auf dem Präsentationsserver .......... 255
4.3.5 Arbeiten mit der Windows-Registry ............................................... 258
4.3.6 Fortschrittsanzeige in der Statusleiste des SAP GUI...................... 262
4.4 Dynpros und ABAP Objects ........................................................................... 264
5 Kommunikation mit der Außenwelt 275
5.1 Kommunikation mit dem Applikationsserver ............................................. 275
5.1.1 Interne Tabelle auf dem Applikationsserver speichern
und einlesen....................................................................................... 276
5.1.2 Kommandos auf dem Applikationsserver ausführen .................... 281
5.1.3 Externe Kommandos ausführen ...................................................... 284
5.2 RFC ..................................................................................................................... 290
5.2.1 Erstellen eines externen RFC-Client-Programms........................... 291
5.2.2 Externer RFC-Client mit dynamischer Tabellendefinition ............ 303
5.2.3 Erstellen eines externen RFC-Servers ............................................. 309
5.2.4 Externer RFC-Server als integrierte Applikation ............................ 315
5.3 FTP-Kommunikation ........................................................................................ 318
5.3.1 Kommunikation mit FTP-Servern .................................................... 319
Inhalt 7
5.3.2 Ausführen von FTP-Kommandolisten zum Transfer
von Dateien ........................................................................................ 324
5.3.3 FTP-Transfer von Dateien in interne Tabellen ............................... 330
5.4 Desktop-Integration ........................................................................................ 334
5.4.1 COM-Klassen ..................................................................................... 334
5.4.2 COM-Klasse aufrufen ........................................................................ 336
5.4.3 Datenaustausch mit Word, Excel Co.......................................... 345
6 SAP GUI Scripting 375
6.1 Einleitung und Überblick ................................................................................ 375
6.1.1 Technologischer Hintergrund........................................................... 376
6.1.2 Voraussetzungen für das GUI Scripting .......................................... 380
6.1.3 Aufzeichnen und Abspielen eines Scripts....................................... 383
6.1.4 Konstanten für virtuelle Keys und Funktionstasten ...................... 390
6.2 Fortgeschrittene Scripting-Applikationen ................................................... 391
6.2.1 Überblick............................................................................................. 391
6.2.2 Verbindung mit dem SAP GUI-Prozess herstellen......................... 392
6.2.3 Verbindung mit dem SAP-System herstellen ................................. 395
6.2.4 Ermitteln einer bestimmten SAP-Session ....................................... 397
6.2.5 Anmelden am SAP-System per Script ............................................. 399
6.2.6 Abmelden vom SAP-System per Script........................................... 401
6.2.7 Einsatz der Scripting-Support-Routinen ......................................... 403
6.2.8 Exportieren einer beliebigen Liste................................................... 405
A Glossar 417
B Tabellen des Flugdatenmodells 425
C Konstanten für virtuelle
Funktionstasten-Codes 429
D ABAP-Systemfeider 433
E Nützliche Eingaben im OK-Code-Feld 439
E.1 Direkter Aufruf von Transaktionen (Modusverwaltung) ........................... 439
E.2 Batchinput ......................................................................................................... 440
E.3 ABAP-Debugging ............................................................................................. 440
E.4 Pufferkommandos ............................................................................................ 440
8 Inhalt
F Die Autoren 441
Index 443
Inhalt g
|
any_adam_object | 1 |
author | Krüger, Sascha Seelmann-Eggebert, Jörg 1966- |
author_GND | (DE-588)121382702 |
author_facet | Krüger, Sascha Seelmann-Eggebert, Jörg 1966- |
author_role | aut aut |
author_sort | Krüger, Sascha |
author_variant | s k sk j s e jse |
building | Verbundindex |
bvnumber | BV019713244 |
classification_rvk | ST 250 ST 610 |
ctrlnum | (OCoLC)76674318 (DE-599)BVBBV019713244 |
discipline | Informatik |
edition | 1. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01350nam a2200361 c 4500</leader><controlfield tag="001">BV019713244</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20081006 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">050225s2005 ad|| |||| 00||| ger d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3898423549</subfield><subfield code="9">3-89842-354-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)76674318</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV019713244</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-1102</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-355</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 610</subfield><subfield code="0">(DE-625)143683:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Krüger, Sascha</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">ABAP best practices</subfield><subfield code="c">Sascha Krüger ; Jörg Seelmann-Eggebert</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn [u.a.]</subfield><subfield code="b">Galileo Press</subfield><subfield code="c">2005</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">447 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">SAP Press</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">ABAP</subfield><subfield code="0">(DE-588)4610511-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">ABAP</subfield><subfield code="0">(DE-588)4610511-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Seelmann-Eggebert, Jörg</subfield><subfield code="d">1966-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)121382702</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013040549&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-013040549</subfield></datafield></record></collection> |
id | DE-604.BV019713244 |
illustrated | Illustrated |
indexdate | 2024-07-09T20:04:25Z |
institution | BVB |
isbn | 3898423549 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-013040549 |
oclc_num | 76674318 |
open_access_boolean | |
owner | DE-Aug4 DE-473 DE-BY-UBG DE-898 DE-BY-UBR DE-1102 DE-92 DE-355 DE-BY-UBR |
owner_facet | DE-Aug4 DE-473 DE-BY-UBG DE-898 DE-BY-UBR DE-1102 DE-92 DE-355 DE-BY-UBR |
physical | 447 S. Ill., graph. Darst. |
publishDate | 2005 |
publishDateSearch | 2005 |
publishDateSort | 2005 |
publisher | Galileo Press |
record_format | marc |
series2 | SAP Press |
spelling | Krüger, Sascha Verfasser aut ABAP best practices Sascha Krüger ; Jörg Seelmann-Eggebert 1. Aufl. Bonn [u.a.] Galileo Press 2005 447 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier SAP Press ABAP (DE-588)4610511-6 gnd rswk-swf ABAP (DE-588)4610511-6 s DE-604 Seelmann-Eggebert, Jörg 1966- Verfasser (DE-588)121382702 aut HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013040549&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Krüger, Sascha Seelmann-Eggebert, Jörg 1966- ABAP best practices ABAP (DE-588)4610511-6 gnd |
subject_GND | (DE-588)4610511-6 |
title | ABAP best practices |
title_auth | ABAP best practices |
title_exact_search | ABAP best practices |
title_full | ABAP best practices Sascha Krüger ; Jörg Seelmann-Eggebert |
title_fullStr | ABAP best practices Sascha Krüger ; Jörg Seelmann-Eggebert |
title_full_unstemmed | ABAP best practices Sascha Krüger ; Jörg Seelmann-Eggebert |
title_short | ABAP best practices |
title_sort | abap best practices |
topic | ABAP (DE-588)4610511-6 gnd |
topic_facet | ABAP |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013040549&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT krugersascha abapbestpractices AT seelmanneggebertjorg abapbestpractices |