zertifizierung fragen aus kursunterlagen

33
ABAP Developer Zertifizierungsübungsaufgaben - BC400 ABAP Workbench Grundlagen - BC401 ABAP Objects 1/33

Upload: sandroswisscom

Post on 30-Jul-2015

2.415 views

Category:

Documents


0 download

DESCRIPTION

This document helps you to improove you sap skills

TRANSCRIPT

Page 1: Zertifizierung Fragen Aus Kursunterlagen

ABAP Developer Zertifizierungsübungsaufgaben

- BC400 ABAP Workbench Grundlagen- BC401 ABAP Objects

1/29

Page 2: Zertifizierung Fragen Aus Kursunterlagen

Inhaltsverzeichnis:

1 Vorwort...........................................................................................................................5

2 Fragen.............................................................................................................................6

2.1 BC400 ABAP Workbench Grundlagen......................................................................6

2.1.1 Kapitel 2: Einführung in die ABAP Workbench......................................................6

2.1.2 Kapitel 3: Einführung in das ABAP Dictionary.......................................................6

2.1.3 Kapitel 4: Grundlegende ABAP-Sprachelemente..................................................7

2.1.4 Kapitel 5: Datenbeschaffung................................................................................7

2.1.5 Kapitel 6: Werkzeuge zur Programmanalyse........................................................8

2.1.6 Kapitel 7: Unterprogramme in ABAP.....................................................................9

2.1.7 Kapitel 8: Einführung ABAP-Ereignisse.................................................................9

2.1.8 Kapitel 9: Benutzerdialoge.................................................................................10

2.1.9 Kapitel 10: Reuse-Komponenten........................................................................11

2.1.10 Kapitel 11: Anpassung der SAP-Standardsoftware..........................................11

2.2 BC401 ABAP Objects..............................................................................................12

2.2.1 Kapitel 1: Vervollständigung der prozeduralen Anteile von ABAP Objects..........12

2.2.2 Kapitel 2: Einführung in die objektorientierte Programmierung..........................13

2.2.3 Kapitel 3: Objektorientierte Konzepte und Programmiertechniken.....................13

2.2.4 Kapitel 4: Objektorientierte Repository-Objekte.................................................14

2.2.5 Kapitel 5: Ausnahmebehandlung und dynamische Programmierung.................15

3 Antworten.....................................................................................................................18

3.1 BC400 ABAP Workbench Grundlagen....................................................................19

3.1.1 Kapitel 2: Einführung in die ABAP Workbench....................................................19

3.1.2 Kapitel 3: Einführung in das ABAP Dictionary.....................................................19

3.1.3 Kapitel 4: Grundlegende ABAP-Sprachelemente................................................19

3.1.4 Kapitel 5: Datenbeschaffung..............................................................................21

3.1.5 Kapitel 6: Werkzeuge zur Programmanalyse......................................................21

3.1.6 Kapitel 7: Unterprogramme in ABAP...................................................................22

3.1.7 Kapitel 8: Einführung ABAP-Ereignisse...............................................................22

3.1.8 Kapitel 9: Benutzerdialoge.................................................................................22

3.1.9 Kapitel 10: Reuse-Komponenten........................................................................23

3.1.10 Kapitel 11: Anpassung der SAP-Standardsoftware..........................................23

3.2 BC401 ABAP Objects..............................................................................................24

3.2.1 Kapitel 1: Vervollständigung der prozeduralen Anteile von ABAP Objects..........24

3.2.2 Kapitel 2: Einführung in die objektorientierte Programmierung..........................25

2/29

Page 3: Zertifizierung Fragen Aus Kursunterlagen

3.2.3 Kapitel 3: Objektorientierte Konzepte und Programmiertechniken.....................25

3.2.4 Kapitel 4: Objektorientierte Repository-Objekte.................................................27

3.2.5 Kapitel 5: Ausnahmebehandlung und dynamische Programmierung.................27

4 Quellenverzeichnis........................................................................................................28

3/29

Page 4: Zertifizierung Fragen Aus Kursunterlagen

Name Datum Beschreibung Status Version

Sandro Scalco 27.08.2012

Dokument erstellt.Inhaltsverzeichnis und Titelblatt erstellt.Vorwort hinzugefügt.BC400 Kurs (2.1) und BC401 Kurs (2.2) hinzugefügt.

In Bearbeitung, nicht freigegeben

0.1

Sandro Scalco 28.08.2012

Dokument formatiert Freigegeben 1.0

4/29

Page 5: Zertifizierung Fragen Aus Kursunterlagen

1 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 erwähnten Kurs sind unter folgendem Link zu finden.

SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0https://training.sap.com/ch/de/certification/c_taw12_70-sap-certified-development-associate-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 Vorbereitungsprüfung genutzt werden. Der Lernerfolg lässt sich durch die gewählte Gliederung Schrittweise überprüfen.

5/29

Page 6: Zertifizierung Fragen Aus Kursunterlagen

2 Fragen

2.1 BC400 ABAP Workbench Grundlagen

2.1.1 Kapitel 2: Einführung in die ABAP Workbench

1. Repository-Objekte sind mandantenspezifisch.

Geben Sie an, ob diese Aussage richtig oder falsch ist.

□ Richtig □ Falsch

2. Kundenobjekte können 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 für jede im System genutzte Sprache neu angelegt werden.

