Sie sind auf Seite 1von 34

ABAP Developer Zertifizierungsbungsaufgaben

- BC400 ABAP Workbench Grundlagen - BC401 ABAP Objects

1/34

Inhaltsverzeichnis:
1 2 Vorwort ........................................................................................................................................................... 5 Fragen.............................................................................................................................................................. 6 2.1 BC400 ABAP Workbench Grundlagen ................................................................................ 6

2.1.1 Kapitel 2: Einfhrung in die ABAP Workbench....................................................... 6 2.1.2 Kapitel 3: Einfhrung in das ABAP Dictionary ....................................................... 6 2.1.3 Kapitel 4: Grundlegende ABAP-Sprachelemente....................................................... 7 2.1.4 Kapitel 5: Datenbeschaffung ................................................................................................. 8 2.1.5 Kapitel 6: Werkzeuge zur Programmanalyse ................................................................ 9 2.1.6 Kapitel 7: Unterprogramme in ABAP ............................................................................... 9 2.1.7 Kapitel 8: Einfhrung ABAP-Ereignisse .................................................................... 10 2.1.8 Kapitel 9: Benutzerdialoge ................................................................................................. 11 2.1.9 Kapitel 10: Reuse-Komponenten ..................................................................................... 13 2.1.10 2.2 Kapitel 11: Anpassung der SAP-Standardsoftware ........................................... 13

BC401 ABAP Objects .................................................................................................................. 14 14

2.2.1 Kapitel 1: Vervollstndigung der prozeduralen Anteile von ABAP Objects 2.2.2 Kapitel 2: Einfhrung in die objektorientierte Programmierung.................. 15 2.2.3 Kapitel 3: Objektorientierte Konzepte und Programmiertechniken .............. 16 2.2.4 Kapitel 4: Objektorientierte Repository-Objekte ...................................................... 17 2.2.5 Kapitel 5: Ausnahmebehandlung und dynamische Programmierung........ 18 3 Antworten .................................................................................................................................................. 21 3.1 BC400 ABAP Workbench Grundlagen ............................................................................. 22

3.1.1 Kapitel 2: Einfhrung in die ABAP Workbench.................................................... 22 3.1.2 Kapitel 3: Einfhrung in das ABAP Dictionary .................................................... 22 3.1.3 Kapitel 4: Grundlegende ABAP-Sprachelemente.................................................... 23 3.1.4 Kapitel 5: Datenbeschaffung .............................................................................................. 25 3.1.5 Kapitel 6: Werkzeuge zur Programmanalyse ............................................................. 25

2/34

3.1.6 Kapitel 7: Unterprogramme in ABAP ............................................................................ 26 3.1.7 Kapitel 8: Einfhrung ABAP-Ereignisse .................................................................... 26 3.1.8 Kapitel 9: Benutzerdialoge ................................................................................................. 26 3.1.9 Kapitel 10: Reuse-Komponenten ..................................................................................... 27 3.1.10 3.2 Kapitel 11: Anpassung der SAP-Standardsoftware ........................................... 28

BC401 ABAP Objects .................................................................................................................. 29 29

3.2.1 Kapitel 1: Vervollstndigung der prozeduralen Anteile von ABAP Objects 3.2.2 Kapitel 2: Einfhrung in die objektorientierte Programmierung.................. 30 3.2.3 Kapitel 3: Objektorientierte Konzepte und Programmiertechniken .............. 31 3.2.4 Kapitel 4: Objektorientierte Repository-Objekte ...................................................... 32 3.2.5 Kapitel 5: Ausnahmebehandlung und dynamische Programmierung........ 33 4 Quellenverzeichnis ............................................................................................................................... 34

3/34

Name

Datum

Beschreibung

Status

Versio n

Sandro Scalco

27.08.20 12

Dokument erstellt. Inhaltsverzeichnis und Titelblatt erstellt. Vorwort hinzugefgt. BC400 Kurs (2.1) und BC401 Kurs (2.2) hinzugefgt.

In Bearbeitung, nicht freigegeben

0.1

Sandro Scalco

28.08.20 12

Dokument formatiert

Freigegeben

1.0

4/34

Vorwort

Dieses Dokument dient der optimalen Vorbereitung auf die Entwicklerzertifizierung C_TAW12_70 DC - ABAP with SAP NetWeaver 7.0. Dieser SAP Kurs wird ABAP Entwicklern mit einer Berufserfahrung von 3 Jahren empfohlen. Mehr Informationen zu SAP Zertifizierungen und speziell dem hier erwhnten Kurs sind unter folgendem Link zu finden. SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0 https://training.sap.com/ch/de/certification/c_taw12_70-sap-certified-developmentassociate-abap-with-sap-netweaver-70-g/#competencies (Stand 27.08.2012) Das Dokument ist in 2 wesentliche Bestandteile gegliedert. Der erste Teil besteht aus Fragen zu den entsprechenden SAP Kursen und sind nach Kapiteln gegliedert. Der zweite Teil beinhaltet deren Antworten. So kann dieses Dokument als kleine Vorbereitungsprfung genutzt werden. Der Lernerfolg lsst sich durch die gewhlte Gliederung Schrittweise berprfen.

5/34

2 2.1

Fragen BC400 ABAP Workbench Grundlagen

2.1.1 Kapitel 2: Einfhrung in die ABAP Workbench


1. Repository-Objekte sind mandantenspezifisch. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

2. Kundenobjekte knnen in SAP-Pakete aufgenommen werden. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

3. Welche sind die beiden Werkzeuge zur Suche nach Repository-Objekten? Wann soll welches Suchwerkzeug benutzt werden? 4. Ein Anwendungsprogramm muss fr jede im System genutzte Sprache neu angelegt werden. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig 5. Was ist ein Kettensatz? 6. Bei welcher Aktion wird der Transport der Entwicklungsobjekte eines Auftrags angestoen? Whlen Sie die richtige(n) Antwort(en). A Beim Sichern eines Objektes C Bei Freigabe einer Aufgabe B Beim Aktivieren eines Objektes D Bei Freigabe des Auftrags Falsch

2.1.2 Kapitel 3: Einfhrung in das ABAP Dictionary


1. Mit Hilfe von Dictionary-Typen (deskriptiven Elementen) knnen im Programm Variablen definiert werden. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

2. Was stimmt bei Datenelementen und Domnen? Whlen Sie die richtige(n) Antwort(en). A Datenelemente enthalten technische und semantische Informationen. B Datenelemente beziehen sich stets auf Domnen. C Datenelemente beziehen sich typischerweise auf Domnen. D Datenelemente drfen nicht zur Definition einer Variablen verwendet werden. 3. Datenbanktabellen werden samt Inhalt im ABAP Dictionary abgelegt. Geben Sie an, ob diese Aussage richtig oder falsch ist.

6/34

Richtig

Falsch

4. Wie nennt man im ABAP Dictionary die Beschreibung einer Datenbanktabelle und welchen Namen hat sie? 5. Was wird mit der Anweisung "DATA myvar TYPE dbtab." definiert, wenn dbtab eine transparente Tabelle ist? Whlen Sie die richtige(n) Antwort(en). A eine Kopie der Datenbanktabelle dbtab die Datenbanktabelle dbtab C eine Tabellenvariable mit dem gleichen Inhalt wie die Datenbanktabelle dbtab D eine Strukturvariable mit dem gleichen Aufbau wie eine dbtab-Zeile B eine Tabellenvariable mit dem gleichen Aufbau wie

2.1.3 Kapitel 4: Grundlegende ABAP-Sprachelemente


1. Welche der ABAP-Standardtypen sind numerisch? 2. Ist es mglich, neben den Standardtypen noch weitere Typen zu definieren? Wenn ja, wo? 3. Mit welchem ABAP-Schlsselwort definiert man lokale Typen ? 4. In welchem Systemfeld befindet sich der Schleifenzhler fr die DO- bzw. WHILE-Schleife? 5. ber welche Elemente des ABAP Dictionary kann programmintern eine Strukturvariable typisiert werden? Whlen Sie die richtige(n) Antwort(en). A Datenelement C Struktur B Domne D Transparente Tabelle

