Alles Flashcards

1
Q

Was ist zur Kompatibilität von ABAP zu sagen?

A

Ist abwärtskompatibel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist mit Mehrsprachigkeit von ABAP zu sagen?

A

Wird unterstützt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist mit SQL und ABAP?

A

SQL ist in ABAP eingebettet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wonach ist ABAP stark ausgerichtet?

A

Ist ABAP Plattform- und Datenbankunabhängig?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie sieht es hinsichtlich der Kompilierung bei ABAP aus?

A

bei erster Ausführung kompiliert –> Liegt auch als Quelltext vor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Welche drei Ebenen gibt es bei der Kompilierung von ABAP-Code?

A

Präsentation (SAP GUI) –> Application (Application Server) –> Database (Databaseserver) (–> Quellcode/ Kompiliertes Programm)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist bei mandantenunabhängig und was ist mandantenabhängig?

A

unabhängig: Repository (Tabellen, Programme, Funktionsbausteine…)

abhängig: Anwendungs- und Benutzerdaten, mandantenabhängiges customizing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was wird benötigt, um mit ABAP zu entwickeln?

A
1. System mit Repository-Zugriff oder
Entwicklungsmandant
2. User mit Entwicklerrechten und
Entwicklerschlüssel
3. Gegebenenfalls ein eigenes Paket oder
einen Transportauftrag
4. Verwendung des Namensraums YZ für
Eigenentwicklungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Stufen gibt es bei der Einführung eines Programms?

A

DEV (Development) –> QAS (Quality Assurance) –> PROD (Production)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie ist die Hieriachie bei der Entwicklung eines Entwicklungs”projekts”?

A

Projekt 1 — n Transportauftrag 1 – n Aufgabe 1 – 1 Mitarbeiter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wodurch wird “Code weitergeschoben” in die nächste Stufe?

A

Über Transportaufträge im Repository

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was muss getan werden, um Aufträge freizugeben?

A

Erst Aufgaben freigaben

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Worüber sind Function- und Class-Builder erreichbar?

A

Werkzeuge - ABAP Workbench - Entwicklung (SE37/24)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Nenne die sechs grundlegenden Konzepte

A
  • Datentypen und deren Deklaration
  • Wichtige Befehle und Kontrollstrukturen
  • Interne Tabellen
  • Datentypen im Data Dictionary
  • Lokale Modularisierung
  • Hintergrundverarbeitung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Nenne vordefinierte Datentypen

A
d - Date
t - Time
i - Integer
c - String
String - String
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Nenne benutzerdefinierte, strukturierte Datentypen

A

Feldleisten, Tabellen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Wie kann
DATA a TYPE c.
DATA b TYPE i.

alternativ geschrieben werden? (zeichenweise erklären)

A

DATA: a TYPE c, b TYPE i.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Wie können eigene Datentypen definiert werden? (Code)

A
TYPES: BEGIN OF str_adresse,
name(40) TYPE c,
strasse(40) TYPE c,
ort(40) TYPE c,
plz TYPE i,
END OF str_adresse.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Wie erfolgt der Zugriff auf eine komplexe Datenstruktur?

A

Der Zugriff auf Felder einer Struktur erfolgt mit Bindestrichen:

WRITE adresse-name.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Was ist Syst?

A
• Die Struktur SYST
enthält viele vom
SAP-Systeme
verwendete
Systemvariablen
• Die Struktur kann im
Data Dictionary
(Transaktionscode
SE11) über die
Anzeige des
Datentyps SYST
erreicht werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Wie wird IF geschrieben? (zeichenweise erklären)

A
IF logischer Ausdruck 1.
[Anweisungsblock 1]
[ELSEIF logischer Ausdruck 2.
[Anweisungsblock 2]]
[ELSE.
[Anweisungsblock n]]
ENDIF.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Wie wird CASE geschrieben? (zeichenweise erklären)

A
CASE .
[WHEN .
[Anweisungsblock 1]]
[WHEN .
[Anweisungsblock 2]]
[WHEN OTHERS.
[Anweisungsblock 3]]
ENDCASE.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Was gibt sy-index zurück? (Schleife)

A

– gibt die Zahl des aktuellen Schleifendurchlaufs an
– bezieht sich bei Schachtelung von Schleifen auf die
aktuelle Schleife

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Nenne wichtige String-Operatoren

A
CONCATENATE
SPLIT
SEARCH
REPLACE
CONDENSE
TRANSLATE
…
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Wo befindet sich der Inhalt interner Tabellen?

A

Im Arbeitsspeicher –> Nur zur Laufzeit verfügbar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Was ist ein wichtiges Merkmal interner Tabellen?

A