Geben Sie an, ob diese Aussage richtig oder falsch ist.

□ Richtig □ Falsch

5. Was ist ein Kettensatz?

6. Bei welcher Aktion wird der Transport der Entwicklungsobjekte eines Auftrags angestoßen?

Wählen Sie die richtige(n) Antwort(en).

□ A Beim Sichern eines Objektes □ B Beim Aktivieren eines Objektes

□ C Bei Freigabe einer Aufgabe □ D Bei Freigabe des Auftrags

2.1.2 Kapitel 3: Einführung in das ABAP Dictionary

1. Mit Hilfe von Dictionary-Typen (deskriptiven Elementen) können im

Programm Variablen definiert werden.

Geben Sie an, ob diese Aussage richtig oder falsch ist.

□ Richtig □ Falsch

2. Was stimmt bei Datenelementen und Domänen?

Wählen Sie die richtige(n) Antwort(en).

□ A Datenelemente enthalten technische und semantische Informationen.

□ B Datenelemente beziehen sich stets auf Domänen.

□ C Datenelemente beziehen sich typischerweise auf Domänen.

□ D Datenelemente dürfen 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.

□ 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? Wählen Sie die richtige(n) Antwort(en).

□ A eine Kopie der Datenbanktabelle dbtab □ B eine Tabellenvariable mit dem gleichen Aufbau wie die Datenbanktabelle dbtab

6/29

Page 7: Zertifizierung Fragen Aus Kursunterlagen

□ C eine Tabellenvariable mit dem gleichen Inhalt wie die Datenbanktabelle dbtab

□ D eine Strukturvariable mit dem gleichen Aufbau wie eine dbtab-Zeile

2.1.3 Kapitel 4: Grundlegende ABAP-Sprachelemente

1. Welche der ABAP-Standardtypen sind numerisch?

2. Ist es möglich, neben den Standardtypen noch weitere Typen zu definieren? Wenn ja, wo?

3. Mit welchem ABAP-Schlüsselwort definiert man lokale Typen ?

4. In welchem Systemfeld befindet sich der Schleifenzähler für die DO- bzw. WHILE-Schleife?

5. Über welche Elemente des ABAP Dictionary kann programmintern eine Strukturvariable typisiert werden? Wählen Sie die richtige(n) Antwort(en).

□ A Datenelement □ B Domäne

□ C Struktur □ D Transparente Tabelle

6. Welche Felder werden bei der MOVE-CORRESPONDING-Anweisung, in der zwei Strukturen anzugeben sind, berücksichtigt?

7. Was ist eine interne Tabelle? Wählen Sie die richtige(n) Antwort(en).

□ A Datenbanktabelle □ B Excel-Tabelle

□ C Variable in einem ABAP-Programm □ D Tabelle, die in einer anderen Tabelle eingebettet ist

8. Über welches Schlüsselwort 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? Wählen Sie die richtige(n) Antwort(en).

□ A eine interne Tabelle □ B Beschreibung einer internen Tabelle

□ C Beschreibung einer Datenbanktabelle □ D Die Angabe "STANDARD"/"SORTED"/"HASHED" bei einer internen Tabelle

12. SBOOK ist eine Datenbanktabelle. Mit welcher Syntax wird eine interne Tabelle mit dem gleichen Aufbau wie SBOOK angelegt?

Wählen Sie die richtige(n) Antwort(en).

□ A DATA itab TYPE sbook. □ B DATA itab TYPE TABLE OF sbook.

□ C DATA itab TYPE LINE OF sbook. □ D DATA itab LIKE sbook.

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 ? Wählen Sie die richtige(n) Antwort(en).

□ A SELECT ... ENDSELECT □ B SELECT SINGLE

□ C READ TABLE □ D GET

□ E FETCH

15. Sollen interne Tabellen mit Kopfzeilen weiterhin in der Programmierung verwendet werden?

2.1.4 Kapitel 5: Datenbeschaffung

1. Warum soll im Regelfall für 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?

7/29

Page 8: Zertifizierung Fragen Aus Kursunterlagen

4. Wie heißt 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 Sätze? Wählen Sie die richtige(n) Antwort(en).

□ A SY-SUBRC □ B SY-TABIX

□ C SY-DBCNT □ D SY-INDEX

6. Welche Technik soll zum Lesen zusammengehöriger Sätze aus mehreren Datenbanktabellen eingesetzt werden, da sie meist wesentlich performanter ist als geschachtelte SELECT-Anweisungen?

7. Welche der folgenden Aussagen zur Berechtigungsprüfung sind korrekt? Wählen Sie die richtige(n) Antwort(en).

□ A In der SELECT-Anweisung ist bereits die zugehörige Berechtigungsprüfung integriert.

□ B Die SELECT-Anweisung funktioniert auch dann einwandfrei, wenn der Benutzer nicht über die entsprechende Berechtigung zum Lesevorgang verfügt.

□ C Um Daten vor ungewollten Zugriffen zu schützen, ist im Programm eine Berechtigungsprüfung zu realisieren.

□ D Im Programm muss stets eine Berechtigungsprüfung realisiert werden.

8. Mit welcher ABAP-Anweisung wird eine Berechtigungsprüfung realisiert und wo steht das Prüfungsergebnis?