6. Welche Felder werden bei der MOVE-CORRESPONDING-Anweisung, in der zwei Strukturen anzugeben sind, bercksichtigt? 7. Was ist eine interne Tabelle? Whlen Sie die richtige(n) Antwort(en). A Datenbanktabelle B Excel-Tabelle D Tabelle, die in einer anderen Tabelle eingebettet ist

C Variable in einem ABAP-Programm

8. ber welches Schlsselwort wird eine interne Tabelle definiert? 9. Welche drei Angaben sind bei der Definition einer internen Tabelle zu machen? 10. Welche drei Arten von internen Tabellen gibt es, ber deren Wahl man die Performance der Tabellenzugriffe beeinflussen kann? 11. Was ist ein Tabellentyp? Whlen Sie die richtige(n) Antwort(en). A eine interne Tabelle B Beschreibung einer internen Tabelle D Die Angabe "STANDARD"/"SORTED"/"HASHED" bei einer

C Beschreibung einer Datenbanktabelle internen Tabelle

12. SBOOK ist eine Datenbanktabelle. Mit welcher Syntax wird eine interne Tabelle mit dem gleichen Aufbau wie SBOOK angelegt? Whlen Sie die richtige(n) Antwort(en). A DATA itab TYPE sbook. C DATA itab TYPE LINE OF sbook. B DATA itab TYPE TABLE OF sbook. D DATA itab LIKE sbook.

7/34

13. Mit welcher Syntax wird ein Arbeitsbereich zu einer bereits definierten internen Tabelle namens itab angelegt? 14. Mit welcher Anweisung erfolgt das Lesen eines Einzelsatzes aus einer internen Tabelle ? Whlen Sie die richtige(n) Antwort(en). A SELECT ... ENDSELECT C READ TABLE E FETCH 15. Sollen interne Tabellen mit Kopfzeilen weiterhin in der Programmierung verwendet werden? D GET B SELECT SINGLE

2.1.4 Kapitel 5: Datenbeschaffung


1. Warum soll im Regelfall fr Datenbankzugriffe "Open SQL" statt "Native SQL" verwendet werden? 2. Mit welcher Anweisung wird ein Einzelsatz aus einer Datenbanktabelle gelesen? 3. Muss in der WHERE-Klausel einer SELECT-Anweisung die Mandantenabgrenzung angegeben werden, wenn die zu lesende Datenbanktabelle das Mandantenfeld besitzt? 4. Wie heit die performante Technik, die man benutzen soll, um den Inhalt einer Datenbanktabelle in eine interne Tabelle zu laden? 5. In welchem Systemfeld steht die Anzahl der mittels SELECT gelesenen Stze? Whlen Sie die richtige(n) Antwort(en). A SY-SUBRC C SY-DBCNT B SY-TABIX D SY-INDEX

6. Welche Technik soll zum Lesen zusammengehriger Stze aus mehreren Datenbanktabellen eingesetzt werden, da sie meist wesentlich performanter ist als geschachtelte SELECT-Anweisungen? 7. Welche der folgenden Aussagen zur Berechtigungsprfung sind korrekt? Whlen Sie die richtige(n) Antwort(en). A In der SELECT-Anweisung ist bereits die zugehrige Berechtigungsprfung integriert. B Die SELECT-Anweisung funktioniert auch dann einwandfrei, wenn der Benutzer nicht ber die entsprechende Berechtigung zum Lesevorgang verfgt. C Um Daten vor ungewollten Zugriffen zu schtzen, ist im Programm eine Berechtigungsprfung zu realisieren. D Im Programm muss stets eine Berechtigungsprfung realisiert werden. 8. Mit welcher ABAP-Anweisung wird eine Berechtigungsprfung realisiert und wo steht das Prfungsergebnis? 9. Welche der folgenden Aussagen zu Berechtigung und Berechtigungsobjekten sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Ein Berechtigungsobjekt besitzt Felder samt Feldwerten. B Eine Berechtigung ist eine konkrete Ausprgung eines Berechtigungsobjektes, d. h. ein Berechtigungsobjekt samt Feldwerten. C Im Benutzerstammsatz befinden sich Berechtigungsobjekte.

8/34

D Im Benutzerstammsatz befinden sich Berechtigungen.

2.1.5 Kapitel 6: Werkzeuge zur Programmanalyse


1. Welche der folgenden Aussagen zur Laufzeitanalyse sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Die Laufzeitanalyse findet auch syntaktische Fehler Ihres Programms. B Die Laufzeitanalyse findet auch semantische Fehler Ihres Programms. C Um eine detaillierte Auswertung der Laufzeitanalyse zu bekommen, ist eine Variante mit der Einstellung "Keine Aggregation" anzulegen und bei Ausfhrung der Laufzeitanalyse anzugeben. D Bei der Ergebnisauswertung sollte auf jeden Fall das Messumfeld, d. h. zum Messzeitpunkt herrschende Netz/Systemlast, Datenvolumen sowie eventuell vorhandene Tabellenpuffer, bercksichtigt werden. 2. Wo bekommt man Tipps und Tricks zur performanten Programmierung in ABAP? 3. Welche der folgenden Aussagen zum Code Inspector treffen zu? Whlen Sie die richtige(n) Antwort(en). A Bei Durchfhrung einer Code-Inspector-Prfung muss stets eine Prfvariante angegeben werden. B Zur Festlegung des Detaillierungsgrads einer Prfung kann eine entsprechende Prfvariante angelegt und zur Inspektion angegeben werden. C Die Durchfhrung einer Code-Inspector-Prfung ber das (Kontext-) Men des Object Navigator verwendet eine Standardprfvariante. D Prfvarianten, Objektmengen sowie Inspektionen knnen ber die Transaktion SCI definiert werden. 4. Welche Aspekte werden bei der Untersuchung eines Programms durch den Code Inspector bercksichtigt? Whlen Sie die richtige(n) Antwort(en). A Syntaxprfung B Typische Semantikfehler (z. B. AUTHORITY-CHECK-Anweisung ohne anschlieende SY-SUBRC-Prfung) C Performance (z. B. geschachtelte SELECT-Anweisungen) D Sicherheit (z. B. mandantenbergreifende Datenzugriffe) E Formatierung des Quelltextes (z. B. Einrcken der in Schleifen befindlichen Programmzeilen)

2.1.6 Kapitel 7: Unterprogramme in ABAP


1. Zu welchem Zweck soll die Unterprogrammtechnik eingesetzt werden? Whlen Sie die richtige(n) Antwort(en). A Zur Performance-Verbesserung B Zur bersichtlichen Programmgestaltung

C Um eine im Programm wiederholt bentigte Funktionalitt fr die Mehrfachnutzung zu kapseln D Um die zentrale Wartbarkeit einer Funktionalitt innerhalb eines Programms zu realisieren E Um eine Funktionalitt systemweit zur Verfgung zu stellen 2. Zu welchem Zweck soll die Parameterbergabe an Unterprogramme verwendet werden? Whlen Sie die richtige(n) Antwort(en). A Hauptschlich zur bergabe von Benutzereingaben an das Unterprogramm Verbesserung B Zur Performance-

9/34

C Zur Flexibilisierung des Unterprogramms

D Zur Stabilisierung des Unterprogramms

3. ber welche ABAP-Anweisung wird ein Unterprogramm definiert bzw. aufgerufen? 4. Welche der folgenden Aussagen zu Unterprogrammen sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Bei Aufruf eines Unterprogramms sind Variablen oder Literale als Aktualparameter an entsprechende Formalparameter stellungsbezogen zu bergeben. B Beim Aufruf eines Unterprogramms muss auf Namensgleichheit von Formal- und Aktualparameter geachtet werden. C Der bergabemodus eines Formalparameters wird in der Definition des Unterprogramms festgelegt. D Es gibt zwei verschiedene bergabemodi fr Formalparameter. E USING-Parameter ohne den VALUE-Zusatz sind Call-by-reference-Parameter. F Groe interne Tabellen sollen ber einen Call-by-value-Parameter an das Unterprogramm bergeben werden.