zu einem beliebigen Zeilentyp beliebig viele Zeilen im Arbeitsspeicher abgelegt werden können.

27
Q

Was ist hinsichtlich Komplexität bei internen Tabellen wichtig?

A

Interne Tabellen können komplex strukturiert sein, d.h. Zeilen oder Komponenten von internen Tabellen können selbst wieder interne Tabellen sein.

28
Q

Wie können alle Zeilen einer internen Tabelle gelöscht werden?

A

refresh

29
Q

Was machen bei internen Tabellen table_line, sort und describe?

A

Aktuelle Zeile, nachträgliche Sortierung von Standardtabellen, aktuelle Anzahl an Zeilen

30
Q

Welche Arten von internen Tabellen gibt es?

A

Standard, Sortiert, Hash

31
Q

Wie sollte auf die jeweiligen Tabellentypen zugegriffen werden?

A

Standard: Index
Sortiert: Schlüssel
Hash: MUSS Schlüssel

32
Q

Wie wird eine Tabelle deklariert? (Beispiel Hash)

A

DATA hashedTable1 TYPE HASHED TABLE
OF Zeichenkette
WITH UNIQUE KEY table_line.

33
Q

Wie kann an Standardtabellen eine Zeile angehängt werden? Wie können die Tablenne befüllt werden?

A

append, insert

34
Q

Wie kann auf einzelene Tabellenzeilen zugegriffen werden? Was sollte dabei beachtet werden?

A

read table;

Es ist dabei empfehlenswert, die entsprechende Variable mit der
Anweisung read table in eine Arbeitsvariable einzulesen, die
wiederum kompatibel zum Zeilentyp der internen Tabelle ist.

35
Q

Was passiert beim Auslesen einer Standardtabelle mit den System-Strukturen sy-subrc und sy-tabix?

A

Wenn eine passende Tabellenzeile gefunden wird, erhält die
Systemvariable sy-subrc den Wert 0. Die Systemvariable
sy-tabix wird auf den Index des gefundenen Eintrags gesetzt.

36
Q

Wie können Elemente in der internen Tabelle verändert werden?

A

modify

37
Q

Was ist ein Dynpro?

A

Dynamische Programme. Haupt-Technologien in der Interaktion zwischen Benutzer und SAP-ERP-System

38
Q

Wie können Systemfehler abgefangen werden?

A

CATCH SYSTEM-EXCEPTIONS conversion_errors = 4.

ENDCATCH.

39
Q

Was ist der Unterschied vom Datentyp String zu C?

A

Es gelten die gleichen Angaben wie beim
Zielfeld C, bis auf die Tatsache, dass der String dynamisch angepasst
wird und daher nicht rechts abgeschnitten wird bzw. keine Leerzeichen
erzeugt werden.

40
Q

Welche Kompatibilitäten gibt es bei der Datenobjektumwandlung?

A

• Statische Inkompatibilität
– Zwischen Objekten der Datentypen d (date) und t (time)
• Dynamische Inkompatibilität
– Zwischen ‘1234Hallo‘ und i (Zeichenkette und Zahl)
• Dynamische Kompatibilität
– ‘12345‘ und i (Zeichenkette und Zahl)

41
Q

Wie kann aus:

myString1(50) TYPE C.
myString1 = ‘Offenburg’.

‘Offenbach’ gemacht werden? (zeichenweise)

A

myString1+5(4) = ‘bach’.

42
Q

Wie können Strings aneinander gereiht werden?

A

CONCATENATE myString1
myString2
myString3
INTO myString4.

43
Q

Wie können Zeichenketten zerlegt werden? (zeichenweise)

myString1 = ‘Hamburg;Berlin;Hannover;Kiel’.

A
Trennzeichen = ';'.
SPLIT myString1 AT Trennzeichen INTO
myString2
myString3
myString4
myString5.
44
Q

Wie kann in Zeichenketten gesucht werden?

A

SEARCH myString1 FOR myString2.

45
Q

Wie kann in Zeichenketten ersetzt werden?

A

REPLACE myString1 WITH myString2 INTO myString3.

46
Q

Wie kann die Länge einer Zeichenkette bestimmt werden?

A
DATA myString(50) TYPE C.
DATA myStringLength TYPE I.
myString = 'abcdefg'.
myStringLength = strlen( myString ).
47
Q

Was bietet das ABAP-Dictonary?

A

Bislang definierte Datentypen sind nur programmlokal verfügbar
Das ABAP-Dictionary bietet globale Datentypen, die in Programmen genutzt werden können (LIKE, TYPE, Vorwärtsnavigation, …)

48
Q

Worüber (SAP-Befehlt) können Datentypüen im ABAP-Dictionary angelegt werden?

