ABAP Course
Chapter 1 Introduction
and first program
Lecturer: Andr Bgelsack, UCC Technische Universitt Mnchen
Author: Valentin Nicolescu, Andr Bgelsack
ABAP Course Andr Bgelsack, Valentin Nicolescu 1
Copyright 2008 UCC TU Mnchen
All rights reserved
Weitergabe und Vervielfltigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in
welcher Form auch immer, ohne die ausdrckliche schriftliche Genehmigung durch HCC TU Mnchen nicht
gestattet. In dieser Publikation enthaltene Informationen knnen ohne vorherige Ankndigung gendert werden.
Microsoft, WINDOWS, NT, EXCEL, Word, PowerPoint und SQL Server sind eingetragene Marken der
Microsoft Corporation.
IBM, DB2, OS/2, DB2/6000, Parallel Sysplex, MVS/ESA, RS/6000, AIX, S/390, AS/400,
OS/390 und OS/400 sind eingetragene Marken der IBM Corporation.
ORACLE ist eine eingetragene Marke der ORACLE Corporation.
INFORMIX-OnLine for SAP und Informix Dynamic ServerTM sind eingetragene Marken der Informix Software
Incorporated.
UNIX, X/Open, OSF/1 und Motif sind eingetragene Marken der Open Group.
Citrix, das Citrix-Logo, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, MultiWin
und andere hier erwhnte Namen von Citrix-Produkten sind Marken von Citrix Systems, Inc.
HTML, DHTML, XML, XHTML sind Marken oder eingetragene Marken des W3C, World Wide Web Consortium,
Massachusetts Institute of Technology.
JAVA ist eine eingetragene Marke der Sun Microsystems, Inc.
JAVASCRIPT ist eine eingetragene Marke der Sun Microsystems, Inc., verwendet unter der Lizenz der von
Netscape entwickelten und implementierten Technologie.
SAP, SAP Logo, R/2, RIVA, R/3, SAP ArchiveLink, SAP Business Workflow, WebFlow, SAP EarlyWatch, BAPI,
SAPPHIRE, Management Cockpit, mySAP, [Link] und weitere im Text erwhnte SAP-Produkte und
-Dienstleistungen sowie die entsprechenden Logos sind Marken oder eingetragene Marken der SAP AG in
Deutschland und anderen Lndern weltweit. MarketSet und Enterprise Buyer sind gemeinsame Marken von SAP
Markets und Commerce One.
Alle anderen Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen.
Die Verwendung der Screenshots wurde mit dem jeweiligen Eigner abgesprochen.
ABAP Course Andr Bgelsack, Valentin Nicolescu 2
Agenda
1. Introduction to ABAP
2. The use of ABAP in SAP systems
3. Development prerequisites
4. First program Hello World! + Exercise
5. Online help for ABAP
ABAP Course Andr Bgelsack, Valentin Nicolescu 3
What is ABAP?
ABAP = Advanced Business Application Programming
Similarities with Cobol and Pascal
Established in 1980
Since 1998 object oriented ABAP objects established
Fully compatible to older versions
Multilanguage support
Embedded SQL statements
Platform independent
Database independent
Reusability of code fragments
ABAP Course Andr Bgelsack, Valentin Nicolescu 4
Historical view on ABAP
1950 Machine code
.
Assembler
1954 Fortran Cobol
LISP
PL1
.
1968 Smalltalk Pascal
.
1980 ABAP
C++
.
Java
1992 ABAP Objects
Source: Following SAP AG
ABAP Course Andr Bgelsack, Valentin Nicolescu 5
Compiling ABAP
Presentation
SAPGui SAPGui SAPGui
layer
Calls program Short message
Runs program
for the first time about compiling
Application
Application Application Application
layer
server server server
Compiling
Database Database Database
Database
server server server
layer
Program has to Return compilation
be compiled
ABAP ABAP
Source Compilation
code Source: Following SAP AG
ABAP Course Andr Bgelsack, Valentin Nicolescu 6
ABAP Repository
Client 900 Client 901
Application Application
data data
User User
accounts accounts
Client dependent Client dependent
Customizing Customizing
Client independent customizing
Repository (tables, programs, function groups )
Divided into development classes
FI CO PP TR PS PY BC KM PA FS
Source: Own illustration
ABAP Course Andr Bgelsack, Valentin Nicolescu 7
Prerequisites for ABAP
development
1. Access to repository (is maintained in client settings)
2. User with development profile and access key
3. Own package and own transport request
4. Pay attention to the namespaces
ABAP Course Andr Bgelsack, Valentin Nicolescu 8
Prerequisites for ABAP
development
1. Access to repository (is maintained in client settings)
Access to repository is needed
Check access in transaction SCC4
ABAP Course Andr Bgelsack, Valentin Nicolescu 9
Prerequisites for ABAP
development
2. User with development profile and access key
The access key allows development of new
programs or changes to existing one
Access key are always username dependent!
Access keys must be requested from SAP as
license cost increase by the number of
development users
Access keys can be obtained from your local UCC
ABAP Course Andr Bgelsack, Valentin Nicolescu 10
Prerequisites for ABAP
development
3. Own package and own transport request
Own packages enable you to group your
developments
Transport requests enable you to transport new
developments to other SAP systems
You may develop new programs using the local
package $TMP, but transport of these
developments is not possible
ABAP Course Andr Bgelsack, Valentin Nicolescu 11
Prerequisites for ABAP
development
4. Pay attention to the namespaces
Only use namespace Y and Z, e.g. ZZ_* or YY_* as
these are customer namespaces
SAP uses namespace from A to X for own
programs and implementations
Changing SAP objects is not possible unless you
have a modification key
ABAP Course Andr Bgelsack, Valentin Nicolescu 12
Transport of ABAP
developments
Development Quality Assurance Production
System (DEV) System (QAS) System (PROD)
Source: Own illustration
Developments are transported from DEV to QAS
using transport requests
Exporting transport requests creates files for
transportation
You may either import all or only one transport
request in your destination system
ABAP Course Andr Bgelsack, Valentin Nicolescu 13
Transport hierarchy
Project
Transport Transport Transport
request request request
Task Task Task Task Task Task
Developer Developer Developer Developer Developer
Source: Own illustration
ABAP Course Andr Bgelsack, Valentin Nicolescu 14
Transport requests in
repository
Client 900 Client 901
Application Application
data data
User User
accounts accounts
Client dependent Client dependent
Customizing Customizing
Client independent customizing
Transport request 1
Transport request 2
FI CO PP TR PS HR BC KM PA FS
Source: Own illustration
ABAP Course Andr Bgelsack, Valentin Nicolescu 15
Transport requests: releasing
and exporting
Release of transport requests can be done in
Transport Manager TA SE09 or SE10
First release all tasks, then release transport request
Tasks have to be released by each developer
In urgent situations a task can be taken over to
complete the export
ABAP Course Andr Bgelsack, Valentin Nicolescu 16
The first program: Hello
World!
1. Create a new package
2. Create a new transport request
3. Create the new program
4. Enter access key
5. Adjust program attributes
6. Assign program to package
7. Save, check and activate program
8. Release and export new program
ABAP Course Andr Bgelsack, Valentin Nicolescu 17
Online help for ABAP
ABAP help
([Link]
974d35c511d1829f0000e829fbfe/[Link])
SAP marketplace ([Link])
SAP Community Network ([Link])
Transaction ABAPDOCU
Books:
ABAP-Objects, SAP PRESS, ISBN-13: 978-
1592290796
The Official ABAP Reference, SAP PRESS, ISBN-13:
978-1592290390
ABAP Course Andr Bgelsack, Valentin Nicolescu 18