2.1.7 Kapitel 8: Einfhrung ABAP-Ereignisse


1. Welche der folgenden Aussagen zu Ereignisverarbeitungsblcken sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Hat ein Programm keine expliziten Ereignisverarbeitungsblcke, so gehren alle Anweisungen implizit zum AT-SELECTION-SCREEN-Block. B Die Reihenfolge der Ereignisverarbeitungsblcke im Programm hat keine Auswirkung auf den Programmablauf. C Ereignisverarbeitungsblcke knnen ineinander geschachtelt werden. D Ereignisverarbeitungsblcke mssen jeweils explizit abgeschlossen werden. 2. Warum eignet sich das Ereignis INITIALIZATION zur (dynamischen) Vorbelegung von Eingabefeldern des Selektionsbildes? 3. Wie heit das Ereignis fr die Hauptverarbeitung eines ausfhrbaren Programms?

10/34

2.1.8 Kapitel 9: Benutzerdialoge


1. Was ist der wesentliche Vorteil von Textsymbolen gegenber Literalen? 2. Mit welcher Syntax gibt man ein Textsymbol namens abc auf der Liste aus? Whlen Sie die richtige(n) Antwort(en). A WRITE abc. C WRITE 'text-abc'. B WRITE 'abc'. D WRITE text-abc.

3. Welche der folgenden Aussagen zu Textelementen eines Programms sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Zu den Textelementen gehren neben den Textsymbolen auch die Listen- und Spaltenberschriften. B Textelemente werden programmbezogen abgelegt. C Nicht alle Textelemente sind bersetzbar.

D Textelemente eines Programms mssen zur Nutzung aktiviert werden. E Durch die Pflege der Listberschrift ndert man auch die Kurzbeschreibung des Programms. 4. Wie heit das Ereignis, das bei Doppelklick auf eine Listenzeile ausgelst wird? 5. Welches Systemfeld enthlt die aktuelle Liststufe? WelchenWert hat dieses whrend der Erstellung und Anzeige der Grundliste? 6. Wozu ist das Selektionsbild hauptschlich da? 7. Welche der folgenden Aussagen zu Selektionstexten sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Zu Select-Options knnen keine Selektionstexte gepflegt werden. B So wie Listberschriften direkt auf der Liste pflegbar sind, knnen Selektionstexte direkt auf dem Selektionsbild gepflegt werden. C Selektionstexte sind nicht bersetzbar. D Selektionstexte gehren wie Textsymbole und Listberschriften zu den Textelementen eines Programms und sind daher ebenfalls bersetzbar. 8. Welche der folgenden Aussagen zum Selektionsbild sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Alle Eingabefelder eines Selektionsbildes haben eine F1-Hilfe. B Alle Eingabefelder eines Selektionsbildes haben eine F4-Hilfe. C Typischerweise werden Berechtigungsprfungen zum Ereignis AT SELECTION-SCREEN realisiert. D Eine Benutzernachricht vom Typ E fhrt zur Anzeige des Nachrichtentextes mit Programmabbruch, falls sie zum Ereignis AT SELECTION-SCREEN gesendet wird. E Varianten sind ausgefllte Selektionsbilder eines Programms und werden programmbezogen abgelegt. 9. Welche der folgenden Aussagen zum Dynpro sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Das statische Folge-Dynpro eines Dynpros kann nicht dynamisch bersteuert werden. B Ein Dynpro hat neben Attributen, Layout und Elementliste vor allem auch eine Ablaufsteuerung. C In der Ablaufsteuerung eines Dynpros befinden sich ABAP-Anweisungen.

11/34

D In der Ablaufsteuerung eines Dynpros befinden sich Verweise auf Module, die sich im Programm befinden und ABAP-Anweisungen enthalten. E Der automatische Datentransport zwischen programminternen Variablen und Dynpro-Feldern erfolgt nur bei gleichnamigen Feldern. 10. Welches ist das wesentlichste Attribut einer Drucktaste? 11. Wie heit die Anweisung, die das statische Folge-Dynpro des aktuellen Dynpros bersteuert? 12. Wo werden die Mens eines Dynpros definiert? 13. ber welche Anweisungen werden GUI-Titel bzw. GUI-Status einem Dynpro zugeordnet?

12/34

2.1.9 Kapitel 10: Reuse-Komponenten


1. Was ist ein Funktionsbaustein? 2. ber welche Anweisung wird ein Funktionsbaustein aufgerufen? 3. Welche der folgenden Aussagen zu Funktionsbausteinen sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Beim Aufruf eines Funktionsbausteins sind alle Import-, Export- und CHANGING-Parameter zu versorgen. B Beim Aufruf eines Funktionsbausteins sollten Ausnahmen abgefangen und behandelt werden, da ein Laufzeitfehler auftritt, wenn eine nicht abgefangene Ausnahme vom Funktionsbaustein ausgelst wird. C Beim Aufruf eines Funktionsbausteins werden die IMPORT-Parameter unter dem IMPORTING-Zusatz und die EXPORT-Parameter unter dem EXPORTING-Zusatz aufgefhrt. D Beim Aufruf eines Funktionsbausteins werden die IMPORT-Parameter unter dem EXPORTING-Zusatz und die EXPORT-Parameter unter IMPORTING-Zusatz aufgefhrt. 4. Welche der folgenden Aussagen zu Klassen/Methoden sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Im SAP-Standard sind bereits Klassen mit ntzlichen Funktionalitten enthalten. B Die Suche nach Klassen kann ber die blichen Suchwerkzeuge "Repository Infosystem" und "SAPAnwendungshierarchie" durchgefhrt werden. C Zur Ansteuerung des SAP Grid Controls (ALV) kann eine Standardklasse verwendet werden. D Zur Ansteuerung anderer EnjoySAP-Controls (z. B. Tree-Control) mssen kundeneigene Klassen definiert werden. 5. Was ist aus Nutzungssicht ein BAPI?

2.1.10 Kapitel 11: Anpassung der SAP-Standardsoftware


1. Was ist eine Modifikation? 2. Warum sollen bei kundenindividuellen Anpassungen der SAP-Software nach Mglichkeit Erweiterungen statt Modifikationen benutzt werden?

13/34

2.2

BC401 ABAP Objects

2.2.1 Kapitel 1: Vervollstndigung der prozeduralen Anteile von ABAP Objects


1. Was sollten Sie mit Ihren bereits existenten Programmen tun, nachdem der Upgrade von SAP R/3 4.6C nach SAP Web AS 6.20 durchgefhrt worden ist? 2. Fr welche der folgenden eingebauten Datentypen sollten Sie die ursprnglichen Varianten der einschlgigen Zeichenkettenverarbeitungsanweisungen oder den optionalen Zusatz IN CHARACTER MODE verwenden? Whlen Sie die richtige(n) Antwort(en). AD EN B C F STRING CX G XSTRING D T

3. Fr welche der folgenden eingebauten Datentypen sollten Sie bei Vergleichen die neuen Vergleichsoperatoren BYTE-CO, BYTE-CA, etc. verwenden? Whlen Sie die richtige(n) Antwort(en). AD EN B C F STRING CX G XSTRING D T

4. Im Prinzip entsteht berhaupt kein Umsetzungsaufwand von SAP R/3 4.6C nach SAP Web AS 6.20 bezglich bereits existenter Programme, wenn in diesen bei Zeichenkettenverarbeitungen generell immer schon sicher programmiert worden ist (Kopieren von Strukturen nur elementar-komponentenweise, Vermeidung von OffsetLngenzugriff, etc.). Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch per MOVE problemlos mglich

5. Vor SAPWeb AS 6.10war das Kopieren von gesamten Strukturinhalten

und sehr praktisch. Erst wegen der Unicode-Fhigkeit von SAP Web AS 6.20 ergeben sich dabei nun Probleme, so dass so etwas nicht mehr programmiert werden darf. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

