Als pdf oder txt herunterladen
Als pdf oder txt herunterladen
Sie sind auf Seite 1von 30

ABAP erste Schritte

Contents
Begriffe .................................................................................................................................................... 4
Test- und Entwicklungssystem ............................................................................................................ 4
Konsolidierungs- Qualittssysicherungssystem .................................................................................. 4
Produktivsystem .................................................................................................................................. 4
Transportauftrag ................................................................................................................................. 4
lokale Objekte...................................................................................................................................... 4
Report .................................................................................................................................................. 4
Dynpro ................................................................................................................................................. 4
Workprozess ........................................................................................................................................ 4
Dispatcher ........................................................................................................................................... 4
Dynpro-Prozessor ................................................................................................................................ 5
ABAP-Prozessor ................................................................................................................................... 5
betriebswirtschaftliche Kernbereiche eines SAP-Systems .................................................................. 6
SAP-Module ......................................................................................................................................... 6
Wichtige Transaktionen .......................................................................................................................... 7
Wichtige Systemtabellen ......................................................................................................................... 7
Anmelden ................................................................................................................................................ 8
Abmelden (/NEX) ..................................................................................................................................... 8
Version des Abap Application Server anzeigen ....................................................................................... 8
Abap-Dictionary (SE11)............................................................................................................................ 9
Tabellenarten ...................................................................................................................................... 9
transparente Tabelle ....................................................................................................................... 9
Pool-Tabelle ..................................................................................................................................... 9
Cluster-Tabelle................................................................................................................................. 9
Namespaces .................................................................................................................................... 9
Auslieferungsklassen ....................................................................................................................... 9
Datenelement...................................................................................................................................... 9
Dokumentation................................................................................................................................ 9
Domne ............................................................................................................................................. 10
Wertebereiche............................................................................................................................... 10
Ablauf ............................................................................................................................................ 10
technische Einstellungen fr Tabelle ................................................................................................ 11
1/30

ABAP erste Schritte.docx

Pflege von Tabelleninhalten im Abap-Dictionary (SE11)................................................................... 11


Anzeigen von Tabelleninhalten im Abap-Dictionary (SE11) .............................................................. 11
Datentypen anlegen .......................................................................................................................... 11
Vergleich ............................................................................................................................................ 11
Datentypen ........................................................................................................................................ 11
Boolean-Datentyp in ABAP ................................................................................................................ 12
Abap-Editor (SE38) ................................................................................................................................ 12
Ablauf ................................................................................................................................................ 13
Report als Anwender starten ............................................................................................................ 13
Datenbanktabelle ausgeben.............................................................................................................. 13
Workarea deklarieren.................................................................................................................... 13
Report kopieren................................................................................................................................. 14
Editor-Kommandos............................................................................................................................ 14
Quellcode auskommentieren ........................................................................................................ 14
Datentypen ........................................................................................................................................ 14
Funktionen auf Zeichenketten .......................................................................................................... 14
Abap-Debugger ................................................................................................................................. 14
Debugger starten........................................................................................................................... 14
wichtige Debugger-Befehle ........................................................................................................... 14
Debugger beenden ........................................................................................................................ 15
Debug-Layer konfigurieren............................................................................................................ 15
Versionieren von Abap-Programmen................................................................................................ 15
Version erzeugen ........................................................................................................................... 15
Versionen anzeigen ....................................................................................................................... 15
ABAP-030 Infos ...................................................................................................................................... 15
Technische Einstellungen .................................................................................................................. 15
Datenelement.................................................................................................................................... 15
Domne ............................................................................................................................................. 15
Erweiterungskategorie ...................................................................................................................... 15
Eingabehilfen ..................................................................................................................................... 16
Fremdschlsselbeziehung ................................................................................................................. 16
Pflegen von Tabellen ......................................................................................................................... 16
Append-Struktur ................................................................................................................................ 17
Views ................................................................................................................................................. 17
Eingabehilfe (F4-Hilfe) ........................................................................................................................... 17
2/30

ABAP erste Schritte.docx

Suchhilfe ............................................................................................................................................ 17
Sammelsuchhilfe ............................................................................................................................... 17
Nachrichtenklassen ............................................................................................................................... 17
ABAP-100 Notizen ................................................................................................................................. 18
Ablauf Erstellung eines Dynpros........................................................................................................ 18
Bildelemente ..................................................................................................................................... 18
Auswahlknopf .................................................................................................................................... 18
Tabstrip.............................................................................................................................................. 18
ALV-Grid ............................................................................................................................................ 19
Table-Control ..................................................................................................................................... 19
Web-Dynpro .......................................................................................................................................... 20
Fehlermeldung ...................................................................................................................................... 22
Ursache .......................................................................................................................................... 22
Lsung............................................................................................................................................ 22
Fehlermeldung .............................................................................................................................. 22
Fehler bei der Verarbeitung Ihrer Anfrage ............................................................................................ 22
Was ist passiert ? ............................................................................................................................... 22
Was knnen Sie tun ? ........................................................................................................................ 23
Ursache .......................................................................................................................................... 23
Lsung............................................................................................................................................ 23
SAP-Link ................................................................................................................................................. 23
JSON....................................................................................................................................................... 23
Nummernkreisobjekte ...................................................................................................................... 24
Customizing ........................................................................................................................................... 24
Auslieferungsklassen der Customizing-Tabellen ............................................................................... 25
berblick ........................................................................................................................................... 25
Auslieferungsklasse C ........................................................................................................................ 25
Auslieferungsklasse G ........................................................................................................................ 25
Auslieferungsklasse E ........................................................................................................................ 25
Auslieferungsklasse S ........................................................................................................................ 25
Berechtigungen ..................................................................................................................................... 26
Authority-Check..................................................................................................................................... 26
Rolle ................................................................................................................................................... 27
Berechtigung Objektklasse anlegen .................................................................................................. 28
Berechtigungsobjekt anlegen ............................................................................................................ 28
3/30