9. Welche der folgenden Aussagen zu Berechtigung und Berechtigungsobjekten sind korrekt?

Wählen Sie die richtige(n) Antwort(en).

□ A Ein Berechtigungsobjekt besitzt Felder samt Feldwerten.

□ B Eine Berechtigung ist eine konkrete Ausprägung eines Berechtigungsobjektes, d. h. ein Berechtigungsobjekt samt Feldwerten.

□ C Im Benutzerstammsatz befinden sich Berechtigungsobjekte.

□ D Im Benutzerstammsatz befinden sich Berechtigungen.

2.1.5 Kapitel 6: Werkzeuge zur Programmanalyse

1. Welche der folgenden Aussagen zur Laufzeitanalyse sind korrekt? Wählen 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 Ausführung 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, berücksichtigt werden.

2. Wo bekommt man Tipps und Tricks zur performanten Programmierung in ABAP?

3. Welche der folgenden Aussagen zum Code Inspector treffen zu? Wählen Sie die richtige(n) Antwort(en).

□ A Bei Durchführung einer Code-Inspector-Prüfung muss stets eine Prüfvariante angegeben werden.

□ B Zur Festlegung des Detaillierungsgrads einer Prüfung kann eine entsprechende Prüfvariante angelegt und zur Inspektion angegeben werden.

□ C Die Durchführung einer Code-Inspector-Prüfung über das (Kontext-) Menü des Object Navigator verwendet eine Standardprüfvariante.

□ D Prüfvarianten, Objektmengen sowie Inspektionen können über die Transaktion SCI definiert werden.

4. Welche Aspekte werden bei der Untersuchung eines Programms durch den Code Inspector berücksichtigt? Wählen Sie die richtige(n) Antwort(en).

□ A Syntaxprüfung

□ B Typische Semantikfehler (z. B. AUTHORITY-CHECK-Anweisung ohne anschließende SY-SUBRC-Prüfung)

□ C Performance (z. B. geschachtelte SELECT-Anweisungen)

□ D Sicherheit (z. B. mandantenübergreifende Datenzugriffe)

8/29

Page 9: Zertifizierung Fragen Aus Kursunterlagen

□ E Formatierung des Quelltextes (z. B. Einrücken der in Schleifen befindlichen Programmzeilen)

2.1.6 Kapitel 7: Unterprogramme in ABAP

1. Zu welchem Zweck soll die Unterprogrammtechnik eingesetzt werden? Wählen Sie die richtige(n) Antwort(en).

□ A Zur Performance-Verbesserung □ B Zur übersichtlichen Programmgestaltung

□ C Um eine im Programm wiederholt benötigte Funktionalität für die Mehrfachnutzung zu kapseln

□ D Um die zentrale Wartbarkeit einer Funktionalität innerhalb eines Programms zu realisieren

□ E Um eine Funktionalität systemweit zur Verfügung zu stellen

2. Zu welchem Zweck soll die Parameterübergabe an Unterprogramme verwendet werden? Wählen Sie die richtige(n) Antwort(en).

□ A Hauptsächlich zur Übergabe von Benutzereingaben an das Unterprogramm □ B Zur Performance-Verbesserung

□ 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? Wählen 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 für Formalparameter.

□ E USING-Parameter ohne den VALUE-Zusatz sind Call-by-reference-Parameter.

□ F Große interne Tabellen sollen über einen Call-by-value-Parameter an das Unterprogramm übergeben werden.

2.1.7 Kapitel 8: Einführung ABAP-Ereignisse

1. Welche der folgenden Aussagen zu Ereignisverarbeitungsblöcken sind korrekt? Wählen Sie die richtige(n) Antwort(en).

□ A Hat ein Programm keine expliziten Ereignisverarbeitungsblöcke, so gehören alle Anweisungen implizit zum AT-SELECTION-SCREEN-Block.

□ B Die Reihenfolge der Ereignisverarbeitungsblöcke im Programm hat keine Auswirkung auf den Programmablauf.

□ C Ereignisverarbeitungsblöcke können ineinander geschachtelt werden.

□ D Ereignisverarbeitungsblöcke müssen jeweils explizit abgeschlossen werden.

2. Warum eignet sich das Ereignis INITIALIZATION zur (dynamischen) Vorbelegung von Eingabefeldern des Selektionsbildes?

3. Wie heißt das Ereignis für die Hauptverarbeitung eines ausführbaren Programms?

9/29

Page 10: Zertifizierung Fragen Aus Kursunterlagen

2.1.8 Kapitel 9: Benutzerdialoge

1. Was ist der wesentliche Vorteil von Textsymbolen gegenüber Literalen?

2. Mit welcher Syntax gibt man ein Textsymbol namens abc auf der Liste aus? Wählen Sie die richtige(n) Antwort(en).

□ A WRITE abc. □ B WRITE 'abc'.

□ C WRITE 'text-abc'. □ D WRITE text-abc.

3. Welche der folgenden Aussagen zu Textelementen eines Programms sind korrekt? Wählen Sie die richtige(n) Antwort(en).

□ A Zu den Textelementen gehören neben den Textsymbolen auch die Listen- und Spaltenüberschriften.

□ B Textelemente werden programmbezogen abgelegt. □ C Nicht alle Textelemente sind übersetzbar.

□ D Textelemente eines Programms müssen zur Nutzung aktiviert werden.