6. Ab SAP Web AS 6.10 fhrt der Offset-Lngenzugriff generell zu einem Syntaxfehler, falls das Kennzeichen Unicodeprfungen aktiv gesetzt ist. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

7. Welche der folgenden Aussagen sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Sortierte Tabellen knnen nur mehrdeutige Schlssel besitzen. B Standardtabellen knnen nur mehrdeutige Schlssel besitzen. C SortierteundHash-Tabellen sind Indextabellen. D Standardtabellen sind Indextabellen. E Der Standardschlssel ist der Schlssel einer Standardtabelle. F Der Standschlssel enthlt immer alle Komponenten des Zeilentyps. 8. Als generische Typen bezeichnet man Typdefinitionen, bei denen gewisse Angaben fehlen. Diese fehlenden Typeigenschaften werden zur Laufzeit von einem Aktualparameter geerbt, wenn man den generischen Typ zur Typisierung von Schnittstellenparametern verwendet. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

14/34

9. Generische Tabellentypen erlauben dynamische Programmierung, indem z. B. die Tabellenart einer programmglobal definierten internen Tabelle erst zur Laufzeit festgelegt werden kann. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

10. Welche der folgenden Aussagen sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Auf Hash-Taballen knnen nur Schlsselzugegriffe erfolgen. B Schlsselzugriff bedeutet, dass in der Suchklausel nur Schlsselfelder der internen Tabelle auftauchen drfen. C Indexzugriffe erlauben einen Zugriff ber die Zeilennummer. D Ein Einzelsatzschlsselzugriff per READ TABLE kann bei Standardtabellen mehrere Datenstze gleichzeittig liefern, da dort der Schlssel prinzipiell immer mehrdeutig ist. E Standardtabellen knnen Sie mit der SORT-Anweisung sortieren. F Wenn Sie einen Datensatz per INSERT ... INTO TABLE in eine sortierte Tabelle mit eindeutigem Schlssel einfgen wollen, so gelingt dies nur, wenn mit der konkreten Wertekombination des Datensatzes fr die Schlsselkomponenten noch kein anderer Datensatz in der internen Tabelle vorhanden ist. Andernfalls wird der Rckgabewert SY-SUBRC auf eine Zahl ungleich null gesetzt. 11. SAP empfiehlt die Verwendung interner Tabellen ohne Kopfzeile, um die Syntax leichter lesbar zu halten. Dies ist vor allem bei geschachtelten internen Tabellen hilfreich. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

12. Welche der folgenden Aussagen sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Bei allen Schlsselzugriffen whlt das Laufzeitsystem abhngig von der Tabellenart immer die schnellst durchfhrbare Variante, sofern mglich. B Hash-Tabellen sollten nicht eingesetzt werden, wenn sehr viele ndernde Zugriffe notwendig sind.

C Die Verwendung von Feldsymbolen und Referenzen spart vor allem bei geschachtelten internen Tabellen viel Laufzeitbedarf ein. D Bei Standardtabellen ist die binre Suche nicht mglich. E Zugriffe ber die Zeilennummer sind bei Schleifenverarbeitungen in der Regel die schnellste Variante.

2.2.2 Kapitel 2: Einfhrung in die objektorientierte Programmierung


1. Das objektorientierte Programmiermodell ist deutlich spter als das prozedurale entstanden. Es bietet damit mehr Mglichkeiten, d. h. es knnen damit Anwendungsprobleme gelst werden, die mit rein prozeduralen Programmiersprachen nicht lsbar waren. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

2. Was ist mit dem Begriff Mehrfachinstanziierbarkeit gemeint? 3. Was ist mit dem Begriff Kapselung gemeint? 4. Was versteht man in ABAP Objects unter einer Klasse?

15/34

5. Worin besteht der Unterschied zwischen statischen Komponenten und Instanzkomponenten einer Klasse? 6. Was versteht man in ABAP Objects unter einem Konstruktor? 7. Angenommen, Sie definieren eine Klasse. Mssen Sie dann auch immer einen Konstruktor definieren?

2.2.3 Kapitel 3: Objektorientierte Konzepte und Programmiertechniken


1. Wie lassen Sie syntaktisch eine lokale Unterklasse von einer Oberklasse erben? 2. Wie redefinieren Sie syntaktisch eine geerbte Methode innerhalb einer lokalen Unterklasse? 3. Angenommen, Sie kopieren eine Unterklassenreferenz auf eine Referenzvariable, die auf die Oberklasse typsiert ist (Narrowing Cast). Auf welche Komponenten knnen Sie ber diese Referenzvariable zugreifen? Whlen Sie die richtige(n) Antwort(en). A redefinierte Komponenten der Oberklasse C geerbte Komponenten der Oberklasse B neu definierte Komponenten der Unterklasse D redefinierte Komponenten der Unterklasse

4. Angenommen, eine Referenzvariable typisiert auf eine Oberklasse enthlt eine Unterklasseneferenz und Sie kopieren diese auf eine Referenzvariable, die auf die Unterklasse typisiert ist (Widening Cast). Auf welche der folgenden Komponenten knnen Sie ber diese Referenzvariable zugreifen? Whlen Sie die richtige(n) Antwort(en). A redefinierte Komponenten der Oberklasse C geerbte Komponenten der Oberklasse 5. Zu welchem Zweck setzen Sie die Vererbung ein? 6. Hat ein Interface einen Implementationsteil? 7. Angenommen, Sie kopieren eine Instanzreferenz einer Klasse, die ein Interface implementiert, auf eine Referenzvariable, die auf das Interface typisiert ist (Narrowing Cast). Auf welche Komponenten knnen Sie ber diese Referenzvariable zugreifen? Whlen Sie die richtige(n) Antwort(en). A auf die Komponenten aus dem Interface B auf die Komponenten aus der Klasse, die nicht im Interface definiert sind C auf alle Komponenten aus der Klasse Namen definiert sind 8. Angenommen, eine Referenzvariable typisiert auf ein Interface enthlt eine Instanzreferenz einer Klasse, die dieses Interface implementiert, und Sie kopieren diese auf eine Referenzvariable, die auf die Klasse typisiert ist (Widening Cast). Auf welche der folgenden Komponenten knnen Sie ber diese Referenzvariable zugreifen? Whlen Sie die richtige(n) Antwort(en). A auf die Komponenten aus dem Interface B auf die Komponenten aus der Klasse, die nicht in dem Interface definiert sind C auf alle Komponenten aus der Klasse Namen definiert sind 9. Mit welchem Schlsselwort definieren Sie ein Ereignis? 10. Mit welchem Schlsselwort lsen Sie ein Ereignis aus? 11. Mit welcher Anweisung definieren Sie eine Behandlermethode M_H fr das Ereignis E der Klasse C? D auf die Komponenten aus dem Interface, fr die Alias D auf die Komponenten aus dem Interface, fr die Alias B neu definierte Komponenten der Unterklasse D redefinierte Komponenten der Unterklasse

16/34

12. Mit welcher Anweisung registrieren Sie eine Behandlermethode M_H der reagierenden Instanz REF_H bei der auslsenden Instanz REF_R? 13. Knnen Ereignisse in Interfaces definiert werden? 14. Knnen Ereignisse in Interfaces ausgelstwerden?

2.2.4 Kapitel 4: Objektorientierte Repository-Objekte


1. Welche der folgenden Aussagen sind korrekt? Whlen Sie die richtige(n) Antwort(en).