ABAP erste Schritte.docx

Whrungen <> 2 Dezimalstellen ........................................................................................................... 29


Beim Speichern.................................................................................................................................. 29
Beim Laden ........................................................................................................................................ 29

Begriffe
wichtige Begriffe rund um SAP

Test- und Entwicklungssystem


System mit bungs- und Schulungsdaten

Konsolidierungs- Qualittssysicherungssystem
Testsystem mit Kopien der Echtdaten

Produktivsystem
das Livesystem

Transportauftrag
Menge von Objekten, die auf ein anderes System bertragen werden mit Transport-Auftrasnummer

lokale Objekte
Objekte auf dem Entwicklungssystem, die niemals transportiert werden.

Report
Batchprogramme ohne Steuermglichkeit durch den Anwenderung durch Eingabemasken

Dynpro
dynamisches Programm mit Dialogbildschirmen

Workprozess
Ein ABAP-Workprozess fhrt eine Anwendung aus. Er wird auf dem Dispatcher ausgefhrt.

Dispatcher
Scheduler fr Workprozesse.

4/30

ABAP erste Schritte.docx

Dynpro-Prozessor
Runtime fr die Ablauflogik eines ABAP-Programms, reagiert auf Benutzeraktionen in
Bildschrimmasken, kann nicht rechnen.

ABAP-Prozessor
Runtime fr die Verarbeitungslogik eines ABAP-Programms, erhlt Bildschirmeingaben vom DynproProzessor, erzeugt Bildschirmausgaben.

5/30

ABAP erste Schritte.docx

betriebswirtschaftliche Kernbereiche eines SAP-Systems


Bereich
Logisitk
Rechnungswesen
Personal

Abkrzung

Bemerkung
Materialwirtschaft, Produktion, Vertrieb
Finanzen, Controlling
Personaladministration, Lohnabrechnung

SAP-Module
Abkrzung
6/30

Bedeutung
ABAP erste Schritte.docx

FI
CO
HR
Logistik:
MM
PP
PM
SD

Finanzwesen (Finanzbuchhaltung, Rechnungswesen)


Controlling
Human Resource
Materialwirtschaft (Materials Management)
Produktionsplanung und Steuerung (Production Planning and Control)
Instandhaltung (Plant Maintenance)
Vertrieb (Sales and Distribution)

Wichtige Transaktionen
SE80
SE84
SE11

Object Navigator (wichtigste Transaktion)