□ E Durch die Pflege der Listüberschrift ändert man auch die Kurzbeschreibung des Programms.

4. Wie heißt das Ereignis, das bei Doppelklick auf eine Listenzeile ausgelöst wird?

5. Welches Systemfeld enthält die aktuelle Liststufe? WelchenWert hat dieses während der Erstellung und Anzeige der Grundliste?

6. Wozu ist das Selektionsbild hauptsächlich da?

7. Welche der folgenden Aussagen zu Selektionstexten sind korrekt? Wählen Sie die richtige(n) Antwort(en).

□ A Zu Select-Options können keine Selektionstexte gepflegt werden.

□ B So wie Listüberschriften direkt auf der Liste pflegbar sind, können Selektionstexte direkt auf dem Selektionsbild gepflegt werden.

□ C Selektionstexte sind nicht übersetzbar.

□ D Selektionstexte gehören wie Textsymbole und Listüberschriften zu den Textelementen eines Programms und sind daher ebenfalls

übersetzbar.

8. Welche der folgenden Aussagen zum Selektionsbild sind korrekt? Wählen 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 Berechtigungsprüfungen zum Ereignis AT SELECTION-SCREEN realisiert.

□ D Eine Benutzernachricht vom Typ E führt zur Anzeige des Nachrichtentextes mit Programmabbruch, falls sie zum Ereignis AT SELECTION-SCREEN gesendet wird.

□ E Varianten sind ausgefüllte Selektionsbilder eines Programms und werden programmbezogen abgelegt.

9. Welche der folgenden Aussagen zum Dynpro sind korrekt? Wählen 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.

□ 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 heißt die Anweisung, die das statische Folge-Dynpro des aktuellen Dynpros übersteuert?

12. Wo werden die Menüs eines Dynpros definiert?

13. Über welche Anweisungen werden GUI-Titel bzw. GUI-Status einem Dynpro zugeordnet?

10/29

Page 11: Zertifizierung Fragen Aus Kursunterlagen

11/29

Page 12: Zertifizierung Fragen Aus Kursunterlagen

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? Wählen 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 ausgelöst wird.

□ C Beim Aufruf eines Funktionsbausteins werden die IMPORT-Parameter unter dem IMPORTING-Zusatz und die EXPORT-Parameter unter dem EXPORTING-Zusatz aufgeführt.

□ D Beim Aufruf eines Funktionsbausteins werden die IMPORT-Parameter unter dem EXPORTING-Zusatz und die EXPORT-Parameter unter IMPORTING-Zusatz aufgeführt.

4. Welche der folgenden Aussagen zu Klassen/Methoden sind korrekt? Wählen Sie die richtige(n) Antwort(en).

□ A Im SAP-Standard sind bereits Klassen mit nützlichen Funktionalitäten enthalten.

□ B Die Suche nach Klassen kann über die üblichen Suchwerkzeuge "Repository Infosystem" und "SAP-Anwendungshierarchie" durchgeführt werden.

□ C Zur Ansteuerung des SAP Grid Controls (ALV) kann eine Standardklasse verwendet werden.

□ D Zur Ansteuerung anderer EnjoySAP-Controls (z. B. Tree-Control) müssen kundeneigene Klassen definiert werden.

5. Was ist aus Nutzungssicht ein BAPI?

2.1.10Kapitel 11: Anpassung der SAP-Standardsoftware

1. Was ist eine Modifikation?

2. Warum sollen bei kundenindividuellen Anpassungen der SAP-Software nach Möglichkeit Erweiterungen statt Modifikationen benutzt werden?

12/29

Page 13: Zertifizierung Fragen Aus Kursunterlagen

2.2 BC401 ABAP Objects

2.2.1 Kapitel 1: Vervollständigung 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 durchgeführt worden ist?

2. Für welche der folgenden eingebauten Datentypen sollten Sie die ursprünglichen Varianten der einschlägigen Zeichenkettenverarbeitungsanweisungen oder den optionalen Zusatz IN CHARACTER MODE verwenden? Wählen Sie die richtige(n) Antwort(en).

□ A D □ B C □ C X □ D T

□ E N □ F STRING □ G XSTRING

3. Für welche der folgenden eingebauten Datentypen sollten Sie bei Vergleichen die neuen Vergleichsoperatoren BYTE-CO, BYTE-CA, etc. verwenden? Wählen Sie die richtige(n) Antwort(en).

□ A D □ B C □ C X □ D T

□ E N □ F STRING □ G XSTRING

4. Im Prinzip entsteht überhaupt kein Umsetzungsaufwand von SAP R/3 4.6C nach SAP Web AS 6.20 bezüglich bereits existenter Programme, wenn in diesen bei Zeichenkettenverarbeitungen generell immer schon „sicher“ programmiert worden ist (Kopieren von Strukturen nur elementar-komponentenweise, Vermeidung von Offset-Längenzugriff, etc.). Geben Sie an, ob diese Aussage richtig oder falsch ist.

□ Richtig □ Falsch

5. Vor SAPWeb AS 6.10war das Kopieren von gesamten Strukturinhalten per MOVE problemlos möglich und sehr praktisch. Erst wegen der Unicode-Fähigkeit 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 führt der Offset-Längenzugriff generell zu einem Syntaxfehler, falls das Kennzeichen Unicodeprüfungen aktiv gesetzt ist. Geben Sie an, ob diese Aussage richtig oder falsch ist.