A MitdemClass Builder kann man Funktionsbausteine anlegen. B Eine globale Klasse kann eine lokale Klasse enthalten. C Eine globales Interface kann ein lokales Interface enthalten. D Eine globale Klasse kann ein lokales Interface enthalten. E Eine lokale Klasse innerhalb einer globalen Klasse stellt eine geschachtelte Definition von Klassen dar. F Eine programmlokale Klasse kann mit dem Class Builder in eine globale Klasse umgewandelt werden. G Eine programmlokale Klasse kann mit dem Class Builder kopiert werden. Bei der Kopie handelt es sich dann um eine globale Klasse. H MitdemRefactoring Assistent knnen Sie innerhalb einer Vererbungshierarchie Methoden in andere Klassen verschieben. I MitdemRefactoring Assistent knnen Sie Modelldiagramme entwerfen. 2. Um den Benutzer eine objektorientierte Anwendung ausfhren lassen zu knnen, muss immer ein ausfhrbares, ein Modulpool- oder ein Funktionsgruppenprogramm existieren, da andernfalls nirgendwo eine Instanz per CREATE OBJECT erzeugt werden knnte. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

3. Welche der folgenden Aussagen sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Eine nicht-abstrakte Klasse kann abstrakte Methoden enthalten. B Eine abstrakte Klasse enthlt keine Implementationen. C Eine abstrakte Methode enthlt keine Implementation. D Finale Klassen knnen keine Oberklassen innerhalb einer Klassenhierarchie sein. E Eine finale Methode muss redefiniert werden. F Finale Klassen knnen nicht-finale Methoden enthalten. G Der Freund einer Klasse ist auch Freund deren Unterklassen. H Die Unterklassen des Freundes einer Klasse sind ebenfalls Freunde der Klasse. I Die Sichtbarkeit eines Instanzkonstruktors kann eingeschrnkt werden. J Die Definition eines privaten Instanzkonstruktors (Instanziierbarkeit nur durch die Klasse selbst) kann innerhalb des privaten Sichtbarkeitsbereiches vorgenommen werden (PRIVATE SECTION). 4. Wofr wird die Technik der persistenten Objekte verwendet? Whlen Sie die richtige(n) Antwort(en). A zur objektorientierten Kapselung von Datenbankzugriffen

17/34

B ausschlielich zur Realisierung von Datenbankzugriffen im objektorientierten Kontext (Open-SQL innerhalb von ABAP Objects nicht erlaubt) C zur direkten Umsetzung eines objektorientierten Modells fr betriebswirtschaftliche Anwendungen (Erzeugen, Verwenden, Schreiben und Lesen von betriebswirtschaftlichen Objekten) D zur Erweiterung von SAP-Standardklassen (zu SAP Web AS 6.10 sind diese generell entsprechend migriert worden) E fr Berechtigungsprfungen (Komponentenzugriff bei persistenten Objekten nur ber den Agenten mglich)

2.2.5 Kapitel 5: Ausnahmebehandlung und dynamische Programmierung


1. Das neue Ausnahmekonzept lst das alte ab. Alle alten Quelltextstrecken mssen also umgeschrieben werden. Funktionsbausteine aus dem SAP-Standard lsen ab SAP Web AS 6.20 automatisch objektorientierte Ausnahmen aus. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

2. Die Ausnahmen des neuen Konzeptes knnen im Gegensatz zu denen des alten auch aus Unterprogrammen heraus ausgelst und propagiert werden. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

3. Die neuen Ausnahmeklassen knnen nur global definiert werden. Damit soll die zentrale Wartbarkeit und Wiederverwendbarkeit sichergestellt werden. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

4. Bei der Definition von Ausnahmeklassen bestimmt die Angabe der Oberklasse, ob deren Ausnahmen explizit mit TRY-CATCH-ENDTRY abgefangen werden mssen und, wenn ja, wie das System reagiert, falls es versumt wurde. Geben Sie an, ob diese Aussage richtig oder falsch ist. Richtig Falsch

5. Welche der folgenden Aussagen zur dynamischen Programmierung sind korrekt? Whlen Sie die richtige(n) Antwort(en). A Feldsymbole enthalten zur Laufzeit Adressen von Datenobjekten. B Wenn man den Inhalt eines Feldsymbols verndert, verndert man also die Adresse des zugewiesenen Datenobjekts. C Wenn man den Inhalt eines Feldsymbols verndert, verndert man also eine Adresse. D. h. das Feldsymbol verweist anschlieend nicht mehr auf das Datenobjekt. D Mit Feldsymbolen knnen Sie auf Datenobjekte so zugreifen, als htten diese einen anderen als ihren statischen Typ. E In ABAP Objects gibt es keine Datenreferenzen, sondern mit den Feldsymbolen nur bereits dereferenzierte Zeiger. F Wenn man den Inhalt einer zugewiesenen Datenreferenz verndert, verndert man eine Adresse. D. h. die Referenz verweist anschlieend nicht mehr auf das Datenobjekt.

18/34

G In ABAP Objects kann man den Typ eines Objekts bei der Referenzdefinition oder auch erst bei der Erzeugung zur Laufzeit festlegen. H In ABAP Objects kann man den Typ eines Datenobjekts bei der Definition oder auch erst bei der Erzeugung zur Laufzeit festlegen. I Eine global typisierte Datenreferenz verweise auf ein Datenobjekt, das mit einem anderen globalen Typ typisiert wurde. Ferner werde die Datenreferenz mit Hilfe eines generisch typisierten Feldsymbols dereferenziert. Wenn nun ber dieses Feldsymbol auf das Datenobjekt zugegriffen wird, so uern sich die Typeigenschaften des Datenobjekts . nicht der Datenreferenz. J Ist eine Datenreferenzvariable statisch typisiert, so gibt sie ihre Typeigenschaften weiter, wenn sie einer untypisierten Datenreferenz zugewiesen wird. K Mit Hilfe der RTTI-Klassen knnen in ABAP Objects smtliche Typeigenschaften eines (Daten-)Objekts zur Laufzeit bestimmt werden.

19/34

20/34

Antworten

Im folgenden Kapitel befinden sich die Antworten zu den im vorherigen Kapitel gestellten Fragen.

21/34

3.1

Antworten: BC400 ABAP Workbench Grundlagen

3.1.1 Kapitel 2: Einfhrung in die ABAP Workbench


1. Repository-Objekte sind mandantenspezifisch. Antwort: Falsch Repository-Objekte sind mandantenunabhngig und daher systemweit nutzbar. 2. Kundenobjekte knnen in SAP-Pakete aufgenommen werden. Antwort: Falsch Kundenobjekte mssen Kundenpaketen zugeordnet werden. 3. Welche sind die beiden Werkzeuge zur Suche nach Repository-Objekten? Wann soll welches Suchwerkzeug benutzt werden? Antwort: Repository Infosystem (zur freien, d. h. anwendungsunabhngigen Suche) und SAPAnwendungshierarchie (zur anwendungsbezogenen Suche) 4. Ein Anwendungsprogramm muss fr jede im System genutzte Sprache neu angelegt werden. Antwort: Falsch Es mssen nur die zum Programm zugehrigen Texte jeweils bersetzt werden. Dies wird noch im weiteren Verlauf der Schulung vermittelt. 5. Was ist ein Kettensatz? Antwort: Eine abgekrzte Schreibweise fr mehrere Anweisungen, die den gleichen Anfang besitzen. 6. Bei welcher Aktion wird der Transport der Entwicklungsobjekte eines Auftrags angestoen? Antwort: D

3.1.2 Kapitel 3: Einfhrung in das ABAP Dictionary


1. Mit Hilfe von Dictionary-Typen (deskriptiven Elementen) knnen im Programm Variablen definiert werden. Antwort: Richtig Zur Typisierung von Variablen knnen Dictionary-Typen verwendet werden. 2. Was stimmt bei Datenelementen und Domnen? Antwort: A, C 3. Datenbanktabellen werden samt Inhalt im ABAP Dictionary abgelegt. Antwort: Falsch Nur Beschreibungen der Datenbanktabellen werden im ABAP Dictionary abgelegt. 4. Wie nennt man im ABAP Dictionary die Beschreibung einer Datenbanktabelle und welchen Namen hat sie? Antwort: Eine Datenbanktabellenbeschreibung im ABAP Dictionary wird transparente Tabelle genannt. Sie hat den gleichen Namen wie die Datenbanktabelle. 5. Was wird mit der Anweisung "DATA myvar TYPE dbtab." definiert, wenn dbtab eine transparente Tabelle ist?