Repository Infosystem
Abap Dictionary (Anzeigen, ndern, Anlegen, Lschen)
Werkzeuge ABAP Workbench Entwicklung SE11
SE14
Abap Datenbank Utility (Tabellen umsetzen nach destruktiven nderungen)
(oder Hilfsmittel Datenbankobjekt Datenbank-Utility
SE38
Abap-Editor (Programme Starten)
SE24
Class Builder (Klasseneditor)
SE41
Menu Painter
SE37
Function Builder
SE54
Generierung Tabellen-Pflegedialog (oder Werkzeuge weitere Werkzeuge
Gen.Tab-Pflegedialog
SHI3
Strukturpflege (Customizing)
SPRO
Customizing: Projektbearbeitung
SU01
Benutzerverwaltung
SM30
Pflegedialog zu Tabelle suchen
SNRO
Nummernkreis-Objekte pflegen
/n<Transaktion>
laufende Transaktion beenden und neue Transaktion starten
/nex
alle Transaktionen schlieen und alle Sessions beenden
/o<Transaktion>
neue Transaktion in neuem Modus (Fenster) starten
/h
Debugger in der laufenden Transaktion starten
/hx
Debugger von der laufenden Transaktion trennen
AbapDocu
Abap-Hilfe starten
SE91
Nachrichtenpflege (Nachrichtenklassen pflegen)
SE09
Transport Organizer (Transporte verwalten)
SCWB
Korrekturworkbench (Hinweise von anderen SAP-Systemen herunterladen)
SM36
Scheduling Manager
Z_ABAP_UNIT_TESTER Abap Unit-Test Runner
SM93
Transaktionspflege (Transaktionen verwalten, alle Transaktionen auflisten)
SM01
Transaktionen sperren
ST01
Systemtrace
SU21
Berechtigungsobjekte verwalten

Wichtige Systemtabellen
Anschauen mit SE16 (Data Browser) oder SE11 und dann "Inhalt anzeigen"
Tabelle
7/30

Beschreibung
ABAP erste Schritte.docx

TSTC

Transaktionen (TCODE = Transaktionscode)

Anmelden
Zur Programmentwicklung einloggen mit SAPGui als User BCUSER und Passwort DemoTest1

Abmelden (/NEX)
Fenster schlieen
System Abmelden

Version des Abap Application Server anzeigen


System Status

SAP-Systemdaten Komponentenversion zeigt die Abap-Version des Systems an.


8/30

ABAP erste Schritte.docx

Beispiel: SAP EHP 2 for SAP NetWeaver 7.0

Abap-Dictionary (SE11)
Anlegen von Tabellen, Datenelement und Domnen
Menpfad: Werkzeuge Enwicklung SE11 - Dictionary

Tabellenarten
transparente Tabelle
Datenbanktabelle fr eine Entitt
Pool-Tabelle
eine einzige physikaltische DB-Tabelle fr alle Tabellen mit gleicher Struktur z.B. fr Settings
PK: Pool-Tabellenname + Schlsselfelder
Cluster-Tabelle
verteilt einen Datensatz auf mehrere Tabellen. Die Teildatenstze haben denselben PK.
Namespaces
kundenspezifisches Prfix: Z oder Y
alternativ: Namespace z.B. /PRIVATENAMESPACE/
Auslieferungsklassen
Verhalten der Tabelle bei Mandantenkopie, Neuinstallation oder Upgrade. bersicht in Feld
Auslieferungsklasse mit "F1"
A: Anwendungtabelle (Stamm- und Bewegungsdaten)

Datenelement
die betriebswirtschaftlichen Attribute eines Felds

Feldhilfe
Caption in Eingabemasken

Namespace beachten, Lasche "Datentyp" verknpft die Domne


Dokumentation
mit dem Button "Dokumentation" wird Word gestartet und es kann ein Hilfetext fr das
Datenelement erfasst werden (vorher hineinzoomen).

9/30

ABAP erste Schritte.docx

Domne
die technischen Attribute eines Felds

Datentyp
Lnge
Dezimalstellen
Wertebereiche

Alle mglichen Datentypen anzeigen mit F4.

Wertebereiche
Einzelwerte, Intervalle, Wertetabellen
Ablauf
speichern (Ctrl-S)
prfen (Ctrl-F2)
Menpfad: Domne prfen prfen
aktivieren (Ctrl-F3)
Button: "Aktivieren"
Zurck (F3)
Domne verlassen und zu Datenelement zurckkehren

10/30

ABAP erste Schritte.docx

technische Einstellungen fr Tabelle


Button "technische Eistellungen" drcken. Datenart (Stammdaten) und geschtzte Gre der Tabelle
angeben, Pufferungsverhalten der Tabelle festlegen (Caching, z.B. alle DS vorladen)

Pflege von Tabelleninhalten im Abap-Dictionary (SE11)


Menpfad: Hilfsmittel Tabelleninhalt Eintrge erfassen

Anzeigen von Tabelleninhalten im Abap-Dictionary (SE11)


Menpfad: Hilfsmittel Tabelleninhalt Anzeigen

Datentypen anlegen
Mit dem Feld Datentyp knnen Datenselemente, Strukturen und Tabellentypen (fr interne Tabellen
angelegt werden).

Vergleich
Tabellentyp, Struktur, transparente Tabelle ???

Datentypen
Dictionary type
DEC
INT1
INT2
INT4
CURR
CUKY
QUAN
UNIT
PREC
FLTP
NUMC

11/30

Meaning
Calculation/amount
field
Single-byte integer
Two-byte integer
Four-byte integer
Currency field
Currency key
Amount
Unit
Accuracy
Floating point number
Numeric text

Maximum length n
1-31, 1-17 in tables
3
5
10
Jan 17
5
Jan 17
02. Mrz
16
16
1-255

ABAP type
P((n+1)/2)
Internal only
Internal only
I
P((n+1)/2)
C(5)
P((n+1)/2)
C(n)
Internal only
F(8)
N(n)

ABAP erste Schritte.docx

CHAR
LCHR
STRING.
RAWSTRING
DATS
ACCP
TIMS
RAW
LRAW
CLNT
LANG

Character
Long character
String of variable
length
Byte sequence of
variable length
Date
Accounting period
YYYYMM
Time HHMMSS
Byte sequence
Long byte sequence
Client
Language

1-255
256-max
1-max

C(n)
C(n)
STRING.

1-max

XSTRING
8
6

D
N(6)

T
X(n)
X(n)
C(3)
C(1)

1-255
256-max
3
internal 1, external 2

Boolean-Datentyp in ABAP
Datentyp
abap_bool

Konstante

Wirklichkeit
c(1)
abap_true
'X'
abap_false
''
abap_undefined
'-'
siehe http://help.sap.com/abapdocu_731/en/abendataobjects_true_value_guidl.htm
Beispiel:
DATA is_found TYPE abap_bool.
...
is_found = abap_true.
...
IF is_found = abap_true.
...
ENDIF.

Abap-Editor (SE38)
Menpfad: Werkzeuge Entwicklung SE38 - Abap Editor
Programmname: max. 40 Zeichen, Namespace beachten, Nur Unterstrich (_) als Sonderzeichen
erlaubt.
Variablen: max. 30 Zeichen, keine reservierten ABAP-Schlsselwrter, Nur Unterstrich (_) als
Sonderzeichen erlaubt.
Pretty-Printer Einstellungen: Hilfsmittel Einstellungen Abap-Editor Pretty Printer Gro/Kleinkonvertierung durchfhren Schlsselwort gro
Editor Einstellungen: Hilfsmittel Einstellungen Abap-Editor Editor alle Syntaxfehler
anzeigen.
Hilfe zu Abap-Schlsselwrtern: Cursor in Schsselwort setzen, dann F1

12/30

ABAP erste Schritte.docx

Ablauf

speichern (Ctrl-S)
prfen (Ctrl-F2)
Programm prfen Syntax
aktivieren (Ctrl-F3)
Button: "Aktivieren"
ausfhren (F8)
Programm testen direkt
zurck zum Editor (F3)

Report als Anwender starten

zweites Fenster ffnen (Ctrl-n) (Button "neuen Modus erzeugen")


System Erzeugen Modus
System Dienste Reporting
Programmname eingeben , F8

Datenbanktabelle ausgeben
Workarea deklarieren
DATA wa_zteilnehmer TYPE zteilnehmer.
Die Felder in der Workarea-Struktur entsprechen den Feldnamen in der Tabelle mit Bindestrich vom
WA-Namen getrennt.
13/30

ABAP erste Schritte.docx

Beispiel: wa_zteilnehmer-tname

Report kopieren

SE38 Programm-Name eingeben


Programm kopieren, Button "kopieren, Ctrl-F5
neuen Programm-Namen eingeben

Editor-Kommandos
Quellcode auskommentieren
Block im Quellcode markieren
Hilfsmittel Block/Ablage Kommentar-* einfgen

Datentypen
Name
i
p
c
n

string

Bedeutung
integer
decimal
string mit fixer Lnge
numerischer string mit
fixer Lnge (nur Ziffern),
rechtsbndig mit
fhrenden Nullen
string mit variabler Lnge

Beispiel
DATA zahl01 TYPE i.
DATA zahl01 TYPE p DECIMALS 2. VALUE '-5.67'
DATA geschlecht TYPE c LENGTH 1 VALUE 'W'.
DATA telefon TYPE n LENGTH 8 VALUE '887766'.

Funktionen auf Zeichenketten


SHIFT telefon LEFT DELETING LEADING '0'.
SHIFT telefon BY 2 PLACES RIGHT.
* Stringliterale mit Hochkommas verwerfen trailing whitespaces
* Stringliterale mit Backticks behalten trailing whitespaces
REPLACE ` ` IN telefon_international WITH national_vorwahl.
* mehrfache Leerzeichen verdichten
CONDENSE telefon_international.
* alle Leerzeichen entfernen
CONDENSE telefon_internation NO-GAPS.
CONCATENATE international_vorwahl national_vorwahl telefon INTO telefon_lang.
CONCATENATE international_vorwahl national_vorwahl telefon INTO telefon_lang SEPARATED BY '-'.
telefon_internation = internation_vorwahl && '-' && national_vorwahl && '-' && telefon.

Abap-Debugger
Debugger starten
Aufruf aus dem Abap-Editor durch Setzen eines Breakpoints in die aktuelle Editorzeile mit Button
"Session-Breakpoint setzen/lschen" Ctrl+Shift-F12 oder auf dem linken Rand rechte Maustaste
Session Breakpoint setzen . Vor dem Debuggen mu ein Programm aktiviert werden. Programmstart
mit F8.
wichtige Debugger-Befehle
F5
F6
14/30

Step-In
Step-Over
ABAP erste Schritte.docx

F7
F8
Ctrl+Shift+F3

Return bis zum nchsten Funktionsende


Weiter (bis zum nchsten Breakpoint)
Breakpoints sichern fr sptere Sessions

Debugger beenden
Debugger Debugger beenden
Debug-Layer konfigurieren
Komponenten, die man nicht debuggen will, werden mit dem Button "Debug-Layer konfigurieren"
Ctrl+Shift-F4 ausgeblendet.

Versionieren von Abap-Programmen


Im Abap-Editor (SE38) knnen Versionen von Abap-Programmen angelegt werden.
Version erzeugen
Hilfmittel Versionen Version ziehen
Versionen anzeigen
Hilfsmittel Versionen Versionsverwaltung
Mit dem Button "Zurckholen" wird eine alte Version des Programms wiederhergestellt. Die
zurckgeholte Version ist noch inaktiv.

ABAP-030 Infos
Technische Einstellungen
Datenart (APPL0 = Stammdaten, APPL1 = Bewegungsdaten)
Grenkategorie (0-4)
Pufferung
Tabellen puffern, ein/aus, Einzelstze gepuffert, generischer Bereich gepuffert, vollstndig gepuffert
Tabellennderungen protokollieren
Auslieferungsklassen (A = Stamm- Bewegungsdaten, C = Customizingtabellen) bestimmen ob
Tabelleninhalt transportiert wird.

Datenelement
(Namensraum beachten ZS_GEHALT)
Feldbezeichner, Dokumentation, F1-Hilfe

Domne
(Namensraum beachten ZS_PERSNR)

Erweiterungskategorie
Zustze Erweiterungskategorie (beliebig erweiterbar)
auch fr Strukturen angeben.
15/30

ABAP erste Schritte.docx

.INCLUDE Unterstruktur
Index anlegen, zusammengesetzte Indices

Eingabehilfen

Suchhilfe
(in SE11 Lasche Eingabehilfe/-prfung Spalte Suchhilfe)
Festwerte fr Suchhilfe in Domne angeben (Lasche Wertebereich)
Prftabelle
(durch Fremdschlsselbeziehung, Button "Fremdschlssel")
Festwerte
(in Domne angeben)

Fremdschlsselbeziehung
Zuordnung der Vorschlge fr Fremdschlsselbeziehungen ber dieselbe Domne
(Domnengleichheit).
Art der Fremdschlsselfelder:

nicht spezifiziert
keine Schlsselfelder/-kandidaten
Schlsselfelder/-kandidaten
Schlsselfelder einer Texttabelle
(Fr mehrsprachige Texte)

Kardinalitt:
1 (Eintrag im Prffeld mu vorhanden sein)
C (Eintrag im Prffeld kann vorhanden sein)

CN (Jeder Satz der Prftabelle hat beliebig


viele abhngige Stze)
C (Jeder Satz der Prftabelle hat
hchstens einen abhngigen Satz)
N (Jeder Satz der Prftabelle hat
mindestens einen abhngigen Satz)
1 (Jeder Satz der Prftabelle hat genau
einen abhngigen Satz)

Tipp: "C" = kann = "can" Meistens ist es 1: CN


Bemerkung: Fremdschlssel sind nur auf Dynpros wirksam. Mittels eines ABAP-Programms knnen
Datestze ohne Verprobung in die Tabelle geshrieben werden.

Pflegen von Tabellen


Hilfsmittel Tabelleninhalt Eintrge erfassen

16/30

ABAP erste Schritte.docx

Append-Struktur
Views

Datenbankview
Inner Join, Pflegestatus definiert lesen/schreiben
Pflegeview
Outer Join mit Eventmodell, Join nur ber hinterlegte Fremdschlsselbeziehungen mglich,
Button Beziehungen , wichtig: Button Tabellenfelder Grundelement des Customizing
Help-View
ist ein Selektionsview der einen Outer-Join definiert, wird fr Suchhilfe verwendet
Projektionsview
blendet Felder aus, wird selten verwendet, fr Schnittstellen gedacht

Join, Selektion, Projektion, Performance. Alle Key-Felder an den Anfang des Views stellen, ViewCluster sind Verschachtelungen von Views in Baumstruktur. Daten pflegen mit System Dienste
Tabellenpflege erweiterte Tabellenpflege
Pflegeview generieren: SE11 View auswhlen Hilfsmittel Tabellenpflegegenerator
ausfllen wichtig: Men generierte Objekte Anlegen (oder F6)

Eingabehilfe (F4-Hilfe)
Einheitlicher Mechanismus zur Untersttzung des Anwenders bei der Datenerfassung. hnlich
Prftabelle, aber detaillierter, mit Einbeziehung der bisher gemachten Eingaben (Context). Bei vielen
Treffern kann innerhalb der Suchhilfe weiter eingeschrnkt werden.

Suchhilfe
Definiert durch Tabelle oder View, LPos (= Liste der Treffer), SPos (= Suchmaske fr weitere
Einschrnkung der Trefferliste) Import-/Export-Parameter definieren (IMP/EXP)

Sammelsuchhilfe
Kombination mehrerer Suchhilfen zu einer Suchhilfe mit Tab-Reitern.

Nachrichtenklassen
siehe http://www.saphub.com/abap-tutorial/messages-in-abap/
1. MESSAGE xnnn WITH p1 p2 p3.
2. MESSAGE ID id TYPE mtype NUMBER n WITH p1 p2 p3.
3. MESSAGE xnnn(mid) WITH p1 p2 p3.

Message-TYPE
A

Bedeutung
Abandon

Error

I
S
W
X

Information
Status message
Warning
Exit

17/30

Ausgabe
Pop mit Fehlermeldung und
Programmende
Fehlermeldung in Statusleiste
und Programmende
PopUp mit Messagetext
Messagetext in Statusleiste
PopUp mit Messagetext
Programmende mit Kurzdump
ABAP erste Schritte.docx

ABAP-100 Notizen
Ablauf Erstellung eines Dynpros
1.
2.
3.
4.

Ok_code_save sy-ucomm
TABLES
Dynpro anlegen
PBO bauen
a. Titel =>
b. Status =>
i. Funktionstastenleise
ii. Symbolleiste
iii. Drucktastenleiste
iv. Menleiste
5. Layout malen
6. PAI bauen
a. Module exit at exit-command
b. Feldvalidierung bauen
FIELD feld MODULE check_feld on input/request
CHAIN FIELD feld1. FIELD feld2 MODULE check_felder on chain-input/chain-request
c. Ok_code_save, dann CASE ok_code_save ENDCASE
7. Transaktion anlegen
SAP-Gui fr Windows

Bildelemente
Drucktaste, Ankreuzfeld, Ein-/Ausgabefeld, Auswahlknopf, Auswahlknopfgruppe

Auswahlknopf
begin of rb1,
feld1 type c value X,
feld2 type c
end of rb1.

Tabstrip
CONTROLS: tabstrip1 TYPE tabstrip
wie Drucktaste, Referenzfeld = Subscreenbereich SUBSCREEN1. Tabstrip-Name = tabstrip1
dynnr TYPE sy-dynnr.

PROCESS BEFORE OUTPUT.


MODULE STATUS_0100.
module initSubscreen_0100.
"" Subscreenbereich einbinden im PBO
Call subscreen subscreen1 INCLUDING sy-cprog dynnr.
*
PROCESS AFTER INPUT.
module exit at exit-command.

18/30

ABAP erste Schritte.docx

"" PAI des Subscreens aufrufen


call subscreen subscreen1.
MODULE USER_COMMAND_0100.

Im PAI: Tabstrip1-activetab = ok_code_save setzen.


im Subscreen-Dynpro kein Status, kein ok_code

ALV-Grid
Repository-Infosystem cl_gui*
cl_gui_custom_container, constructor-Methode anschauen => Parameter container_name
cl_gui_alv_grid, constructor-Methode anschauen => Parameter parent,
my_alv_grid->set_table_for_first_display(
exporting i_structure_name = 'SPFLI'
changing it_outtab = itab_spfli ). cl_gui_cwf

Feldkatalog: data fcat type LVC_T_FCAT (Tipp: In cl_gui_alv_grid nach fcat suchen) Tabelle mit
Spalteneigenschaften (fcat-fieldname = Spaltenname )
Vor set_table_for_first_display sollte der Feldkatalog geholt warden.
* Feldkatalog holen
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'SPFLI'
CHANGING
ct_fieldcat
= gs_fcat.

Spalten ausblenden: wa_fcat-TECH wa_fcat-NO_OUT


my_alv_grid->refresh_table_display( ).

Event Toolbar: e_object->mt_toolbar (im Repository nachschauen Icon @44@, einen


Tabelleneintrag ergnzen, append)
Event User_Command: e_ucomm (mit dem ok_code) clc_gui_cfw->set_new_ok_code( e_ucomm )
aufrufen.

Table-Control
Control TableView, TABLES, interne Tabelle, Arbeitsbereich auf interne Tabelle.
Layoutbereich-Name wie TableView-Control.
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
module init_tablecontrol.
loop at itab_zauto into wa_zauto WITH CONTROL my_tableview.
module to_tableview.
endloop.
*

19/30

ABAP erste Schritte.docx

PROCESS AFTER INPUT.


module exit1 at exit-command.
loop at itab_zauto.
chain.
field ZAUTOSCHUL2-KENNZEICHEN.
field ZAUTOSCHUL2-HERSTELLER.
field ZAUTOSCHUL2-TYP.
field ZAUTOSCHUL2-PREIS.
module from_tableview on chain-request.
endchain.
endloop.

PBO:
module TO_TABLEVIEW output.
move-CORRESPONDING wa_zauto to zautoschul2.
endmodule.

PAI:
module FROM_TABLEVIEW input.
move-CORRESPONDING zautoschul2 to wa_zauto.
modify itab_zauto
from wa_zauto
index my_tableview-current_line.
endmodule.

Im PBO wird mit dem LOOP ber die interne Tabelle iteriert und in jeder Iteration jeweils eine Zeile
in die TABLES-Struktur gefllt. ber Namensgleichheit der Felder der Tables-Struktur und der
Dynpro-Elemente des Tablecontrols werden die Felder in das Dynpro, und damit in die TableView
transportiert.
Im PBO wird ber die gesamte interne Tabelle iteriert, im PAI nur ber die angezeigten Zeilen des
TableControls.

Web-Dynpro
1. Web-Dynpro-Komponente anlegen
2. Component-Controller bauen
Mit Context beginnen!
Context Knoten anlegen ber Wizard Namen vergeben (AUTOS bzw. AUTO)
Attribute aus Struktur hinzufgen transparente Tabelle auswhlen gewnschte Attribute
auswhlen
3. Kardinalitt festlegen
(1:n fr Liste)
4. View bauen
Wieder mit Context beginnen!
Context gewnschten Knoten mit D&D herberziehen falls es die Liste ist, Kardinalitt 1:n
Context fr Detailview Knoten anlegen, Kardinalitt 1:1 Anlegen ber Wizard
Attribute aus Komponenten einer Struktur Struktur des Details angeben
20/30

ABAP erste Schritte.docx

5. Kardinaltitt festlegen
Wichtiger Trick zu Context: Alle Contexte, die man fr die Bearbeitungen im View braucht
bindet man sich in diesen View ein. z.B. im Detailview die Struktur UND die Liste, weil man
hier die Struktur in die Liste einfgen will.
6. Layout des View erstellen mit Zauberstab
Unter dem Button Context sieht man jetzt die Struktur, wenn man den Schritt 4 richtig
gemacht hat. Hkchen "Form in neuem Container erzeugen.
7. WebDynpro Application anlegen
8. Component: Name der Komponente, Interface-View: Name des Windows Plug-Name:
Default
9. Button einfgen
onAction Abkrzung "Aktion anlegen" + Outbound-Plug anlegen
10. Window editieren
Wichtig: alle neu gebauten Views mit D&D zu WINDOWS hinzufgen und Outbound-Plug mit
Inbound-Plug per D&D verbinden. Erst wenn diese Verbindung gemacht wurde, funktioniert
die Navigation.
Der View, der als Default angezeigt werden soll: rechte Maustaste 'Als Default setzen'
11. Codieren der Listenoperationen im Outbound-Plug der Detailansicht, Zauberstab benutzen
(MOVE-CORRESPONDING ls_todo to ls_todos). ls_todos ist eine Struktur und keine interne
Tabelle!

21/30

ABAP erste Schritte.docx

Fehlermeldung
ACC: Label fr MeltingGroup-artigen Container "FORM_CONTAINER" nicht gesetzt.
Ursache
Barrierefreiheit
Lsung
Fr einen Form-Container muss daneben ein zustzliches Label eingefgt werden wg. (Attribut
Label_For: FORM_CONTAINER setzen)

Fehlermeldung
Die URL enthlt keine vollstndige Domainangabe (sapvhd statt sapvhd.<domain>.<ext>).

Fehler bei der Verarbeitung Ihrer Anfrage


Was ist passiert ?
Der Aufruf der URL http://sapvhd:8000/sap/bc/webdynpro/sap/ztodolist wurde aufgrund eines Fehlers abgebrochen.
Hinweis

Folgender Fehlertext wurde im System NSP prozessiert: Die URL enthlt keine vollstndige
Domainangabe (sapvhd statt sapvhd.<domain>.<ext>).

Der Fehler trat auf dem Applikationsserver sapvhd_NSP_00 und im Workprozess 4 auf.

Die Abbruchart war: RABAX_STATE

Die ABAP-Aufrufhierarchie war:


Method: CHECK of program CX_FQDN=======================CP
Method: STARTUP_CHECKS of program CL_WDR_CLIENT_ABSTRACT_HTTP===CP
Method: HANDLE_REQUEST of program CL_WDR_CLIENT_ABSTRACT_HTTP===CP
Method: IF_HTTP_EXTENSION~HANDLE_REQUEST of program
CL_WDR_MAIN_TASK==============CP
Method: EXECUTE_REQUEST of program CL_HTTP_SERVER================CP
Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
Module: %_HTTP_START of program SAPMHTTP

22/30

ABAP erste Schritte.docx

Was knnen Sie tun ?

Im Falle der Abbruchart RABAX_STATE finden Sie im System NSP in der Transaktion ST22 weitere
Informationen bzgl. der Abbruchursache.

Im Falle der Abbruchart ABORT_MESSAGE_STATE finden Sie auf dem Applikationsserver sapvhd_NSP_00 in
der Transaktion SM21 weitere Informationen bzgl. der Abbruchursache.

Im Falle der Abbruchart ERROR_MESSAGE_STATE knnen Sie nach weiteren Informationen in der Tracedatei
zum Workprozess 4 in der Transaktion ST11 auf dem Applikationsserver sapvhd_NSP_00 suchen. Unter
Umstnden ist die Analyse von Tracedateien zu anderen Workprozessen notwendig.

Fall Sie noch ber keine Benutzerkennung verfgen, so wenden Sie sich an Ihren Systemadministrator.

Fehlercode: ICF-IE-http-c:001-u:BCSERVICE-l:D-s:NSP-i:sapvhd_NSP_00-w:4-d:20121007-t:165800-v:RABAX_STATEe:UNCAUGHT_EXCEPTION-X:080027D9EDFF1ED28491EBBC1532F7A2_080027D9EDFF1ED28491EBCD11F237A2_1x:5D8F10E2A9E0F19D97A2080027D9EDFF

HTTP 500 - Internal Server Error


Ihr SAP Internet Communication Framework Team

Ursache
Falsche URL angegeben
Lsung
Statt der in der WebDynpro angegebenen Url http://sapvhd:8000/sap/bc/webdynpro/sap/ztodolist
die Url http://sapvhd.local:8000/sap/bc/webdynpro/sap/ztodolist einfach in den Browser eintippen
und verwenden (mit dem User BCService).

SAP-Link
Nuget fr SAP How-To: http://sdnabaper.blogspot.de/2010/11/how-to-install-saplink.html
Nach Installation von SAP-Link das Paket NUGG_SAPLINE_DDIC-0.1.nugg installieren (SE38 ZSAPLINK,
F8 Nugget importieren, ...) Alle importieren Klassen mssen wieder mit SE24 aktiviert werden.

JSON
Nugg-Paket zum Verarbeiten von JSON-Daten: NUGG_ZJSON.nugg. Voraussetzung ist, dass das DDICPaket und das FunctionGroup-Paket (FUGR) NUGG_FUNCTIONGROUP_PLUGIN-0.1.2.nugg installiert
wurde und die Klassen mit SE24 aktiviert wurden.
Sonst bekommt man die Fehlermeldung:
There
There
There
There
There

is
is
is
is
is

no
no
no
no
no

installed
installed
installed
installed
installed

SAPlink
SAPlink
SAPlink
SAPlink
SAPlink

plugin
plugin
plugin
plugin
plugin

for
for
for
for
for

object
object
object
object
object

type
type
type
type
type

DTEL
TABL
TTYP
TABL
VIEW

bzw. fr das Funktionsgruppen-Paket:


23/30

ABAP erste Schritte.docx

Start import of nugget C:/Projects/NUGG_ZJSON.nugg


There is no installed SAPlink plugin for object type FUGR
Ausgabe nach erfolgreicher Installation:
Start import of nugget C:/Projects/NUGG_ZJSON.nugg
Installed: DTEL - ZSTRING
Installed: TABL - ZGS_0004
Installed: TTYP - ZGY_0004
Installed: FUGR - ZJSON

Die importierten Datenelemente mssen mit SE11 aktiviert werden (ZSTRING, ZGS_0004 ZGY_0004)
alle Funktionsbausteine der Funktionsgruppe ZJSON mit SE80 (Funktionsgruppen anklicken rechte
Maustaste "Aktivieren").
In der Funktionsgruppe ZJSON mssen noch die ENDFUNCTION. Befehle hochgezogen werden, sonst
compilieren die Funktionsbausteine nicht.

Nummernkreisobjekte
http://help.sap.com/saphelp_46c/helpdata/de/2a/fa02e3493111d182b70000e829fbfe/frameset.ht
m
Nummernkreise anlegen: Werkzeuge ABAP/4 Workbench Entwicklung Weitere
Werkzeuge Nummernkreise
wichtigste Funktionsgruppe: SNR3

Customizing
spro
shi3
sm30
sm31

Einfhrungsleitfaden starten
Strukturpflege (structure hierarchy)
Pflegeviews starten (structure maintenance)

Einfhrungsleitfaden engl. Implementation Guide (IMG).


SAP-Referenz-IMG: alle Customizing-Aktivitten, die im SAP-System mglich sind, hierarchisch
gegliedert nach Anwendungsbereichen.
Customizing-Aktivitten:

muss (keine SAP-Voreinstellung mglich)


kann (die SAP-Voreinstellung ist zu prfen)
nicht erforderlich

Bemerkung: Wir (als msg) sind hier die SAP!


24/30

ABAP erste Schritte.docx

Auslieferungsklassen der Customizing-Tabellen


Beschreibung der Auslieferungsklassen, dem Verhalten bei Mandatenkopie, Verhalten bei Upgrade.
http://help.sap.com/saphelp_nwpi71/helpdata/de/43/45860774b711d2959700a0c929b3c3/content
.htm

berblick
Auslieferungsklasse C
Typ: Kundentabelle
Pflege nur durch den Kunden, kein SAP-Import, d.h. keine Vorschlagswerte werden ausgeliefert.
Beispiel:
Unternehmensstruktur des Kunden (= Stammdaten)

Auslieferungsklasse G
Typ: Kundentabelle
SAP darf neue Datenstze einfgen, aber keine vorhanden berschreiben oder lschen. Pflege durch
Kunden und SAP in getrennten Namensrumen, d.h. SAP liefert Vorschlge aus.
Der Kundenamensraum mu mit dem Report RDDKOR54 in der Tabelle TRESC definiert werden. Bei
der Pflege des Customizing mit SM30 wird der Namensraum berprft.
In neuen Versionen kann sich Vorschlagsliste ndern. Sinnvoll ist in neuen Versionen nur
Vorschagswerte zu ergnzen, weil der Kunden die Vorschlagswerte aus vorherigen Versionen
benutzt hat. Kunde kann eigene Werte eintragen (in eigenem Namensraum!). Nur bei Verwendung
getrennter Namensrume werden die Kundeneintrge nicht von SAP-Vorschlagswerten
berschrieben. Namensrume pflegen!
Fachliche Unterflle:
1. Die kundenspezifische Ergnzung ist die Ausnahme
z.B. Whrungseinheiten, Lnderschlssel. Maeinheiten. Ergnzung von kundenspezifischen
Maeinheiten.
2. Die kundenspezifische Ergnzung ist die Regel
Hier liefert SAP die Vorschlagswerte, sie knnen auch bernommen werden.
Kundenspezifische Ergnzungen sind jedoch hufig. Oftmals basieren sie auf den
Vorschlagswerten von SAP, die kopiert werden und an einigen Stellen abgendert werden.

Auslieferungsklasse E
Typ: Systemtabelle (SAP-Tabelle)
Kunde darf neue Datenstze einfgen. Analog zur Auslieferungsklasse G nur anders herum (Kunde <> SAP).
Der Kundenamensraum mu mit dem Report RDDKOR54 in der Tabelle TRESC definiert werden.

Auslieferungsklasse S
Typ: Systemtabelle
Analsyse der Auslieferungsklasse von Tabellen mit Report RDDKOR56 (starten mit SE38)
25/30

ABAP erste Schritte.docx

Berechtigungen
su01
pfcg
su02
su03
su21
su24
su53
su56
st01

Benutzer verwalten
Rollen verwalten
Berechtigungsprofile verwalten
Objektklasse fr Berechtigunsobjekte verwalten
Berechtigungsobjekte verwalten
Berechtigungsobjekte den Transaktionen zuordnen
Historie der Berechtigungsprfungen, (welche haben letztes Mal gefehlt, nach
einem Authorization-Check Fehler)
eigene Berechtigungen anzeigen
Systemtrace (u.a. Berechtigungsprfung tracen)

Geschftsparter (Businesspartner) order Organsisationsmanagement (pdorg)

Benutzer haben Berechtigungen. Eine Berechtigung bezieht sich auf ein Berechtigungsobjekt
(=Datenstruktur mit mehreren Feldern). Berechtigung = Instanziierung des Berechtigungsobjekt, d.h.
fr jedes Feld wird ein Wert angegeben.
Beispiel: Benutzer hat zum Berechtigungsobjekt M_BEST_BSA ("Belegart in Bestellung") eine
Berechtigung "YM_BEST_NB" mit den Feldwerten

BSART ("Einkaufsbelegart") = NB ("Normalbestellung")


ACTVT ("Aktivitt") = * (numerisch Anlegen, ndern, Lschen, Preisanzeige, ... oder Wildcard)

Authority-Check
lv_bsart = 'NB'. "Normalbestellung anlegen
AUTHORITY-CHECK OBJECT M_BEST_BSA
ID BSART FIELD lv_bsart
ID ACTVT FIELD 02.
IF sy-subrc <> 0.
MESSAGE 'keine Berechtigung'

26/30

ABAP erste Schritte.docx

prft: Hat der Benutzer eine Berechtigung, die das Berechtigungobjekt "abdeckt" (matched), wenn
im Berechtigungsobjekt die Variablen entsprechend dem Authority-Check gefllt sind?
Abdecken: beinhalten, im Intervall (bei numerisch), durch Wildcard erfllt (*)
Forderung des Authority-Check:

Feld des
Forderung des Authority-Check
von Berechtigung des Benutzers
Berechtigungsobjekts
erfllt?
BSART
NB
ok
ACTVT
02
ok, weil Wildcard * jede Zahl matched
Berechtigungen werden zu Berechtigungsprofilen ("Einzelprofile") zusammengefasst.
Berechtigungsprofile werden zu Sammelprofilen zusammengefasst

Rolle
Menge von Transaktionen, die eine Gruppen von Benutzern i.d.R. ausfhrt (z.B. Einkufer) +
rollenspezifisches Men. Fr jede Transaktion ist vom Softwarehersteller hinterlegt, welche
Berechtigungsobjekte abgefragt werden automatisches Generieren von Berechtigungsprofilen.
Bearbeiten: In su01 auf die Rolle doppelklicken, dann "Berechtigungsdaten pflegen" auswhlen, oder
SU53.

27/30

ABAP erste Schritte.docx

Berechtigung Objektklasse anlegen


http://books.google.de/books?id=s5NWPIBiT6cC&pg=PA356&lpg=PA356&dq=sap+berechtigungsobj
ekt+objektklasse+anlegen&source=bl&ots=T6j2PfotNb&sig=wfSVMQMvZT_A7btNGZtHjb3hSXQ&hl=
en&sa=X&ei=NIIqUbfBCet4ASnmIDADw&ved=0CGMQ6AEwBg#v=onepage&q=sap%20berechtigungsobjekt%20objektklasse
%20anlegen&f=false
TC SU21 Anlegen Button auswhlen Im Dropdown "Objektklasse" auswhlen

Berechtigungsobjekt anlegen
http://help.sap.com/saphelp_erp60_sp/helpdata/de/9e/74ba3bd14a6a6ae10000000a114084/conte
nt.htm
28/30

ABAP erste Schritte.docx

TC SU21 Anlegen Button auswhlen Objektklasse auswhlen, in der das Berechtigungsobjekt


angelegt werden soll Im Dropdown "Berechtigungsobjekt" auswhlen

Whrungen <> 2 Dezimalstellen


SAP hat zur Speicherung von Whrungsbetrgen als internes Format DEC(17.2) gewhlt. Bei
Whrungen <> 2 Dezimalstellen muss das folgende Verfahren angewendet werden.

Beim Speichern
Konvertierung des Betrags in das interne Format durch Multiplikation mit 10 ^ "Anzahl
Dezimalstellen" anschlieend Division durch 10^2

Das entspricht der Speicherung des Whrungsbetrags "ohne die Dezimalstellen"


Beispiel 123456 JPY als DEC(17.2) = 1234,56

Beim Laden
Konvertieren des Betrags in das externe Format durch Multiplikation mit 10^2 anschlieend Division
mit 10 ^Anzahl der Dezimalstellen aus der Whrung

Beispiel DEC(17.2) = 1234,56 123456 JPY


Die Anzahl der Dezimalstellen einer Whrung steht in der Tabelle TCURX (Dezimalstellen der
Whrungen)
Diese Konvertierungen werden beim Feldtransport gemacht, wenn das Whrungsfeld vor dem
Betragsfeld transportiert wird. Bei einem BAPI oder bei einer selbstprogrammierten API mssen
diese Konvertierungen selbst durchgefhrt werden. Dazu gibt es zwei SAP-Funktionsbausteine:
CURRENCY_AMOUNT_BAPI_TO_SAP: converts the data to two decimal before saving
CURRENCY_AMOUNT_SAP_TO_BAPI: conversion to correct decimals for end user viewing.
Bemerkung: SE11 stellt den Whrungsbetrag im Dezimalfeld FALSCH dar. Den richtigen Wert erhlt
man nur, wenn man einen eigenen ZReport mit write "Dezimalfeld" erstellt.

29/30

ABAP erste Schritte.docx

Hintergrundverarbeitung
SM37
SM36

Jobs verwalten
Jobs einplanen

http://help.sap.com/saphelp_nw70ehp2/helpdata/de/c4/3a7ed1505211d189550000e829fbbd/fram
eset.htm

ABAP-Unittests
Unittestrunner: TR SE38 Report: RS_AUCV_RUNNER

30/30

ABAP erste Schritte.docx

Das könnte Ihnen auch gefallen