□ Richtig □ Falsch

7. Welche der folgenden Aussagen sind korrekt? Wählen Sie die richtige(n) Antwort(en).

□ A Sortierte Tabellen können nur mehrdeutige Schlüssel besitzen.

□ B Standardtabellen können nur mehrdeutige Schlüssel besitzen.

□ C SortierteundHash-Tabellen sind Indextabellen.

□ D Standardtabellen sind Indextabellen.

□ E Der Standardschlüssel ist der Schlüssel einer Standardtabelle.

□ F Der Standschlüssel enthält 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

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? Wählen Sie die richtige(n) Antwort(en).

□ A Auf Hash-Taballen können nur Schlüsselzugegriffe erfolgen.

□ B Schlüsselzugriff bedeutet, dass in der Suchklausel nur Schlüsselfelder der internen Tabelle auftauchen dürfen.

□ C Indexzugriffe erlauben einen Zugriff über die Zeilennummer.

13/29

Page 14: Zertifizierung Fragen Aus Kursunterlagen

□ D Ein Einzelsatzschlüsselzugriff per READ TABLE kann bei Standardtabellen mehrere Datensätze gleichzeittig liefern, da dort der Schlüssel prinzipiell immer mehrdeutig ist.

□ E Standardtabellen können Sie mit der SORT-Anweisung sortieren.

□ F Wenn Sie einen Datensatz per INSERT ... INTO TABLE in eine sortierte Tabelle mit eindeutigem Schlüssel einfügen wollen, so gelingt dies nur, wenn mit der konkreten Wertekombination des Datensatzes für die Schlüsselkomponenten noch kein anderer Datensatz in der internen Tabelle vorhanden ist. Andernfalls wird der Rückgabewert 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?

Wählen Sie die richtige(n) Antwort(en).

□ A Bei allen Schlüsselzugriffen wählt das Laufzeitsystem abhängig von der Tabellenart immer die schnellst durchführbare Variante, sofern möglich.

□ 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 binäre Suche nicht möglich.

□ E Zugriffe über die Zeilennummer sind bei Schleifenverarbeitungen in der Regel die schnellste Variante.

2.2.2 Kapitel 2: Einführung in die objektorientierte Programmierung

1. Das objektorientierte Programmiermodell ist deutlich später als das prozedurale entstanden. Es bietet damit mehr Möglichkeiten, d. h. es können damit Anwendungsprobleme gelöst werden, die mit rein prozeduralen Programmiersprachen nicht lösbar 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?

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. Müssen 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 können Sie über diese Referenzvariable zugreifen? Wählen Sie die richtige(n) Antwort(en).

□ A redefinierte Komponenten der Oberklasse □ B neu definierte Komponenten der Unterklasse

□ C geerbte Komponenten der Oberklasse □ D redefinierte Komponenten der Unterklasse

4. Angenommen, eine Referenzvariable typisiert auf eine Oberklasse enthält eine Unter� klasseneferenz und Sie kopieren diese auf eine Referenzvariable, die auf die Unterklasse typisiert ist (Widening Cast). Auf welche der folgenden Komponenten können Sie über diese Referenzvariable zugreifen? Wählen Sie die richtige(n) Antwort(en).

□ A redefinierte Komponenten der Oberklasse □ B neu definierte Komponenten der Unterklasse

□ C geerbte Komponenten der Oberklasse □ D redefinierte Komponenten der Unterklasse

5. Zu welchem Zweck setzen Sie die Vererbung ein?

14/29

Page 15: Zertifizierung Fragen Aus Kursunterlagen

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 können Sie über diese Referenzvariable zugreifen? Wählen 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 □ D auf die Komponenten aus dem Interface, für die Alias-Namen definiert sind

8. Angenommen, eine Referenzvariable typisiert auf ein Interface – enthält eine Instanzreferenz einer Klasse, die die� ses Interface implementiert, und Sie kopieren diese auf eine Referenzvariable, die auf die Klasse typisiert ist (Widening Cast). Auf welche der folgenden Komponenten können Sie über diese Referenzvariable zugreifen? Wählen 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 □ D auf die Komponenten aus dem Interface, für die Alias-Namen definiert sind

9. Mit welchem Schlüsselwort definieren Sie ein Ereignis?

10. Mit welchem Schlüsselwort lösen Sie ein Ereignis aus?

11. Mit welcher Anweisung definieren Sie eine Behandlermethode M_H für das Ereignis E der Klasse C?

12. Mit welcher Anweisung registrieren Sie eine Behandlermethode M_H der reagierenden Instanz REF_H bei der auslösenden Instanz REF_R?

13. Können Ereignisse in Interfaces definiert werden?

14. Können Ereignisse in Interfaces ausgelöstwerden?

2.2.4 Kapitel 4: Objektorientierte Repository-Objekte

1. Welche der folgenden Aussagen sind korrekt? Wählen 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 können Sie innerhalb einer Vererbungshierarchie Methoden in andere Klassen verschieben.

□ I MitdemRefactoring Assistent können Sie Modelldiagramme entwerfen.

2. Um den Benutzer eine objektorientierte Anwendung ausführen lassen zu können, muss immer ein ausführbares, ein Modulpool- oder ein Funktionsgruppenprogramm existieren, da andernfalls nirgendwo eine Instanz per CREATE OBJECT erzeugt werden könnte. Geben Sie an, ob diese Aussage richtig oder falsch ist.