22/34

Antwort: D Mit der angegebenen Syntax wird nur eine Strukturvariable definiert, da als Typisierung eine transparente Tabelle angegeben ist, die im Wesentlichen die Zeilenstruktur der zugehrigen Datenbanktabelle beschreibt. Wie man eine Tabellenvariable mit dem gleichen Aufbau wie eine angegebene Datenbanktabelle definiert, wird im weiteren Verlauf der Schulung vermittelt.

3.1.3 Kapitel 4: Grundlegende ABAP-Sprachelemente


1. Welche der ABAP-Standardtypen sind numerisch? Antwort: I, F, P N ist kein numerischer Typ, sondern Typ fr Zeichenfolgen, die nur Dezimalziffern enthalten knnen. 2. Ist es mglich, neben den Standardtypen noch weitere Typen zu definieren? Wenn ja, wo? Antwort: Ja, im ABAP Dictionary (globale Typen) und im Programm (lokale Typen). 3. Mit welchem ABAP-Schlsselwort definiert man lokale Typen ? Antwort: TYPES 4. In welchem Systemfeld befindet sich der Schleifenzhler fr die DO- bzw. WHILE-Schleife? Antwort: SY-INDEX 5. ber welche Elemente des ABAP Dictionary kann programmintern eine Strukturvariable typisiert werden? Antwort: C, D 6. Welche Felder werden bei der MOVE-CORRESPONDING-Anweisung, in der zwei Strukturen anzugeben sind, bercksichtigt? Antwort: Felder, die in beiden Strukturen gleichnamig vorhanden sind. 7. Was ist eine interne Tabelle? Antwort: C 8. ber welches Schlsselwort wird eine interne Tabelle definiert? Antwort: DATA Eine interne Tabelle ist eine Variable und Variablen werden mit DATA definiert. 9. Welche drei Angaben sind bei der Definition einer internen Tabelle zu machen? Antwort: Zeilentyp, Schlssel und Art der internen Tabelle 10. Welche drei Arten von internen Tabellen gibt es, ber deren Wahl man die Performance der Tabellenzugriffe beeinflussen kann? Antwort: STANDARD, SORTED und HASHED 11. Was ist ein Tabellentyp? Antwort: B 12. SBOOK ist eine Datenbanktabelle. Mit welcher Syntax wird eine interne Tabelle mit dem gleichen Aufbau wie SBOOK angelegt? Antwort: B

23/34

13. Mit welcher Syntax wird ein Arbeitsbereich zu einer bereits definierten internen Tabelle namens itab angelegt? Antwort: DATA wa LIKE LINE OF itab. 14. Mit welcher Anweisung erfolgt das Lesen eines Einzelsatzes aus einer internen Tabelle ? Antwort: C 15. Sollen interne Tabellen mit Kopfzeilen weiterhin in der Programmierung verwendet werden? Antwort: Nein, die dazu vermittelten Kenntnisse sollen nur zum Verstndnis lterer Programme beitragen.

24/34

3.1.4 Kapitel 5: Datenbeschaffung


1. Warum soll im Regelfall fr Datenbankzugriffe "Open SQL" statt "Native SQL" verwendet werden? Antwort: Da Open SQL unabhngig vom eingesetzten relationalen Datenbanksystem ist.

2. Mit welcher Anweisung wird ein Einzelsatz aus einer Datenbanktabelle gelesen? Antwort: SELECT SINGLE 3. Muss in der WHERE-Klausel einer SELECT-Anweisung die Mandantenabgrenzung angegeben werden, wenn die zu lesende Datenbanktabelle das Mandantenfeld besitzt? Antwort: Nein, bei fehlender Mandantenabgrenzung werden nur Stze des Ausfhrungsmandanten gelesen, d. h. des Mandanten, in dem das Programm aufgerufen wird. 4. Wie heit die performante Technik, die man benutzen soll, um den Inhalt einer Datenbanktabelle in eine interne Tabelle zu laden? Antwort: Array Fetch 5. In welchem Systemfeld steht die Anzahl der mittels SELECT gelesenen Stze? Antwort: C 6. Welche Technik soll zum Lesen zusammengehriger Stze aus mehreren Datenbanktabellen eingesetzt werden, da sie meist wesentlich performanter ist als geschachtelte SELECT-Anweisungen? Antwort: Tabellen-Join 7. Welche der folgenden Aussagen zur Berechtigungsprfung sind korrekt? Antwort: B, C 8. Mit welcher ABAP-Anweisung wird eine Berechtigungsprfung realisiert und wo steht das Prfungsergebnis? Antwort: AUTHORITY-CHECK / SY-SUBRC 9. Welche der folgenden Aussagen zu Berechtigung und Berechtigungsobjekten sind korrekt? Antwort: B, D

3.1.5 Kapitel 6: Werkzeuge zur Programmanalyse


1. Welche der folgenden Aussagen zur Laufzeitanalyse sind korrekt? Antwort: C, D 2. Wo bekommt man Tipps und Tricks zur performanten Programmierung in ABAP? Antwort: ber die entsprechende Drucktaste in der Messumgebung der Laufzeitanalyse. 3. Welche der folgenden Aussagen zum Code Inspector treffen zu? Antwort: B, C, D 4. Welche Aspekte werden bei der Untersuchung eines Programms durch den Antwort: B, C, D Code Inspector bercksichtigt?

25/34

3.1.6 Kapitel 7: Unterprogramme in ABAP


1. Zu welchem Zweck soll die Unterprogrammtechnik eingesetzt werden? Antwort: B, C, D Eine zur systemweiten Nutzung vorgesehene Funktionalitt sollte nicht in Form eines programmlokalen Unterprogramms, sondern eines Funktionsbausteins realisiert werden, da es fr Letzteren eine Suchfunktion gibt. 2. Zu welchem Zweck soll die Parameterbergabe an Unterprogramme verwendet werden? Antwort: C 3. ber welche ABAP-Anweisung wird ein Unterprogramm definiert bzw. aufgerufen? Antwort: Definition: FORM ... ENDFORM. Aufruf: PERFORM 4. Welche der folgenden Aussagen zu Unterprogrammen sind korrekt? Antwort: A, C, E

3.1.7 Kapitel 8: Einfhrung ABAP-Ereignisse


1. Welche der folgenden Aussagen zu Ereignisverarbeitungsblcken sind korrekt? Antwort: B Der implizite Ereignisverarbeitungsblock heit START-OF-SELECTION. 2. Warum eignet sich das Ereignis INITIALIZATION zur (dynamischen) Vorbelegung von Eingabefeldern des Selektionsbildes? Antwort: Da dieses Ereignis noch vor Anzeigen des Selektionsbildes prozessiert wird. Bei anschlieender Anzeige des Selektionsbildes werden entsprechende Variableninhalte als Eingabevorbelegungen auf das Selektionsbild transportiert. 3. Wie heit das Ereignis fr die Hauptverarbeitung eines ausfhrbaren Programms? Antwort: START-OF-SELECTION

3.1.8 Kapitel 9: Benutzerdialoge


1. Was ist der wesentliche Vorteil von Textsymbolen gegenber Literalen?

Antwort: Textsymbole sind in verschiedene Sprachen bersetzbar.


2. Mit welcher Syntax gibt man ein Textsymbol namens abc auf der Liste aus? Antwort: D 3. Welche der folgenden Aussagen zu Textelementen eines Programms sind korrekt? Antwort: A, B, D 4. Wie heit das Ereignis, das bei Doppelklick auf eine Listenzeile ausgelst wird? Antwort: AT LINE-SELECTION

26/34