A

SE11

49
Q

Wie kann über neu erstellte Datentypen des Dictionarys eine mehrdimensionale Tabelle erstellt werden?

A
REPORT ZZ_00_MEHRDIMTABELLE.
DATA element TYPE zz_00_zeichenkette.
DATA spalten TYPE zz_00_spalten.
DATA zeilen TYPE zz_00_zeilen.
REFRESH spalten.
APPEND 'eins' TO spalten.
APPEND 'zwei' TO spalten.
APPEND 'drei' TO spalten.
APPEND 'vier' TO spalten.
APPEND spalten TO zeilen.
REFRESH spalten.
50
Q

Wie kann Modularisierung in ABAP realisiert werden?

A
  1. Include-Dateien (Befehl INCLUDE)
  2. Form‘s (Prozeduren bzw. Unterprogramme)
  3. Funktionsbausteine
51
Q

Was sind Include-Dateien?

A

Include-Dateien
• Ausgliederung von Quellcode aus dem Programm
• Include-Objekte werden vor Ausführung in das
Hauptprogramm eingefügt
• Einbinden einer Include-Datei über den Befehl
„INCLUDE“

52
Q

Was sind Form’s (Unterprogramme)?

A

• Unterprogramme können auf übergeordnete („globale“) Variablen des
Programms zugreifen.
• Innerhalb von Unterprogrammen können lokale Datenobjekte definiert
werden, die nur dort zur Ausführungszeit sichtbar und gültig sind.
• Der rekursive Aufruf von Unterprogrammen ist möglich.

53
Q

Wir wird eine Form (Unterprogramm) im Hauptprogramm eingebunden?

A
PERFORM myForm1
USING meineZeichenkette1
meineZeichenkette2
CHANGING meineZeichenkette3
meineZeichenkette4.
54
Q

Wie sieht eine Form im Unterprogramm bspw. aus?

A

FORM myForm1
USING eingabeparameter1 TYPE Zeichenkette
VALUE(eingabeparameter2) TYPE Zeichenkette
CHANGING ausgabeparameter1 TYPE Zeichenkette
VALUE(ausgabeparameter2) TYPE Zeichenkette.
ausgabeparameter1 = eingabeparameter1.
ausgabeparameter2 = eingabeparameter2.
ENDFORM.

55
Q

Wa sind Funktionsbausteine?

A

• Kapselung von Quellcode zu Funktionsbausteinen
(anwendungsübergreifende wiederverwendbare
Softwarekomponenten)
• Funktionsbausteine können nicht auf übergeordnete
Variablen zugreifen
 vollständige Parameterübergabe über
Schnittstelle

56
Q

Wie wird ein Funktionsbaustein aufgerufen?

A
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = meinTitel
text_question = meineFrage
IMPORTING
answer = meineAntwort.
57
Q

Welche Funktionsbausteine gibt es?

A

Funktionsbausteine –> Remotefähige Funktionsbausteine –> BAPI

58
Q

Was sind BAPIs?

A
• BAPI‘s sind nach
betriebswirtschaftlicher
Sichtweise gekapselte
Funktionsbausteine
• Entwickler müssen sich keine
Gedanken um die Veränderung
der entsprechenden
Tabellen machen
59
Q

Was ist die Hintergrundverarbeitung?

A

• Programme, die von Benutzern bedient werden,
verwenden kostbare Dialog-Workprozesse in
einem SAP-System
• Besonders lang laufende Programme sollten
daher in Hintergrund laufen

60
Q

Wie erfolgen Datenbankzugriffe?

A

SELECT * “ was
FROM spfli “ woher
INTO waspfli “ wohin (das gibt es so nicht in SQL)
WHERE cityfrom = abflugo. “ Einschränkung
WRITE: / waspfli-cityto, waspfli-carrid, waspfli-fltime.
ENDSELECT. “ Schleife zur satzweisen Bearbeitung

61
Q

Wie ist der Aufbau der Data Dictionary?

A

Domäne -> Datenelement -> Feld -> Struktur/Tabelle

62
Q

Wie können Tabelleninhalte eingesehen werden? (SAP-Code)

A

SE16

63
Q

Was wird gemacht, um den Datenzugriff aus Datenbanken erheblich zu beschleunigen?

A

● Einlesen von DB-Daten in interne Tabellen
● Interne Tabellen sind Tabellen, die nur während der
Programmausführung bestehen
–>
● Zurückschreiben der veränderten internen Tabelle oder Workarea

64
Q

Wie werden Datenbankeinträge geändert/gelöscht?

A

MODIFY [CLIENT SPECIFIED] FROM TABLE .

DELETE FROM WHERE [SQL Bedingung].