□ Richtig □ Falsch

3. Welche der folgenden Aussagen sind korrekt? Wählen Sie die richtige(n) Antwort(en).

□ A Eine nicht-abstrakte Klasse kann abstrakte Methoden enthalten.

□ B Eine abstrakte Klasse enthält keine Implementationen.

□ C Eine abstrakte Methode enthält keine Implementation.

□ D Finale Klassen können keine Oberklassen innerhalb einer Klassenhierarchie sein.

15/29

Page 16: Zertifizierung Fragen Aus Kursunterlagen

□ E Eine finale Methode muss redefiniert werden.

□ F Finale Klassen können 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 eingeschränkt werden.

□ J Die Definition eines privaten Instanzkonstruktors (Instanziierbarkeit nur durch die Klasse selbst) kann innerhalb des privaten Sichtbarkeitsbereiches vorgenommen werden (PRIVATE SECTION).

4. Wofür wird die Technik der persistenten Objekte verwendet? Wählen Sie die richtige(n) Antwort(en).

□ A zur objektorientierten Kapselung von Datenbankzugriffen

□ B ausschließlich zur Realisierung von Datenbankzugriffen im objektorientierten Kontext (Open-SQL innerhalb von ABAP Objects nicht erlaubt)

□ C zur direkten Umsetzung eines objektorientierten Modells für 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 für Berechtigungsprüfungen (Komponentenzugriff bei persistenten Objekten nur über den Agenten möglich)

2.2.5 Kapitel 5: Ausnahmebehandlung und dynamische Programmierung

1. Das neue Ausnahmekonzept löst das alte ab. Alle alten Quelltextstrecken müssen also umgeschrieben werden. Funktionsbausteine aus dem SAP-Standard lösen 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 können im Gegensatz zu denen des alten auch aus Unterprogrammen heraus ausgelöst und propagiert werden. Geben Sie an, ob diese Aussage richtig oder falsch ist.

□ Richtig □ Falsch

3. Die neuen Ausnahmeklassen können 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 müssen und, wenn ja, wie das System reagiert, falls es versäumt wurde. Geben Sie an, ob diese Aussage richtig oder falsch ist.

□ Richtig □ Falsch

5. Welche der folgenden Aussagen zur dynamischen Programmierung sind korrekt? Wählen Sie die richtige(n) Antwort(en).

□ A Feldsymbole enthalten zur Laufzeit Adressen von Datenobjekten.

□ B Wenn man den Inhalt eines Feldsymbols verändert, verändert man also die Adresse des zugewiesenen Datenobjekts.

□ C Wenn man den Inhalt eines Feldsymbols verändert, verändert man also eine Adresse. D. h. das Feldsymbol verweist anschließend nicht mehr auf das Datenobjekt.

□ D Mit Feldsymbolen können Sie auf Datenobjekte so zugreifen, als hätten 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 verändert, verändert man eine Adresse. D. h. die Referenz verweist anschließend nicht mehr auf das Datenobjekt.

□ 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.

16/29

Page 17: Zertifizierung Fragen Aus Kursunterlagen

□ 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 äußern 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 können in ABAP Objects sämtliche Typeigenschaften eines (Daten-)Objekts zur Laufzeit bestimmt werden.

17/29

Page 18: Zertifizierung Fragen Aus Kursunterlagen

18/29

Page 19: Zertifizierung Fragen Aus Kursunterlagen

3 Antworten

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

19/29

Page 20: Zertifizierung Fragen Aus Kursunterlagen

3.1 Antworten: BC400 ABAP Workbench Grundlagen

3.1.1 Kapitel 2: Einführung in die ABAP Workbench

1. Repository-Objekte sind mandantenspezifisch.

Antwort: Falsch

Repository-Objekte sind mandantenunabhängig und daher systemweit nutzbar.

2. Kundenobjekte können in SAP-Pakete aufgenommen werden.

Antwort: Falsch

Kundenobjekte müssen 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. anwendungsunabhängigen Suche) und SAP-Anwendungshierarchie (zur anwendungsbezogenen Suche)

4. Ein Anwendungsprogramm muss für jede im System genutzte Sprache neu angelegt werden.

Antwort: Falsch

Es müssen nur die zum Programm zugehörigen Texte jeweils übersetzt werden. Dies wird noch im weiteren Verlauf der Schulung vermittelt.

5. Was ist ein Kettensatz?

Antwort: Eine abgekürzte Schreibweise für mehrere Anweisungen, die den gleichen Anfang besitzen.

6. Bei welcher Aktion wird der Transport der Entwicklungsobjekte eines Auftrags angestoßen?

Antwort: D

3.1.2 Kapitel 3: Einführung in das ABAP Dictionary

1. Mit Hilfe von Dictionary-Typen (deskriptiven Elementen) können im Programm Variablen definiert werden.

Antwort: Richtig

Zur Typisierung von Variablen können Dictionary-Typen verwendet werden.

2. Was stimmt bei Datenelementen und Domänen?

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?

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 zugehörigen 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?

20/29

Page 21: Zertifizierung Fragen Aus Kursunterlagen

Antwort: I, F, P