5. Welches Systemfeld enthlt die aktuelle Liststufe? WelchenWert hat dieses whrend der Erstellung und Anzeige der Grundliste? Antwort: SY-LSIND / 0 6. Wozu ist das Selektionsbild hauptschlich da? Antwort: Zur Eingabe von Abgrenzungen fr die Datenselektion 7. Welche der folgenden Aussagen zu Selektionstexten sind korrekt? Antwort: D Selektionstexte knnen nicht direkt auf dem Selektionsbild gepflegt werden. Sie gehren zu den Textelementen des Programms und werden dort gepflegt. Diese erreichen Sie im Object Navigator ber das Kontextmen des entsprechenden Programms oder das Men Springen des Editors. 8. Welche der folgenden Aussagen zum Selektionsbild sind korrekt? Antwort: C, E 9. Welche der folgenden Aussagen zum Dynpro sind korrekt? Antwort: B, D, E 10. Welches ist das wesentlichste Attribut einer Drucktaste? Antwort: Ihr Funktionscode, der bei Bettigung der Drucktaste ans Programm bertragen wird. 11. Wie heit die Anweisung, die das statische Folge-Dynpro des aktuellen Dynpros bersteuert? Antwort: SET SCREEN 12. Wo werden die Mens eines Dynpros definiert? Antwort: Im zugehrigen GUI-Status 13. ber welche Anweisungen werden GUI-Titel bzw. GUI-Status einem Dynpro zugeordnet? Antwort: SET TITLEBAR bzw. SET PF-STATUS

3.1.9 Kapitel 10: Reuse-Komponenten


1. Was ist ein Funktionsbaustein? Antwort: Eine zentral im SAP-System abgelegte, von allen Programmen des Systems nutzbare Funktionalitt. 2. ber welche Anweisung wird ein Funktionsbaustein aufgerufen? Antwort: CALL FUNCTION 3. Welche der folgenden Aussagen zu Funktionsbausteinen sind korrekt? Antwort: B, D 4. Welche der folgenden Aussagen zu Klassen/Methoden sind korrekt? Antwort: A, B, C 5. Was ist aus Nutzungssicht ein BAPI? Antwort: Ein BAPI ist eine im SAP-System realisierte Funktionalitt zur Datenselektion bzw. -nderung. Es kann nicht nur von Programmen des selben, sondern auch von solchen eines externen Systems

27/34

aufgerufen werden. Somit erhalten vor allem externe Anwendungen die Mglichkeit, ohne besondere Kenntnisse des SAP-Systems auf darin abgelegte Daten zuzugreifen.

3.1.10 Kapitel 11: Anpassung der SAP-Standardsoftware


1. Was ist eine Modifikation? Antwort: Die direkte nderung der SAP-Software 2. Warum sollen bei kundenindividuellen Anpassungen der SAP-Software nach Mglichkeit Erweiterungen statt Modifikationen benutzt werden? Antwort: Da Erweiterungen bei Release-Wechsel keinen Abgleichaufwand verursachen.

28/34

3.2

Antworten: BC401 ABAP Objects

3.2.1 Kapitel 1: Vervollstndigung der prozeduralen Anteile von ABAP Objects


1. Was sollten Sie mit Ihren bereits existenten Programmen tun, nachdem der Upgrade von SAP R/3 4.6C nach SAP Web AS 6.20 durchgefhrt worden ist? Antwort: in den Programmattributen das Kennzeichen Unicodeprfungen aktiv setzen und anschlieend fr erneute syntaktische Korrektheit des Quelltextes sorgen Siehe entsprechenden Abschnitt innerhalb der Lektion. 2. Fr welche der folgenden eingebauten Datentypen sollten Sie die ursprnglichen Varianten der einschlgigen Zeichenkettenverarbeitungsanweisungen oder den optionalen Zusatz IN CHARACTER MODE verwenden? Antwort: A, B, D, E, F Siehe entsprechenden Abschnitt innerhalb der Lektion. 3. Fr welche der folgenden eingebauten Datentypen sollten Sie bei Vergleichen die neuen Vergleichsoperatoren BYTE-CO, BYTE-CA, etc. verwenden? Antwort: C, G Siehe entsprechenden Abschnitt innerhalb der Lektion. 4. Im Prinzip entsteht berhaupt kein Umsetzungsaufwand von SAP R/3 4.6C nach SAP Web AS 6.20 bezglich bereits existenter Programme, wenn in diesen bei Zeichenkettenverarbeitungen generell immer schon .sicher. programmiert worden ist (Kopieren von Strukturen nur elementar-komponentenweise, Vermeidung von OffsetLngenzugriff, etc.). Antwort: Richtig Siehe entsprechenden Abschnitt innerhalb der Lektion. 5. Vor SAPWeb AS 6.10war das Kopieren von gesamten Strukturinhalten per MOVE problemlos mglich und sehr praktisch. Erst wegen der Unicode-Fhigkeit von SAP Web AS 6.20 ergeben sich dabei nun Probleme, so dass so etwas nicht mehr programmiert werden darf. Antwort: Falsch Siehe entsprechenden Abschnitt innerhalb der Lektion. 6. Ab SAP Web AS 6.10 fhrt der Offset-Lngenzugriff generell zu einem Syntaxfehler, falls das Kennzeichen Unicodeprfungen aktiv gesetzt ist. Antwort: Falsch Siehe entsprechenden Abschnitt innerhalb der Lektion. 7. Welche der folgenden Aussagen sind korrekt? Antwort: B, D Siehe entsprechenden Abschnitt innerhalb der Lektion. 8. Als generische Typen bezeichnet man Typdefinitionen, bei denen gewisse Angaben fehlen. Diese fehlenden Typeigenschaften werden zur Laufzeit von einem Aktualparameter geerbt, wenn man den generischen Typ zur Typisierung von Schnittstellenparametern verwendet. Antwort: Richtig

29/34

Siehe entsprechenden Abschnitt innerhalb der Lektion. 9. Generische Tabellentypen erlauben dynamische Programmierung, indem z. B. die Tabellenart einer programmglobal definierten internen Tabelle erst zur Laufzeit festgelegt werden kann. Antwort: Falsch Siehe entsprechenden Abschnitt innerhalb der Lektion. 10. Welche der folgenden Aussagen sind korrekt? Antwort: A, C, E, F Siehe entsprechenden Abschnitt innerhalb der Lektion. 11. SAP empfiehlt die Verwendung interner Tabellen ohne Kopfzeile, um die Syntax leichter lesbar zu halten. Dies ist vor allem bei geschachtelten internen Tabellen hilfreich. Antwort: Richtig Siehe entsprechenden Abschnitt innerhalb der Lektion. 12. Welche der folgenden Aussagen sind korrekt? Antwort: A, B, C, E Siehe entsprechenden Abschnitt innerhalb der Lektion

3.2.2

Kapitel 2: Einfhrung in die objektorientierte Programmierung

1. Das objektorientierte Programmiermodell ist deutlich spter als das prozedurale entstanden. Es bietet damit mehr Mglichkeiten, d. h. es knnen damit Anwendungsprobleme gelst werden, die mit rein prozeduralen Programmiersprachen nicht lsbar waren. Antwort: Falsch Siehe entsprechenden Abschnitt innerhalb der Lektion. 2. Was ist mit dem Begriff Mehrfachinstanziierbarkeit gemeint? Antwort: die Mglichkeit, pro Programmkontext beliebig viele Laufzeitinstanzen desselben Typs zu erzeugen und zu verwalten Siehe entsprechenden Abschnitt innerhalb der Lektion. 3. Was ist mit dem Begriff Kapselung gemeint? Antwort: die Zusammenfassung von Daten und Funktionen in wiederverwendbare Einheiten, wobei Nutzer dieser Einheiten nur bestimmte Funktionen aufrufen knnen, ohne Mglichkeit, direkt auf die Daten zugreifen zu knnen Siehe entsprechenden Abschnitt innerhalb der Lektion. 4. Was versteht man in ABAP Objects unter einer Klasse? Antwort: Eine Klasse ist die technische Beschreibung gleichartiger Objekte. Sie kann u. a. Attribut- und Methodendefinitionen enthalten sowie i. d. R. auch die Implementationen von Methoden. Siehe entsprechenden Abschnitt innerhalb der Lektion. 5. Worin besteht der Unterschied zwischen statischen Komponenten und Instanzkomponenten einer Klasse? Antwort: Auf statische Komponenten mssen Sie ber die Klasse zugreifen. D. h. es gibt sie pro Programm und Klasse hchstens einmal im Arbeitsspeicher. Es muss dafr kein Objekt instanziiert worden sein. Auf Instanzkomponenten mssen Sie ber die Objekte dieser Klasse zugreifen. D. h. es gibt sie pro