N ist kein numerischer Typ, sondern Typ für Zeichenfolgen, die nur Dezimalziffern enthalten können.

2. Ist es möglich, 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-Schlüsselwort definiert man lokale Typen ?

Antwort: TYPES

4. In welchem Systemfeld befindet sich der Schleifenzähler für 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, berücksichtigt?

Antwort: Felder, die in beiden Strukturen gleichnamig vorhanden sind.

7. Was ist eine interne Tabelle?

Antwort: C

8. Über welches Schlüsselwort 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, Schlüssel 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

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 Verständnis älterer Programme beitragen.

21/29

Page 22: Zertifizierung Fragen Aus Kursunterlagen

3.1.4 Kapitel 5: Datenbeschaffung

1. Warum soll im Regelfall für Datenbankzugriffe "Open SQL" statt "Native SQL" verwendet werden?

Antwort: Da Open SQL unabhängig 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 Sätze des Ausführungsmandanten gelesen, d. h. des Mandanten, in dem das Programm aufgerufen wird.

4. Wie heißt 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 Sätze?

Antwort: C

6. Welche Technik soll zum Lesen zusammengehöriger Sätze aus mehreren Datenbanktabellen eingesetzt werden, da sie meist wesentlich performanter ist als geschachtelte SELECT-Anweisungen?

Antwort: Tabellen-Join

7. Welche der folgenden Aussagen zur Berechtigungsprüfung sind korrekt?

Antwort: B, C

8. Mit welcher ABAP-Anweisung wird eine Berechtigungsprüfung realisiert und wo steht das Prüfungsergebnis?

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 Code Inspector berücksichtigt?

Antwort: B, C, D

22/29

Page 23: Zertifizierung Fragen Aus Kursunterlagen

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 Funktionalität sollte nicht in Form eines programmlokalen Unterprogramms, sondern eines Funktionsbausteins realisiert werden, da es für Letzteren eine Suchfunktion gibt.

2. Zu welchem Zweck soll die Parameterübergabe 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: Einführung ABAP-Ereignisse

1. Welche der folgenden Aussagen zu Ereignisverarbeitungsblöcken sind korrekt?

Antwort: B

Der implizite Ereignisverarbeitungsblock heißt 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 anschließender Anzeige des Selektionsbildes werden entsprechende Variableninhalte als Eingabevorbelegungen auf das Selektionsbild transportiert.

3. Wie heißt das Ereignis für die Hauptverarbeitung eines ausführbaren Programms?

Antwort: START-OF-SELECTION

3.1.8 Kapitel 9: Benutzerdialoge

1. Was ist der wesentliche Vorteil von Textsymbolen gegenüber 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 heißt das Ereignis, das bei Doppelklick auf eine Listenzeile ausgelöst wird?

Antwort: AT LINE-SELECTION

5. Welches Systemfeld enthält die aktuelle Liststufe? WelchenWert hat dieses während der Erstellung und Anzeige der Grundliste?

Antwort: SY-LSIND / 0

6. Wozu ist das Selektionsbild hauptsächlich da?

Antwort: Zur Eingabe von Abgrenzungen für die Datenselektion

7. Welche der folgenden Aussagen zu Selektionstexten sind korrekt?

Antwort: D

23/29

Page 24: Zertifizierung Fragen Aus Kursunterlagen

Selektionstexte können nicht direkt auf dem Selektionsbild gepflegt werden. Sie gehören 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 Betätigung der Drucktaste ans Programm übertragen wird.

11. Wie heißt die Anweisung, die das statische Folge-Dynpro des aktuellen Dynpros übersteuert?

Antwort: SET SCREEN

12. Wo werden die Menüs eines Dynpros definiert?

Antwort: Im zugehörigen 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 Funktionalität.

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 Funktionalität zur Datenselektion bzw. -änderung. Es kann nicht nur von Programmen des selben, sondern auch von solchen eines externen Systems aufgerufen werden. Somit erhalten vor allem externe Anwendungen die Möglichkeit, ohne besondere Kenntnisse des SAP-Systems auf darin abgelegte Daten zuzugreifen.

3.1.10Kapitel 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 Möglichkeit Erweiterungen statt Modifikationen benutzt werden?

Antwort: Da Erweiterungen bei Release-Wechsel keinen Abgleichaufwand verursachen.

24/29

Page 25: Zertifizierung Fragen Aus Kursunterlagen

3.2 Antworten: BC401 ABAP Objects

3.2.1 Kapitel 1: Vervollständigung 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 durchgeführt worden ist?

Antwort: in den Programmattributen das Kennzeichen Unicodeprüfungen aktiv setzen und anschließend für erneute syntaktische Korrektheit des Quelltextes sorgen Siehe entsprechenden Abschnitt innerhalb der Lektion.

2. Für welche der folgenden eingebauten Datentypen sollten Sie die ursprünglichen Varianten der einschlägigen Zeichenkettenverarbeitungsanweisungen oder den optionalen Zusatz IN CHARACTER MODE verwenden?

Antwort: A, B, D, E, F

Siehe entsprechenden Abschnitt innerhalb der Lektion.

3. Für 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 bezüglich bereits existenter Programme, wenn in diesen bei Zeichenkettenverarbeitungen generell immer schon .sicher. programmiert worden ist (Kopieren von Strukturen nur elementar-komponentenweise, Vermeidung von Offset-Längenzugriff, etc.).

Antwort: Richtig

Siehe entsprechenden Abschnitt innerhalb der Lektion.

5. Vor SAPWeb AS 6.10war das Kopieren von gesamten Strukturinhalten per MOVE problemlos möglich und sehr praktisch. Erst wegen der Unicode-Fähigkeit 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 führt der Offset-Längenzugriff generell zu einem Syntaxfehler, falls das Kennzeichen Unicodeprüfungen 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

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.

25/29

Page 26: Zertifizierung Fragen Aus Kursunterlagen

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: Einführung in die objektorientierte Programmierung

1. Das objektorientierte Programmiermodell ist deutlich später als das prozedurale entstanden. Es bietet damit mehr Möglichkeiten, d. h. es können damit Anwendungsprobleme gelöst werden, die mit rein prozeduralen Programmiersprachen nicht lösbar waren.

Antwort: Falsch Siehe entsprechenden Abschnitt innerhalb der Lektion.

2. Was ist mit dem Begriff Mehrfachinstanziierbarkeit gemeint?

Antwort: die Möglichkeit, 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 können, ohne Möglichkeit, direkt auf die Daten zugreifen zu können 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 müssen Sie über die Klasse zugreifen. D. h. es gibt sie pro Programm und Klasse höchstens einmal im Arbeitsspeicher. Es muss dafür kein Objekt instanziiert worden sein. Auf Instanzkomponenten müssen Sie über die Objekte dieser Klasse zugreifen. D. h. es gibt sie pro 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. Müssen 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 können Sie über diese Referenzvariable zugreifen?

Antwort: A, C

26/29

Page 27: Zertifizierung Fragen Aus Kursunterlagen

Siehe entsprechenden Abschnitt innerhalb der Lektion.

4. Angenommen, eine Referenzvariable . typisiert auf eine Oberklasse . enthält eine Unterklasseneferenz und Sie kopieren diese auf eine Referenzvariable, die auf die Unterklasse typisiert ist (Widening Cast). Auf welche der folgenden Komponenten können 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 können Sie über diese Referenzvariable zugreifen?

Antwort: A

Siehe entsprechenden Abschnitt innerhalb der Lektion.

8. Angenommen, eine Referenzvariable . typisiert auf ein Interface . enthält 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 können Sie über diese Referenzvariable zugreifen?

Antwort: A, B, C, D

Siehe entsprechenden Abschnitt innerhalb der Lektion.

9. Mit welchem Schlüsselwort definieren Sie ein Ereignis?

Antwort: EVENTS

Siehe entsprechenden Abschnitt innerhalb der Lektion.

10. Mit welchem Schlüsselwort lösen Sie ein Ereignis aus?

Antwort: RAISE EVENT

Siehe entsprechenden Abschnitt innerhalb der Lektion.

11. Mit welcher Anweisung definieren Sie eine Behandlermethode M_H für 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 auslösenden Instanz REF_R?

Antwort: SET HANDLER ref_h->m_h FOR ref_r.

Siehe entsprechenden Abschnitt innerhalb der Lektion.

13. Können Ereignisse in Interfaces definiert werden?

Antwort: ja

Siehe entsprechenden Abschnitt innerhalb der Lektion.

14. Können Ereignisse in Interfaces ausgelöst werden?

Antwort: nein

Siehe entsprechenden Abschnitt innerhalb der Lektion.

3.2.4 Kapitel 4: Objektorientierte Repository-Objekte

27/29

Page 28: Zertifizierung Fragen Aus Kursunterlagen

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 ausführen lassen zu können, muss immer ein ausführbares, ein Modulpool- oder ein Funktionsgruppenprogramm existieren, da andernfalls nirgendwo eine Instanz per CREATE OBJECT erzeugt werden könnte.

Antwort: Falsch Die Erzeugung der ersten Instanz und der ersteMethodenaufruf kann über eine OO-Transaktion realisiert werden. Allerdings bestehen gewisse Einschränkungen.

Siehe entsprechenden Abschnitt innerhalb der Lektion.

3. Welche der folgenden Aussagen sind korrekt?

Antwort: C, D, H, I

Siehe entsprechenden Abschnitt innerhalb der Lektion.

4. Wofür 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 löst das alte ab. Alle alten Quelltextstrecken müssen also umgeschrieben werden. Funktionsbausteine aus dem SAP-Standard lösen ab SAP Web AS 6.20 automatisch objektorientierte Ausnahmen aus.

Antwort: Falsch

Siehe entsprechenden Abschnitt innerhalb der Lektion.

2. Die Ausnahmen des neuen Konzeptes können im Gegensatz zu denen des alten auch aus Unterprogrammen heraus ausgelöst und propagiert werden.

Antwort: Richtig

Siehe entsprechenden Abschnitt innerhalb der Lektion.

3. Die neuen Ausnahmeklassen können 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 müssen und, wenn ja, wie das System reagiert, falls es versäumt 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

28/29

Page 29: Zertifizierung Fragen Aus Kursunterlagen

4 Quellenverzeichnis

BC400 ABAP Workbench Grundlagen SAP NetWeaver Teilnehmerhandbuch, SAP, Version 2006/Q2.

BC401 ABAP Objects mySAP Technology Teilnehmerhandbuch, SAP, Version kein Datum.

29/29