30/34

Programm und Klasse beliebig oft im Arbeitsspeicher. Siehe entsprechenden Abschnitt innerhalb der Lektion. 6. Was versteht man in ABAP Objects unter einem Konstruktor? Antwort: Ein Konstruktor einer Klasse ist eine spezielle Methode mit dem reservierten Namen CONSTRUCTOR. Sie wird i. d. R. nur vom Laufzeitsystem gerufen, und zwar immer dann, wenn ein Objekt dieser Klasse per CREATE OBJECT erzeugt worden ist. Deswegen spricht man etwas genauer oft auch vom Instanzkonstruktor. Siehe entsprechenden Abschnitt innerhalb der Lektion. 7. Angenommen, Sie definieren eine Klasse. Mssen Sie dann auch immer einen Konstruktor definieren? Antwort: nein

3.2.3 Kapitel 3: Objektorientierte Konzepte und Programmiertechniken


1. Wie lassen Sie syntaktisch eine lokale Unterklasse von einer Oberklasse erben? Antwort: mit Hilfe des Zusatzes INHERITING FROM zur CLASS-DEFINITION-Anweisung Siehe entsprechenden Abschnitt innerhalb der Lektion. 2. Wie redefinieren Sie syntaktisch eine geerbte Methode innerhalb einer lokalen Unterklasse? Antwort: mit Hilfe des Zusatzes REDEFINITION zur METHODS-Anweisung Siehe entsprechenden Abschnitt innerhalb der Lektion. 3. Angenommen, Sie kopieren eine Unterklassenreferenz auf eine Referenzvariable, die auf die Oberklasse typsiert ist (Narrowing Cast). Auf welche Komponenten knnen Sie ber diese Referenzvariable zugreifen? Antwort: A, C Siehe entsprechenden Abschnitt innerhalb der Lektion. 4. Angenommen, eine Referenzvariable . typisiert auf eine Oberklasse . enthlt eine Unterklasseneferenz und Sie kopieren diese auf eine Referenzvariable, die auf die Unterklasse typisiert ist (Widening Cast). Auf welche der folgenden Komponenten knnen Sie ber diese Referenzvariable zugreifen? Antwort: A, B, C Siehe entsprechenden Abschnitt innerhalb der Lektion. 5. Zu welchem Zweck setzen Sie die Vererbung ein? Antwort: Vererbung ist die programmiertechnische Umsetzung von Generalisierungs/Spezialisierungsbeziehungen zwischen Klassen. Siehe entsprechenden Abschnitt innerhalb der Lektion. 6. Hat ein Interface einen Implementationsteil? Antwort: nein Siehe entsprechenden Abschnitt innerhalb der Lektion. 7. Angenommen, Sie kopieren eine Instanzreferenz einer Klasse, die ein Interface implementiert, auf eine Referenzvariable, die auf das Interface typisiert ist (Narrowing Cast). Auf welche Komponenten knnen Sie ber diese Referenzvariable zugreifen? Antwort: A Siehe entsprechenden Abschnitt innerhalb der Lektion.

31/34

8. Angenommen, eine Referenzvariable . typisiert auf ein Interface . enthlt eine Instanzreferenz einer Klasse, die dieses Interface implementiert, und Sie kopieren diese auf eine Referenzvariable, die auf die Klasse typisiert ist (Widening Cast). Auf welche der folgenden Komponenten knnen Sie ber diese Referenzvariable zugreifen? Antwort: A, B, C, D Siehe entsprechenden Abschnitt innerhalb der Lektion. 9. Mit welchem Schlsselwort definieren Sie ein Ereignis? Antwort: EVENTS Siehe entsprechenden Abschnitt innerhalb der Lektion. 10. Mit welchem Schlsselwort lsen Sie ein Ereignis aus? Antwort: RAISE EVENT Siehe entsprechenden Abschnitt innerhalb der Lektion. 11. Mit welcher Anweisung definieren Sie eine Behandlermethode M_H fr das Ereignis E der Klasse C? Antwort: METHODS m_h FOR EVENT e OF c ... . Siehe entsprechenden Abschnitt innerhalb der Lektion. 12. Mit welcher Anweisung registrieren Sie eine Behandlermethode M_H der reagierenden Instanz REF_H bei der auslsenden Instanz REF_R? Antwort: SET HANDLER ref_h->m_h FOR ref_r. Siehe entsprechenden Abschnitt innerhalb der Lektion. 13. Knnen Ereignisse in Interfaces definiert werden? Antwort: ja Siehe entsprechenden Abschnitt innerhalb der Lektion. 14. Knnen Ereignisse in Interfaces ausgelst werden? Antwort: nein Siehe entsprechenden Abschnitt innerhalb der Lektion.

3.2.4 Kapitel 4: Objektorientierte Repository-Objekte


1. Welche der folgenden Aussagen sind korrekt? Antwort: B, D, G, H Siehe entsprechenden Abschnitt innerhalb der Lektion. 2. Um den Benutzer eine objektorientierte Anwendung ausfhren lassen zu knnen, muss immer ein ausfhrbares, ein Modulpool- oder ein Funktionsgruppenprogramm existieren, da andernfalls nirgendwo eine Instanz per CREATE OBJECT erzeugt werden knnte. Antwort: Falsch Die Erzeugung der ersten Instanz und der ersteMethodenaufruf kann ber eine OOTransaktion realisiert werden. Allerdings bestehen gewisse Einschrnkungen. Siehe entsprechenden Abschnitt innerhalb der Lektion. 3. Welche der folgenden Aussagen sind korrekt?

32/34

Antwort: C, D, H, I Siehe entsprechenden Abschnitt innerhalb der Lektion. 4. Wofr wird die Technik der persistenten Objekte verwendet? Antwort: A, C Siehe entsprechenden Abschnitt innerhalb der Lektion.

3.2.5 Kapitel 5: Ausnahmebehandlung und dynamische Programmierung


1. Das neue Ausnahmekonzept lst das alte ab. Alle alten Quelltextstrecken mssen also umgeschrieben werden. Funktionsbausteine aus dem SAP-Standard lsen ab SAP Web AS 6.20 automatisch objektorientierte Ausnahmen aus. Antwort: Falsch Siehe entsprechenden Abschnitt innerhalb der Lektion. 2. Die Ausnahmen des neuen Konzeptes knnen im Gegensatz zu denen des alten auch aus Unterprogrammen heraus ausgelst und propagiert werden. Antwort: Richtig Siehe entsprechenden Abschnitt innerhalb der Lektion. 3. Die neuen Ausnahmeklassen knnen nur global definiert werden. Damit soll die zentrale Wartbarkeit und Wiederverwendbarkeit sichergestellt werden. Antwort: Falsch Siehe entsprechenden Abschnitt innerhalb der Lektion. 4. Bei der Definition von Ausnahmeklassen bestimmt die Angabe der Oberklasse, ob deren Ausnahmen explizit mit TRY-CATCH-ENDTRY abgefangen werden mssen und, wenn ja, wie das System reagiert, falls es versumt wurde. Antwort: Richtig Siehe entsprechenden Abschnitt innerhalb der Lektion. 5. Welche der folgenden Aussagen zur dynamischen Programmierung sind korrekt? Antwort: A, D, F, G, H, J, K Siehe entsprechenden Abschnitt innerhalb der Lektion

33/34

Quellenverzeichnis

BC400 ABAP Workbench Grundlagen SAP NetWeaver Teilnehmerhandbuch, SAP, Version 2006/Q2. BC401 ABAP Objects mySAP Technology Teilnehmerhandbuch, SAP, Version kein

Datum.

34/34