Professional Documents
Culture Documents
SAP AG 2003
TAW10 Introduction to the ABAP Workbench (1/2)
SAP AG
TAW10 1/2
TAW10 1/2
ABAP Workbench
Fundamentals
ABAP Workbench
Fundamentals
R/3 System
Release 4.6D or above
2003/Q2
Material number 5006 0990
SA A! "A#$0 0%$
0.2
SAP AG 2003
Co!ri"ht 200# $AP A%& All ri"hts reser'ed&
(o art o) this ublication ma! be reroduced or transmitted in
an! )orm or )or an! urose *ithout
the e+ress ermission o) $AP A%& The in)ormation contained
herein ma! be chan"ed *ithout rior notice&
All ri"hts reser'ed&
Co!ri"ht
&omments on tra'emar(s)
Some so*t+are ,ro'u-ts mar(ete' by SA A! an' its 'istributors -ontain ,ro,rietary so*t+are
-om,onents o* ot.er so*t+are ven'ors.
Mi-roso*t/0 #12D3#S/0 2"/0 45&46/0 #or'/0 o+eroint/ an' SQ6 Server/ are re7istere'
tra'emar(s o* Mi-roso*t &or,oration.
18M/0 D82/0 D82 9niversal Database0 3S/2/0 arallel Sys,le:/0 M;S/4SA0 A15/0 S/390/0
AS/400/0 3S/390/0 3S/400/0 iSeries0 ,Series0 :Series0 <Series0 </3S0 A=0 1ntelli7ent Miner0
#ebS,.ere/0 2et*inity/0 "ivoli/0 1n*ormi: an' 1n*ormi:/ Dynami- Server"M are tra'emar(s o*
18M &or,oration in 9SA an'/or ot.er -ountries.
3RA&64/ is a re7istere' tra'emar( o* 3RA&64 &or,oration.
9215/0 5/3,en/0 3S=/$/ an' Moti*/ are re7istere' tra'emar(s o* t.e 3,en !rou,.
&itri:/0 t.e &itri: lo7o0 1&A/0 ro7ram 2ei7.bor.oo'/0 Meta=rame/0 #in=rame/0
;i'eo=rame/0 Multi#in/ an' ot.er &itri: ,ro'u-t names re*eren-e' .erein are tra'emar(s o*
&itri: Systems0 1n-.
>"M60 D>"M60 5M60 5>"M6 are tra'emar(s or re7istere' tra'emar(s o* #3&/0 #orl' #i'e
#eb &onsortium0 Massa-.usetts 1nstitute o* "e-.nolo7y.
?A;A/ is a re7istere' tra'emar( o* Sun Mi-rosystems0 1n-.
?A;AS&R1"/ is a re7istere' tra'emar( o* Sun Mi-rosystems0 1n-.0 use' un'er li-ense *or
te-.nolo7y invente' an' im,lemente' by 2ets-a,e.
MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce ne!
SA0 R/0 mySA0 mySA.-om0 :A,,s0 :A,,0 an' ot.er SA ,ro'u-ts an' servi-es mentione'
.erein as +ell as t.eir res,e-tive lo7os are tra'emar(s or re7istere' tra'emar(s o* SA A! in
!ermany an' in several ot.er -ountries all over t.e +orl'. All ot.er ,ro'u-t an' servi-e names
mentione' are t.e tra'emar(s o* t.eir res,e-tive -om,anies.
SA A! "A#$0 0%2
0.3
SAP AG 2003
,e'eloment Consultant m!$AP Technolo"! -
ABAP Workbench
mySAP Technology
- ABAP Workbench
Concepts
TAW12 15 days
Development
consltant
cert!"!cat!on #
mySAP Technology
# ABAP Workbench
TAW1$ 1$ days
mySAP Technology -
ABAP Workbench
%ndamentals
SA A! "A#$0 0%3
0.4
SAP AG 2003
Course Prere.uisites
Required
$olid /,P basic kno*led"e
%ood ro"rammin" e+erience in a di))erent
ro"rammin" lan"ua"e
SA A! "A#$0 0%4
0.5
SAP AG 2003
Tar"et "rou
&
&
Target group
Duration
10 da!s
,e'eloment consultants and de'eloers *ho are
resonsible )or adatin" and de'eloin" ABAP/ABAP
0b1ects ro"rams
SA A! "A#$0 0%5
0.6
SAP AG 2003
At the end o) this course2 !ou *ill be able to3
Work *ith the ABAP Workbench tools
Write !our o*n simle ABAP ro"rams
Pro"ram ob1ect4oriented ABAP 0b1ects
Course %oals
SA A! "A#$0 0%6
0.7
SAP AG 2003
Comple" m!$AP&com Technolo"ies
Comple" ABAP Workbench 4
Fundamentals
Comple" ABAP 0b1ects
Case $tud!
Course Content3 m!$AP Technolo"! - ABAP
Workbench Fundamentals
Pre)ace
".is SA &onsultant 4'u-ation trainin7 -ourse -ontains 'i**erent in'ivi'ual -ourses @se-tionsA0 ea-.
o* +.i-. 'eals +it. a se,arate to,i-
4a-. in'ivi'ual -ourse @se-tionA is 'ivi'e' into 'i**erent units.
SA A! "A#$0 0%B
0.8
SAP AG 2003
Comple" Pro"rammin" ,atabase
5dates
Comple" $olution 6ana"er
Comple" /nhancements and
6odi)ications
Case $tud!
Comple" ABAP ,ictionar!
Comple" Techni.ues o) 7ist
Processin"
Comple" Pro"rammin" 5ser
,ialo"s
Course Content3 m!$AP Technolo"! - ABAP
Workbench Concets
Pre)ace
".is SA &onsultant 4'u-ation trainin7 -ourse -ontains 'i**erent in'ivi'ual -ourses @se-tionsA0 ea-.
o* +.i-. 'eals +it. a se,arate to,i-
4a-. in'ivi'ual -ourse @se-tionA is 'ivi'e' into 'i**erent units.
SA A! "A#$0 0%C
SAP AG 2003
Comle+3 m!$AP&com Technolo"ies
SA A! "A#$0 $%$
SAP AG 2003
Course Content3 m!$AP&com Technolo"ies
#nit m!$AP&com
#nit (a'i"ation
#nit Technical $tructure o) an $AP $!stem
#nit Cross4$!stem Concets
SA A! "A#$0 $%2
SAP AG 2003
$!stem 0'er'ie*
Internet Technolo"ies
Inter)aces
$AP $er'ice 6arketlace
Contents3
m!$AP&com
SA A! "A#$0 2%$
SAP AG 2003
m!$AP&com (1)
$!stem 0'er'ie*
$!stem 0'er'ie* $!stem 0'er'ie*
Internet Technolo"ies
Internet Technolo"ies
Inter)aces
Inter)aces
$AP $er'ice 6arketlace
$AP $er'ice 6arketlace
SA A! "A#$0 2%2
SAP AG 2003
Possibilities 0))ered b! m!$AP&com
0ther
so)t*are
Field sta))
8/#3
98
8/#3
FI/C0
The Internet2 or :the
rest o) the *orld:
BW
8/#3
$,
AP0
C86
7e"ac!
so)t*are
0nl!
bro*ser
re.uired
Customer
;our coman!
(e* business artner
7ato or
P,A (handheld)
0nl! a )raction o) the
inte"ration ossibilities
is sho*n here&&&
0ther
so)t*are
Business artner
T6
6arketlace
8/#
8/#
mySA.-om ,rovi'es t.e o,tion o* ma,,in7 internal business ,ro-esses +it. em,loyees an'
e:ternal business ,ro-esses *or ,artners0 -ustomers or su,,liers usin7 t.e 1nternet.
SA A! "A#$0 2%3
SAP AG 2003
$AP 8/# (/nterrise)
$AP 8/# (/nterrise)
$rowser
$rowser
SAP G#%
SAP G#%
$rowser
$rowser
$AP %5I )or 9T67
Classic users
/$$
/$$ < /mlo!ee $el)4$er'ice
6iddle*are
comonents
&suc' as SAP %(S)
SA R/3 4nter,rise ,rovi'es a +i'e ran7e o* -ore business *un-tions @as 'i' its ,re-ursor0 SA R/3A0
in-lu'in7 =inan-ial A--ountin7 an' >uman Resour-es Mana7ement.
SA R/3 4nter,rise0 +.i-. e:-ellently -om,lements all SA solutions0 -an be use' as an 4R
ba-(en' system.
SA A! "A#$0 2%4
SAP AG 2003
m!$AP C86
C86 $!stem /8P Backend
e&"& Internet sellin"
$rowser
$rowser
SAP G#%
SAP G#%
Call Center
6obile $er'ices
*aptop
*aptop
6iddle*are
comonents
Many -om,anies no+ atta-. 7ro+in7 im,ortan-e to 7eneratin7 an' maintainin7 -ustomer loyalty.
".is is +.y it is ne-essary to mana7e -ustomer in*ormation e**i-iently.
mySA &ustomer Relations.i, Mana7ement @mySA &RMA not only enables you to 'o t.is0 it also
enables you to o,timi<e your -ustomer relations.i,s as a +.ole an' t.rou7.out t.e li*e -y-le D *rom
-ustomer a-Euisition t.rou7. sales ,ro-esses an' or'er *ul*illment to -ustomer servi-e.
SA A! "A#$0 2%5
SAP AG 2003
m!$AP /4Procurement
/8P Backend
SAP G#%
SAP G#%
/mlo!ees
*ithin !our
coman!
/BP $!stem
Catalo"
Internet 6arketlace
&&&
&&&
(ot necessaril!
re.uired
6iddle*are
mySA 4%ro-urement su,,orts business%to%business ,ro-urement o* bot. ,ro'u-tion materials an'
in'ire-t materials @,en-ils0 ,a,er0 et-.A. Fou -an ma(e ,ur-.ases on e%mar(et,la-es0 use ele-troni-
bi' invitations or sear-. *or t.e best o**ers on t.e #orl' #i'e #eb.
SA A! "A#$0 2%6
SAP AG 2003
m!$AP BI
BW $!stem
$/6 $!stem
G#%
G#%
6ana"er
&&&
(ot necessaril!
re.uired
/8P Backend
/8P Backend
".e mySA 8usiness 1ntelli7en-e solution ,rovi'es you +it. a variety o* o,tions *or e:tra-tin70
evaluatin70 storin7 an' 'isseminatin7 t.e 'ata in your systems so you -an ma(e business or strate7i-
'e-isions.
mySA 81 -om,onents)
% SA 8usiness 1n*ormation #are.ouse @SA 8#A
% SA Strate7i- 4nter,rise Mana7ement @SA S4MA
SA A! "A#$0 2%B
SAP AG 2003
m!$AP $C6
0ther
/8P Backend AP0 $!stem
BW $!stem
SAP G#%
SAP G#%
G#%
&E"cel+$ased
for e"ample)
G#%
&E"cel+$ased
for e"ample)
6ana"er
(erson resonsible)
6ana"er
(lanner)
/8P Backend
mySA Su,,ly &.ain Mana7ement @mySA S&MA 7ives you t.e tools you nee' to mana7e your
entire lo7isti-s -.ain0 so you -an -ontrol all intra-om,any an' inter-om,any ,ro-esses0 *rom
ma,,in7 t.e lo7isti-s -.ain to sour-in70 an' *rom reEuirements ,lannin7 to sales.
".e 1nternet%enable' *un-tions in mySA Su,,ly &.ain Mana7ement allo+ you to -ontrol t.e
lo7isti-s -.ain even beyon' your -om,any boun'aries. ".is enables you to -ollaborate +it. your
,artners an' -ustomers0 e:-.an7in7 im,ortant in*ormation an' rea-tin7 s+i*tly as t.e nee' arises.
3ne o* t.e -entral mo'ules o* mySA S&M is t.e A'van-e' lanner G 3,timi<er @A3A. A3
in-lu'es t.e *ollo+in7 -om,onents) Su,,ly &.ain &o-(,it0 Deman' lannin70 Su,,ly 2et+or(
lannin7 an' De,loyment0 ro'u-tion lannin7 an' Detaile' S-.e'ulin7 an' !lobal Available%to%
romise.
8y -ombinin7 A3 +it. t.e 8usiness 1n*ormation #are.ouse0 SA -ustomers -an o,timi<e
,er*orman-e an' -osts alon7 t.e entire lo7isti-s -.ain.
SA A! "A#$0 2%C
SAP AG 2003
m!$AP /nterrise Portal
/8P Backend
$rowser
$rowser
$rowser
$rowser
Browser
Browser
Portal
0ther sources o)
in)ormation or s!stems
(such as the Internet)
0ther
/8P Backend
/mlo!ee
$rowser
$rowser
ossibilities o**ere' by mySA 4nter,rise ortal)
% Sim,le0 uni*orm a--ess to 'i**erent sour-es o* in*ormation @sin7le ,oint o*
entryA
% 4asy a--ess to 'i**erent so*t+are -om,onents *rom various ,rovi'ers @*or e:am,le0
8aan0 eo,leSo*t0 3ra-le0 an' Siebel0 alon7si'e SAA
% 9sers nee' to lo7 onto t.e ,ortal on-e only to a--ess all systems @Sin7le Si7n 3nA
% Role%base' a--ess to *un-tions
% ".e ,ortal -an be ,ersonali<e' by a'Hustin7 it to ,ersonal nee's
% Se-ure a--ess *rom any+.ere
mySA 4nter,rise ortal -an be use' as an em,loyee0 -ustomer an'/or su,,lier ,ortal0 amon7st
ot.ers.
SA A! "A#$0 2%9
SAP AG 2003
m!$AP&com (2)
$!stem 0'er'ie*
$!stem 0'er'ie*
Internet Technolo"ies
Internet Technolo"ies Internet Technolo"ies
Inter)aces
Inter)aces
$AP $er'ice 6arketlace
$AP $er'ice 6arketlace
SA A! "A#$0 2%$0
SAP AG 2003
$AP IT$2 $AP Web A$3 9TTP Communication
$AP Alication
$er'er
re'iousl!
=$AP Basis=)
$AP Web
Alication $er'er
9TTP re.uest
9TTP
9TTP
8FC
,arious
SAP systems
optional
Web ser'er
$AP IT$
8FC/
,IA%
".ere are basi-ally t+o +ays o* a--essin7 an SA -om,onent in 'ialo7 mo'e *rom t.e 1nternet)
% 9sin7 t.e SA 1nternet "ransa-tion Server @SA 1"SA
% 9sin7 t.e 1nternet &ommuni-ation Mana7er @1&MA o* t.e SA #eb A,,li-ation Server @SA #eb
ASA
SA A! "A#$0 2%$$
SAP AG 2003
The $AP Internet Transaction $er'er
A%ate
9T67 a"e
Web
bro*ser
Web
ser'er
W%ate
9TTP C%I> TCP/IP
,IA%
8FC
-9T67
Business
Temlates
-Flo* )iles
Common host
$AP IT$
$er'ice
)iles
C$$
)iles
> ($API and I$API are also suorted
$AP
$!stem
".e SA 1"S ,rovi'es t.e *ollo+in7 o,tions)
% Automati- -onversion o* SA s-reens into >"M6 *ormat
% 9se o* s-reen%base' 1A&s @1nternet A,,li-ation &om,onentsA t.at .ave been 'elivere'
+it. t.e R/3 System *or years @t.e online store0 *or e:am,leA
% 9se o* t.e SA !91 *or >"M60 a $)$ -onversion o* SA s-reens into >"M6
SA A! "A#$0 2%$2
SAP AG 2003
The $AP Web Alication $er'er
$AP Web Alication $er'er
as o) 8el& ?&10
$AP Alication $er'er2
u to (incl&) 8el& @&?,
IC6
6emor!
ies
,isatcher ,isatcher
,B
,B
,isatcher
,B
,B
WP WP WP WP WP WP
".e SA #eb AS is a *urt.er 'evelo,ment o* t.e -lassi- SA 8asis te-.nolo7y. A ne+ ,ro-ess .as
been a''e' to t.e SA (ernel0 t.e 1nternet &ommuni-ation Mana7er @1&MA.
".e 1&M enables you to ,ro-ess 'ire-tly Eueries t.at +ere ,la-e' *rom t.e 1nternet/1ntranet via a
bro+ser.
".e #eb bro+ser an' 1&M -ommuni-ate usin7 8usiness Server a7esI t.ese are >"M6 ,a7es t.at
also -ontain A8A -o'in70 *or e:am,le0 so t.at t.e >"M6 ,a7e -an be *ille' +it. 'ata at runtime.
".e SA !91 *or >"M6 -annot -urrently be use' +it. t.e 1&M @%J SA 1"SA
SA A! "A#$0 2%$3
SAP AG 2003
m!$AP&com (#)
$!stem 0'er'ie*
$!stem 0'er'ie*
Internet Technolo"ies
Internet Technolo"ies
Inter)aces
Inter)aces Inter)aces
$AP $er'ice 6arketlace
$AP $er'ice 6arketlace
SA A! "A#$0 2%$4
SAP AG 2003
Inter)aces Technolo"ies 5sed in $AP $!stems
0en Inter)aces
0en Inter)aces
0en Inter)aces
/
,
I
/
,
I
TCP/IP
TCP/IP
75?&2
75?&2
CPI4C
CPI4C
8FC
8FC
A
7
/
A
7
/
BAPI
BAPI
07/
07/
$6TP
$6TP 9
T
T
P
9
T
T
P
mySA.-om is an open system. 1t su,,orts a variety o* net+or( -ommuni-ation ,roto-ols.
1n*ormation -an be e:-.an7e' bet+een -om,onent systems an' non%SA systems.
SA su,,orts t.e "&/1 @"ransmission &ontrol roto-ol/1nternet roto-olA an' S2A 696.2
@System 2et+or( Ar-.ite-tureI 6o7i-al 9nit 6.2A ,roto-ols. &ommuni-ation in mySA.-om ta(es
,la-e usin7 t.e stan'ar' "&/1 ,roto-ol. 696.2 +as 'evelo,e' by 18M an' is use' to -ommuni-ate
+it. main*rame%base' R/2 Systems.
R/3 a,,li-ation ,ro7rammin7 su,,orts &1%& @&ommon ro7rammin7 1nter*a-e &ommuni-ationA0
R=& @Remote =un-tion &allA an' 364 Automation @3bHe-t 6in(in7 an' 4mbe''in7A as
-ommuni-ation inter*a-es. 3t.er inter*a-es are base' on t.is te-.nolo7y0 su-. as -ommuni-ation via
8A1s @8usiness A,,li-ation ro7rammin7 1nter*a-esA0 4D1 @4le-troni- Data 1nter-.an7eA or an
A64 @A,,li-ation 6in( 4nablin7A 'istribution mo'el.
1t is also ,ossible to sen' an' re-eive mails usin7 SM" @Sim,le Mail "rans*er roto-olA.
SA A! "A#$0 2%$5
SAP AG 2003
Business Process ,istribution 5sin" A7/
Distributed
business processes
Accountin"
Central Controllin"
In)ormation s!stems3
In'entor!
Purchasin"
$ales
Central urchasin"
8e)erence s!stem )or
master data and ta+
data
$ales2 shiin" and
billin"
Purchasin" o)
tradin" "oods
In'entor!
mana"ement
7ocal Controllin"
Plant maintenance
In'entor!
mana"ement
Internal sales2
shiin" and billin"
7ocal urchasin"
PP
A64 is t.e business%-ontrolle' messa7e e:-.an7e
% ".rou7. syn-.ronous an' asyn-.ronous -ommuni-ation
% 9sin7 8A1 inter*a-es an' 1Do- 'ata -ontainers
% 9sin7 -onsistent 'ata @t.e a,,li-ations 'o not use a -entral 'atabase0 but
are *ille' in'e,en'ently by re7ional 'atabases +it. t.eir o+n 'atabaseA
% A-ross loosely lin(e' SA a,,li-ations.
SA A! "A#$0 2%$6
SAP AG 2003
8FC Connection 0tions
./C interface
ABAP pro0ram
$AP s!stem
$AP s!stem
./C interface
/+ternal s!stem
./C interface
ABAP pro0ram E"ternal pro0ram
&SAP .12 also possi$le)
Remote Function Call @R=&A is a -ommuni-ations inter*a-e t.at is base' on &1%&0 but +.i-. .as
more *un-tions an' is easer *or a,,li-ation ,ro7rammers to use. Fou -an use R/3 an' R/2 Systems as
+ell as e:ternal a,,li-ations as R=& -ommuni-ation ,artners. See also SA 2otes $3903 an'
$$605$.
R=& is t.e ,roto-ol *or -allin7 s,e-ial subroutines over t.e net+or(. ".ese subroutines are labele'
*un-tion mo'ules. =un-tion mo'ules are -om,arable +it. & *un-tions or AS&A6 ,ro-e'ures. ".ey
.ave a 'e*ine' inter*a-e via +.i-. 'ata0 tables an' return -o'es -an be e:-.an7e'. =un-tion mo'ules
are mana7e' in t.e R/3 System in t.eir o+n *un-tion library0 -alle' t.e =un-tion 8uil'er.
SA A! "A#$0 2%$B
SAP AG 2003
8emote Function Call in ,etail
Callin" s!stem
...
CALL FUNCTION XY
DESTINATION DEST
EXPORTING...
IMPORTING...
...
$!stem called
FUNCTION XY.
.
.
.
ENDFUNCTION.
RFC DESTINATION
R/2
R/3
DEST
...
./C interface
./C interface ./C interface
=un-tion mo'ules remote -alls a-ross system bor'ers are only 'i**erent to lo-al remote -alls in t.at a
s,e-ial ,arameter @DestinationA s,e-i*ies t.e 'estination .ost on +.i-. t.e ,ro7ram is to be e:e-ute'.
".ere are t.ree ty,es o* R=& -all)
% Synchronous RFC call) t.e -allin7 ,ro7ram sto,s until t.e *un-tion mo'ule .as been
,ro-esse' in t.e 'estination system an' any results .ave been returne' to t.e -aller. 3nly
t.en 'oes t.e -allin7 ,ro7ram -ontinue ,ro-essin7.
% Asynchronous RFC call) t.e -allin7 ,ro7ram runs ,arallel to an' in'e,en'ently
o* *un-tion mo'ule ,ro-essin7 in t.e 'estination system. ro7rammers are
res,onsible *or .an'lin7 result ,ro-essin7. 1n a''ition0 t.e 'estination system must also be
available at t.e time o* t.e R=& -all.
% Transactional RFC call) several *un-tion mo'ules -an be 7rou,e' into one
transa-tion. ".ey are ,ro-esse' in t.e 'estination system +it.in an 69# on-e only0
an' in t.e seEuen-e in +.i-. t.ey +ere -alle'. 1n t.e -ase o* an error0 t.e -allin7 system re-eives
a -on*irmation t.at you -an a--ess usin7 "ransa-tion SM5C. 1n t.e -ase o* transa-tional R=&0 t.e
'estination system 'oes not .ave to be available at t.e time o* t.e R=& -all. 1n a''ition0 you -an
-on*i7ure t.e *reEuen-y an' intervals o* in'ivi'ual Eueries.
SA A! "A#$0 2%$C
SAP AG 2003
m!$AP&com (@)
$!stem 0'er'ie*
$!stem 0'er'ie*
Internet Technolo"ies
Internet Technolo"ies
Inter)aces
Inter)aces
$AP $er'ice 6arketlace
$AP $er'ice 6arketlace $AP $er'ice 6arketlace
SA A! "A#$0 2%$9
SAP AG 2003
ser'ice&sa&com - the $AP $er'ice 6arketlace
$er'ice
re.uirements
Current
0utut /
messa"esA
(otes
database
Problem
messa"es
?
?
?
?
$AP $o)t*are
Chan"e
8e"istration
Corrections
Trainin"
course
in)ormation
".e SA Servi-e Mar(et,la-e un'er .tt,)//servi-e.sa,.-om is aime' at SA -ustomers an' ,artners
@unli(e .tt,)//+++.sa,.-om0 +.i-. ,rovi'es in*ormation on all SA solutions an' on SA as a
-om,any *or everyoneA.
At t.e SA Servi-e Mar(et,la-e you -an a--ess various servi-es0 s,e-ial in*ormation an' a''itional
o**ers.
Fou must be re7istere' as a user to use t.e SA Servi-e Mar(et,la-e. ".ere is normally a -onta-t
,erson in ea-. -om,any +.o -reates users *or em,loyees as reEuire' an' sets aut.ori<ations.
A--ess to t.e SA Servi-e Mar(et,la-e is *ree o* -.ar7e @a,art *rom t.e ne-essary 1nternet a--essA.
SA A! "A#$0 2%20
SAP AG 2003
m!$AP&com3 5nit $ummar!
;ou are no* able to
(ame some o) the ad'anta"es that !our coman!
"ains b! usin" m!$AP&com e4business solutions&
,escribe *here $AP IT$ and $AP Web A$ can be
used and ho* the! *ork
(ame 'arious inter)ace technolo"ies used b! $AP
s!stems
5se the $AP $er'ice 6arketlace
SA A! "A#$0 2%2$
SAP AG 2003
7o"on and $creen ,esi"n
5ser %uide
%ettin" 9el
5ser $ettin"s
Contents3
(a'i"ation
SA A! "A#$0 3%$
SAP AG 2003
(a'i"ation (1)
7o"on and $creen ,esi"n
7o"on and $creen ,esi"n 7o"on and $creen ,esi"n
5ser %uide
5ser %uide
%ettin" 9el
%ettin" 9el
5ser $ettin"s
5ser $ettin"s
SA A! "A#$0 3%2
SAP AG 2003
The $AP 7o"on Pro"ram
SAP *o0on 230
*an0ua0e
4E, 5SPACE6
Sys!7o! Messa0eser8er
00 twdf0290
S%4
4E, SPACE
Group1Ser8er
*o0on
Properties
Groups!!!
Ser8er!!!
7ew!!!
4elete
".e SA !91 ,ro7ram -onne-ts t.e *ront%en' -om,uter +it. a s,e-i*i- SA System. ".eoreti-ally
you -an s,e-i*y t.e SA system reEuire' at -omman'%line level +.en -allin7 t.e SA !91 ,ro7ram.
1n ,ra-ti-e0 you never nee' to 'o t.is. SA ,rovi'es anot.er ,ro7ram *or startin7 t.e SA !91) SA
6o7on.
#.en you -all u, t.e SA 6o7on0 it 'is,lays a list o* SA systems +.ose lo7on ,ro-ess -an be
starte'. ".is list is 'erive' *rom a *ile on t.e *ront%en' -om,uter) sa,lo7on.ini. ".is *ile is normally
,re-on*i7ure' -entrally an' ma'e available to en' users.
SA A! "A#$0 3%3
SAP AG 2003
The 7o"on $creen )or an $AP $!stem
#sers System :elp
SAP R/3
7ew password
4E, &3) &300) (;4/0290 ,.
client
#ser
Password
*an0ua0e
Please call your user administrator on
(el! 3<92 if you 'a8e pro$lems lo00in0 on
300
4E
=
SA systems are client systems. Fou -an use t.e -lient -on-e,t to -ontrol several se,arate
enter,rises in one system at t.e same time. ".e 8# an' K# -om,onents are e:-e,tions sin-e ea-.
uses one -lient only. 4a-. user session only a--esses 'ata on t.e -lient t.at you sele-te' +.en you
lo77e' on.
A client is a sel*%-ontaine' or7ani<ational unit in t.e system. 4a-. -lient .as its o+n 'ata
environment an'0 t.ere*ore0 its o+n user master an' transa-tion 'ata0 assi7ne' user master re-or's
an' -.art o* a--ounts an' s,e-i*i- &ustomi<in7 ,arameters.
So t.at you -an lo7 onto t.e system0 you must .ave a user master re-or' -reate' *or you *or t.e
-orres,on'in7 -lient. =or reasons o* a--ess ,rote-tion0 you must enter a ,ass+or' +.en you lo7 onto
t.e system. ".e system 'oes not 'is,lay t.e ,ass+or' t.at you enter @stars are 'is,laye' in ,la-e o*
t.e ,ass+or'A.
SA systems are multilin7ual. Fou -an use t.e Language *iel' to sele-t t.e lo7on lan7ua7e *or t.e
-urrent session.
Multi,le lo7ons are re-or'e' as o* Release 4.6. ".is is *or reasons o* bot. se-urity an' li-ensin7. 1*
t.e same user lo7s on more t.an on-e0 t.en t.e system 'is,lays a +arnin7 messa7e *or ea-.
subseEuent lo7on.
Fou -an a'' your o+n te:ts to t.e lo7on s-reen in 'i**erent +ays. =or more in*ormation0 see SA
2ote 2054CB.
SA A! "A#$0 3%4
SAP AG 2003
$AP /as! Access
ffice
%nformation Systems
tools
SAP menu
/a8orites
t'er menu
SAP Easy Access
Create role Assi0n users 4ocumentation
Menu Edit /a8orites E"tras System :elp
4E, &3) &300) (;4/0290 ,.
".e SA !asy Access s-reen is t.e stan'ar' +ay to a--ess t.e system. Fou navi7ate +it.in t.e
system usin7 a -learly arran7e' tree stru-ture.
Fou -an atta-. an ima7e su-. as your -om,any lo7o to t.e ri7.t si'e o* t.e s-reen. ".is ima7e -an
be assi7ne' t.rou7.out t.e system an' is vali' *or all -lients. !iven t.at you .ave aut.ori<ation to 'o
so0 you -an *in' a 'etaile' 'es-ri,tion o* t.e settin7s t.at are reEuire' to 'o t.is by -.oosin7 Extras
%%J Administration information. lease note t.at t.e 7ra,.i- is store' in t.e system an' trans,orte' to
t.e *ront%en' every time SA 4asy A--ess is -alle'. Alt.ou7. it is trans,orte' in -om,resse' *orm0
t.e 7ra,.i- s.oul' not e:-ee' 20 K8. Fou -an also ,revent t.e 7ra,.i- *rom bein7 -alle' by
-.oosin7 t.e settin7 6o+ S,ee' &onne-tion in t.e SA 6o7on ,ro7ram @see SA 2ote $6$053A0 or
by -.oosin7 Extras --> Settings in t.e SA 4asy A--ess s-reen. See also L9ser Settin7sL.
SA A! "A#$0 3%5
SAP AG 2003
$creen /lements
4E, &3) &300) (;4/0290 ,.
#sers Edit Goto System :elp
Maintaining your user profile
#ser
*ast c'an0ed $y
ESC:
ESC: 0>!09!2003 3> ? @2 ? 39 Status Sa8ed
Address 4efaults Parameter
s
StartMenu
*o0on lan0ua0e
utput Controller
utput4e8ice
utput immediately
4elete after output
4ecimal notation
4ate format
3!23@!>29AB<
3A23@A>29!B<
3 23@ >29AB<
44!MM!CCCC
MM1441CCCC
MM+44+CCCC
CCCC!MM!44
CCCC1MM144
CCCC+MM+44
Personal time Done
CE(
CA((
(est status
%nput fields
C'eck$o"es
.adio $uttons
(itle $ar
Standard tool$ar
Menu $ar
Application tool$ar Command
field
(a$ pa0e
Status $ar
Comman" #iel"$ you -an start a,,li-ations 'ire-tly by enterin7 t.eir transa-tion -o'e in t.e
-omman' *iel' @t.is is .i''en by 'e*aultA. Fou -an *in' t.e transa-tion -o'e *or an a,,li-ation eit.er
in t.e SA 4asy A--ess menu tree @see L9ser Settin7sLA or in t.e a,,li-ation itsel* un'er System ->
Status.
%enu &ar$ t.e menus s.o+n .ere 'e,en' on +.i-. a,,li-ation you are in. ".ese menus may also
-ontain -as-a'in7 menus.
Stan"ar" tool&ar$ t.e i-ons in t.e stan'ar' toolbar are s.o+n on every R/3 s-reen. 1* t.ey are not
available in an a,,li-ation0 t.e ,us.buttons t.at you -annot use on t.at s-reen are 'ea-tivate'. 1* you
,osition t.e -ursor over an i-on *or a s.ort time0 t.e system 'is,lays Eui-( in*o te:t +it. t.e name or
*un-tion o* t.e i-on. 1* a,,ro,riate0 you also see t.e -orres,on'in7 *un-tion (ey settin7. ".e
application tool&ar s.o+s t.e i-ons available in t.e a,,li-ation you are -urrently in.
Title &ar$ t.e title bar names t.e *un-tion t.at is available in t.e a,,li-ation you are -urrently in.
Chec'&o(es$ -.e-(bo:es enable you to sele-t several o,tions *rom a 7rou, o* *iel's at t.e same
time.
Ra"io &uttons$ ra'io buttons enable you to -.oose e:a-tly one item *rom a sele-tion.
Ta&$ arran7es several in*ormation s-reens to im,rove -larity.
Status &ar$ t.e status bar 'is,lays in*ormation su-. as +arnin7s an' errors about t.e -urrent system
status.
SA A! "A#$0 3%6
SAP AG 2003
(a'i"ation (2)
7o"on and $creen ,esi"n
7o"on and $creen ,esi"n
5ser %uide
5ser %uide 5ser %uide
%ettin" 9el
%ettin" 9el
5ser $ettin"s
5ser $ettin"s
SA A! "A#$0 3%B
SAP AG 2003
Fa'orites 7ist and 5ser 6enu
t'er menu Create role Assi0n users 4ocumentation
Menu Edit /a8orites E"tras System :elp
4E, &3) &300) (;4/0290 ,.
#.* + SAP Ser8ice Marketplace
/a8orites
SAP Easy Access
SM>0 + Process 8er8iew
SM0@ + #ser *ist
.ole SAPEBCEBAS%SEA4M%7
System? .unnin0 peration
System Confi0uration
Performance Analysis
Pro$lem Analysis
8er8iew
.F20 + CCMS Monitorin0
4etails
.ole+$ased menu
/a8orites list
Role$ a role 'es-ribes a number o* a-tivities in t.e system t.at it ma(es sense to 'e*ine. ".ese
re,resent t.e s-o,e o* *un-tions t.at users ty,i-ally reEuire at t.eir +or( station.
Roles @*ormerly La-tivity 7rou,sLA must be set u, usin7 t.e ro*ile !enerator so t.at SA system
users -an +or( +it. user)speci#ic or *or' station)relate" menus.
Roles are also use' to assi7n users +it. aut.ori<ation *or t.e a-tivities 'e*ine' in menus. re'e*ine'
user roles *rom all a,,li-ation areas are in-lu'e' in t.e stan'ar' system as o* Release 4.6.
#.en users are assi7ne' roles0 t.ey -an -.oose bet+een t.e stan'ar' SA menu an' t.eir user
menus.
1n a''ition to t.eir roles0 en' users -an also use =avorites to ,ersonali<e t.eir a--ess to t.e system.
Fou -an -reate your o+n Fa+orites list o* t.e transa-tions0 re,orts0 *iles an' #eb a''resses t.at you
*reEuently use.
Fou -an -reate e'its usin7 t.e Favorites menu or sim,ly usin7 t.e mouse to L'ra7 G 'ro,L 9R6s or
lin(s to *iles to your ,ersonal *avorites list.
SA A! "A#$0 3%C
SAP AG 2003
(a'i"ation 0tions
Menu Edit /a8orites E"tras
SAP Easy Access
t'er menu
Fa'orites
587 4 $AP $er'ice 6arketlace
$6B0 4 Process 0'er'ie*
$60@ 4 5ser 7ist
8ole $APCBCCBA$I$CA,6I(
$!stem3 8unnin" 0eration
$!stem Con)i"uration
Per)ormance Anal!sis
Problem Anal!sis
0'er'ie*
8D20 4 CC6$ 6onitorin"
,etails
Create session
End session
#ser profile
Ser8ices
#tilities
*ist
Ser8ices for o$ject
$ject 'istory
wn spool reGuests
wn jo$s
S'ort messa0e
Status!!!
*o0 off
System
Command field
SAP Easy Access and /a8orites list
Menu
Fou -an -all t.e *ollo+in7 ty,es o* system *un-tions)
9sin7 t.e mouse by sele-tin7 a
menu entry
= avorites
an SA 4asy A--ess entry
usin7 t.e (eyboar' @A6" M t.e un'erline' letter o* t.e menu o,tion reEuire'A
by enterin7 a transaction co"e in the comman" #iel")
1n SA systems0 ea-. *un-tion @not ea-. s-reenNA is assi7ne' a transa-tion -o'e. Fou -an -all
t.e allo-ate' transa-tion -o'e *rom any system s-reen. =or e:am,le0 you -an 'is,lay t.e
-ustomer master 'ata0 enter L/nL an' t.en enter t.e -orres,on'in7 transa-tion -o'e) L/n*'03L.
Fou -an 'etermine t.e transa-tion -o'e by -.oosin7 Status in t.e System menu. A''itional
in,ut o,tions)
% L/nL en's t.e -urrent transa-tion.
% L/iL 'eletes t.e -urrent session
% L/osm04L o,ens a ne+ session an' bran-.es to t.e s,e-i*ie' transa-tion @SM04A.
SA A! "A#$0 3%9
SAP AG 2003
The $!stem and 9el 6enus
ffice
%nformation Systems
tools
SAP menu
/a8orites
t'er menu
SAP Easy Access
Create role Assi0n users 4ocumentation
4E, &3) &300) (;4/0290 ,.
:elp
Application 'elp
SAP *i$rary
Glossary
.elease 7otes
SAP Ser8ice Marketplace
/eed$ack
Settin0s!!!
Menu Edit /a8orites E"tras System
Create session
End session
#ser profile
Ser8ices
#tilities
*ist
Ser8ices for o$ject
$ject 'istory
wn spool reGuests
wn jo$s
S'ort messa0e
Status!!!
*o0 off
Fou -an *in' t.e *ollo+in7 o,tions amon7st ot.ers in t.e System menu o,tion)
&reate/en' session) -reates an' en's a session. System a'ministrators -an use ,arameter
r'is,/ma:OaltOmo'es to set t.e ma:imum number o* sessions to a number bet+een 2 an' 6.
9ser ,ro*ile) -ontains user%s,e-i*i- settin7s. &.oose Own data to use ,arameters 1Ds t.at *ill
s,e-i*i- *iel's in t.e system @su-. as t.e -om,any -o'e *iel'A +it. 'e*ault values.
6ist) im,ortant list *un-tions0 su-. as sear-.in7 by -.ara-ter strin70 savin7 to & *iles0 ,rintin7 an'
so on.
Status) 'is,lays t.e most im,ortant user an' system 'ata
6o7o**) en's t.e SA R/3 session @+it. a reEuest *or -on*irmationA
".e menu o,tion Help -ontains t.e *ollo+in7 o,tions0 amon7st ot.ers)
% A -onte:t%sensitive Application Help
% SAP Lirary -all @see ne:t ,a7eA
% A !lossary
SA A! "A#$0 3%$0
SAP AG 2003
(a'i"ation (#)
7o"on and $creen ,esi"n
7o"on and $creen ,esi"n
5ser %uide
5ser %uide
%ettin" 9el
%ettin" 9el %ettin" 9el
5ser $ettin"s
5ser $ettin"s
SA A! "A#$0 3%$$
SAP AG 2003
F1 9el
Print arameter 2
%ndicates w'et'er spool reGuests are printed immediately!
Select t'is field to print your spool reGuests immediately!
lassen!
*ea8e t'e field $lank to retain spool reGuests in t'e spool
system until t'ey are released! (o release t'ese spool
reGuests for printin0A you can use System+H Services +H Output controller!
Performance Assistant
utput Controller
utput4e8ice
utput immediately
4elete after output
Personal time Done
CE(
CA((
(est status
F1 hel
Technical in)ormation
Fou -an -.oose t.e F, (ey to 'is,lay an e:,lanation o* *iel's0 menus0 *un-tions an' messa7es.
".e =$ .el, also 'is,lays te-.ni-al in*ormation on t.e relevant *iel'. ".is in*ormation in-lu'es0 *or
e:am,le0 t.e ,arameter 1D t.at you nee' to set user%s,e-i*i- 'e*ault values *or in,ut *iel's t.at are
also lin(e' to t.e ,arameter 1D.
SA A! "A#$0 3%$2
SAP AG 2003
F@ 9el
Afrikaans
Ara$ic
Bul0arian
CDec'
4anis'
German
Greek
En0lis'
Spanis'
Estonian
/innis'
/renc'
:e$rew
Croatian
:un0arian
%ndonesian
*an0ua0e &2) 3B Entries found
.estrictions
7an"u&&& 7an"ua"e
A/
A.
BG
CS
4A
4E
E*
E7
ES
E(
/%
/.
:E
:.
:#
%4
Address 4efaults
StartMenu
*o0on lan0ua0e
utput Controller
utput4e8ice
F@ hel
Fou -an use F4 to 'is,lay ,ossible in,ut values. Fou -an also -all u, t.e =4 .el, *or a *iel' usin7
t.e button imme'iately to t.e ri7.t o* t.e sele-te' *iel'.
SA A! "A#$0 3%$3
SAP AG 2003
The $AP 7ibrar!
$AP 7ibrar!
SAP ;e$ Application Ser8erA .elease 2!30A Iune 2003
J Copyri0't 2003 SAP AG! All ri0'ts reser8ed!
SAP *i$rary
Gettin0 Started
SAP ;e$ Application Ser8er
SAP Knowled0e Mana0ement
:elp on :elp
:elp on t'e ;e$
Copyri0't
pen All Close All
Pre8ious 7e"t Sync'roniDe
Area :ide (ree
SAP *i$rary Gettin0 Started .elease
7otes
%MG Glossary Searc' :elp on :elp
*ocal intranet
SA Systems ,rovi'e e:tensive online .el,. Fou -an -all t.is .el, *rom every s-reen in t.e system"
Fou -an -all u, .el, by -.oosin7 t.e Help menu# or by -.oosin7 t.e a,,ro,riate i-on @yello+
Euestion mar(A.
Fou -an also a--ess t.e SA 6ibrary easily an' Eui-(ly *rom t.e SA Servi-e Mar(et,la-e. Fou -an
*in' t.e SAP Help Portal un'er $nowledge and %raining. Fou -an 'is,lay t.e .el, in >"M6 *ormat
an' also ,er*orm a very e**i-ient *ull te:t sear-. in t.e library. 1* t.e SA 6ibrary .as been installe'0
you -an also -all t.is o,tion +it.in your -om,any.
Fou -an also a--ess t.e >el, ortal 'ire-tly at .tt,)//.el,.sa,.-om.
SA A! "A#$0 3%$4
SAP AG 2003
(a'i"ation (@)
7o"on and $creen ,esi"n
7o"on and $creen ,esi"n
5ser %uide
5ser %uide
%ettin" 9el
%ettin" 9el
5ser $ettin"s
5ser $ettin"s 5ser $ettin"s
SA A! "A#$0 3%$5
SAP AG 2003
T*o o) the 6an! PersonaliEation 0tions
4E, &3) &300) (;4/0290 ,.
Set start transaction
Settin0s
(ec'nical details
4isplay documentation S'iftL/2
CtrlLS'iftL/30
S'iftL/<
S'iftL/9
E"tras System :elp
Settin0s
('is is used to specify settin0s
4isplay fa8orites at end of list
4o not display menuA only display fa8orites
4o not display picture
4isplay tec'nical names
ffice
%nformation Systems
tools
SAP menu
/a8orites
t'er menu
SAP Easy Access
Menu Edit /a8orites
Create role Assi0n users 4ocumentation
ptions !!!
7ew ,isual 4esi0n !!!
Clip$oard
Generate 0rap'ic
Create s'ortcut !!!
Acti8ate GuiM(
4efault siDe
:ardcopy
Nuick Cut and Paste
Spellin0 C'eck
Sap0ui :elp
A$out !!!
A ran"e o) settin"s simli)ies
*orkin" *ith the s!stem
&.oose Extras ->Settings to -.an7e t.e a,,earan-e o* t.e initial s-reen0 *or e:am,le0 by turnin7 o**
t.e 7ra,.i-s 'is,lay on t.e ri7.t si'e o* t.e s-reen0 or by 'is,layin7 te-.ni-al names @transa-tion
-o'esA on t.e SA 4asy A--ess s-reen.
#.en you -.oose Options# you .ave t.e o,tion o* a-tivatin7 Qui-( &ut an' aste. 9n'er Options"""
you .ave t.e o,tion o* settin7 t.e rea-tion s,ee' o* t.e Eui-( in*o te:t t.at is 'is,laye' +.en you
,osition t.e -ursor over an i-on or ,us.button.
Fou -an set ,ersonal stan'ar' values by -.oosin7 System -> &ser Profile -> Own 'ata. Fou -an 'o
t.is on t.e tab ,a7es Address0 'efaults0 an' Parameters.
SA A! "A#$0 3%$6
SAP AG 2003
(a'i"ation3 5nit $ummar!
;ou are no* able to
7o" on to the s!stem success)ull!
(ame and use elements o) a $AP %5I screen
5se F1 and F@ hel
,isla! the in)ormation in the online documentation
5se the 'arious otions )or ersonaliEin" the $AP
s!stem
SA A! "A#$0 3%$B
-a+i.ation ) !(ercises
/nit$ -a+i.ation
Topic$ 0asic Functions
At t.e -on-lusion o* t.ese e:er-ises0 you +ill be able to)
6o7 on to an SA system
1'enti*y transa-tion -o'es
A--ess SA 6ibrary in*ormation
9se t.e =$ .el, to *in' *iel' in*ormation
9se t.e =4 .el, to sear-. *or ,ossible *iel' values
As a ne+ SA system user0 start to navi7ate in t.e system usin7 menu
,at.s an' transa-tion -o'es0 an' use t.e various ty,es o* online .el,.
All menu paths in the e(ercises re#er to the SA stan"ar" menu.
$%$ 6o77in7 on t.e system
Sele-t t.e -orres,on'in7 system *or t.is trainin7 -ourse. 4nter t.e -lient0 user name0
initial ,ass+or'0 an' t.e lo7on lan7ua7e s,e-i*ie' by t.e instru-tor. #.en lo77in7
on *or t.e *irst time0 a +in'o+ a,,ears in +.i-. you must enter a ne+ ,ass+or'
t+i-e. 2ote t.e
&lient) O O O 9ser) O O O O O O O O ass+or') OOOOOOOOOO 6an7ua7e) O O.
$%2 #.at is t.e ma:imum number o* ,arallel sessions @+in'o+s o* t.e SA systemA
-an you o,en by -.oosin7 System &reate sessionP
2umber) OO
$%3 #.at are t.e *un-tions -alle' t.at you a--ess usin7 t.e *ollo+in7 SA stan'ar'
menu ,at.s an' +.at are t.e -orres,on'in7 transa-tion -o'esP
$%3%$ Tools Administration Monitor System Monitoring User
Overview
=un-tion name) OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
"ransa-tion) OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
SA A! "A#$0 3%$C
$%3%2 Accounting Financial Accounting Accounts Receivable Master
records Display
Sele-t &ustomer $000 in &om,any -o'e $000 to a--ess
t.e *ollo+in7 s-reen.
=un-tion name) OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
"ransa-tion) OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
$%4 >el,
$%4%$ 3n t.e SAP Easy Access initial s-reen0 i* you -.oose Application Help
@L>el,L menuA0 you bran-. to +.i-. area o* t.e SAP LiraryP
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
"o ans+er t.e Euestion belo+0 you must -all t.e
transa-tion *or 'is,layin7 t.e -ustomer master re-or'.
$%4%2 9se t.e F, help *or t.e (ustomer *iel' to ans+er t.e *ollo+in7 Euestion.
#.at 'o you use t.e (ustomer *iel' *orP
Summari<e t.e business%relevant in*ormation .ere.
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
$%4%3 9se t.e =$ .el, *or t.e (ompany code *iel'. "o +.i-. business area o* t.e
SA 6ibrary 'oes t.e system bran-. +.en you -.oose t.e A,,li-ation >el,
i-on at t.e to, e'7e o* t.e =$ .el, +in'o+P
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
$%4%4 #.i-. i-on at t.e u,,er e'7e o* t.e =$ .el, +in'o+ -an you use to *in' t.e
,arameter 1D *or t.e &om,any -o'e *iel'P
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
SA A! "A#$0 3%$9
$%4%5 9se t.e =4 .el, *or t.e &ustomer *iel' to *in' t.e number o* -ustomer
L8e-(er QQL. "o 'o t.is0 -all t.e =4 .el, an' use t.e sear-. term L8e-(erRL.
>int) QQ is your 7rou, number.
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
SA A! "A#$0 3%20
/nit$ -a+i.ation
Topic$ /ser)Speci#ic Settin.s
At t.e -on-lusion o* t.ese e:er-ises0 you +ill be able to)
=ill a *iel' +it. 'e*ault ,arameters
Ma(e various user%s,e-i*i- settin7s
Maintain your *avorites list
De*ine a user%s,e-i*i- start transa-tion
Start to 'e*ine various user%s,e-i*i- settin7s.
3,tional e:er-ises are mar(e' +it. an asteris( @RA.
2%$ De*ine user ,arameters.
2%$%$ Assi7n a 'e*ault value to t.e &om,any -o'e *iel' *or your user.
>int) Four instru-tor +ill s,e-i*y t.e &om,any -o'e value @su-. as L$000LA.
Fou -an *in' a .int on 'e*ault values in t.e notes on t.e L9ser Settin7sL
,a7e.
arameter) OOO OOO OOO
arameter value) OOO OOO OOO OOO
2%2 De*ine user%s,e-i*i- settin7s by -.oosin7 System %%J 9ser ro*ile %%J 3+n Data.
2%2%$ Set your 6o7on 6an7ua7e to t.e lan7ua7e t.at you are usin7 in t.e trainin7
-ourse.
2%2%2 De*ine t.e De-imal 2otation an' t.e Date =ormat you reEuire.
SA A! "A#$0 3%2$
2%3 Maintain *avorites
2%3%$ &reate at least one ne+ *ol'er belo+ t.e *avorites *ol'er.
2%3%2 A'' t+o o* your *avorite transa-tions to t.is *ol'er.
2%3%3 A'' t.e 1nternet a''ress S.tt,)//+++.sa,.-omT belo+ t.e title SSA
>ome,a7eT.
2%4R De*ine a start transa-tion in t.e L4:trasL menu.
2%4%$ Set a transa-tion as t.e start transa-tion. Fou must no+ lo7 o** an' on a7ain
so t.at t.e system -an u,'ate t.e -.an7es.
>int) Fou -an also reset t.e start transa-tion to t.e stan'ar' value sim,ly by
'eletin7 your entry.
SA A! "A#$0 3%22
Solutions
/nit$ -a+i.ation
Topic$ 0asic Functions
$%$ 6o7 on to t.e system in'i-ate' by t.e instru-tor an' -.an7e your ,ass+or'.
$%2 "o -reate an' en' sessions0 -.oose System Create session @or -.oose t.e
-orres,on'in7 i-onA an' System End session.
De,en'in7 on t.e system settin70 u, to si: sessions -an be o,ene' simultaneously
'urin7 one user terminal session.
$%3 Fou -an *in' t.e transa-tion -o'e un'er System Status. ".ese s-reens an'
transa-tion -o'es -orres,on' to t.e menu ,at.s)
$%3%$ SM04 *or &ser List
$%3%2 =D03 *or (ustomer 'isplay) !eneral 'ata
$%4 >el,
$%4%$ ".e !etting Started unit is 'is,laye' +it.
in*ormation about usin7 SA 4asy A--ess.
$%4%2 Su77estion) ".e (ustomer *iel' is use' +it.in an SA
system to i'enti*y a -ustomer uniEuely.
$%4%3 =1 A--ounts Re-eivable an' A--ounts ayable
$%4%4 9sin7 t.e %ec*nical +nfo i-on you -an *in') Parameter +') 89K
$%4%5 &ustomerQQ @QQ is your 7rou, numberA
1* you use t.e F4 .el, *or t.e (ustomer *iel'0 a 'ialo7 bo: a,,ears in +.i-. you
-an enter various sear-. -riteria.
".e 'i**erent tabs on t.e 'ialo7 bo: -ontain 'i**erent sear-. -riteria. 9se t.e
Searc* term sear-. -riteria an' enter t.e *ollo+in7 'ata)
Criterion -ame 1alue
Searc* term ,ec-er.
1* you ,er*orm t.e sear-. usin7 t.e Enter (ey0 a list o* ,ossible .its is 'is,laye'0
*rom +.i-. you -an sele-t t.e -orres,on'in7 value.
SA A! "A#$0 3%23
/nit$ -a+i.ation
Topic$ /ser)Speci#ic Settin.s
2%$ De*ine user ,arameters
2%$%$ "o 'e*ine 'e*ault values *or a *iel'0 you nee' t.e ,arameter 1D o* t.e *iel'
-on-erne'. "o *in' t.is0 you must *irst sele-t a transa-tion t.at -ontains t.is
*iel'. osition t.e -ursor on t.e -orres,on'in7 *iel' @Hust -li-( on it +it. t.e
mouseA.
&.oose F Tec!nical "n#ormation $arameter "D to 'is,lay t.e
in*ormation you reEuire. =or t.e &om,any -o'e *iel'0 t.e ,arameter is
0/2.
2o+ enter t.is ,arameter into your user settin7s @System User $ro#ile
Own DataA in t.e Parameter tab an' assi7n it t.e value t.at +ill be vali' *or
t.e obHe-t in *uture. ".en save your 'ata.
2%2 De*ine user%s,e-i*i- settin7s
2%2%$ "o set t.e lo7on lan7ua7e0 7o to t.e user ,ro*ile @System User $ro#ile
Own Data/ an' t.en -.oose t.e 'efaults tab. 4nter t.e lo7on lan7ua7e you
reEuire in 6o7on 6an7ua7e.
2%2%2 See 2%2%$
2%3 Maintain *avorites
2%3%$ "o ,la-e *avorites in a *ol'er0 you must *irst -reate a *ol'er @*un-tional
areasA) =avorites "nsert #older +it. a name o* your -.oi-e. Fou -an
-reate as many *ol'ers as you li(e. Fou -an move *ol'ers usin7 t.e mouse to
S'ra7 G 'ro,T t.em.
2%3%2 "o -reate *avorites0 sele-t s,e-i*i- a,,li-ations @transa-tionsA in t.e menu
tree o* t.e SA stan'ar' menu t.at you reEuire as *avorites @t.ose
a,,li-ations t.at you use 'ailyA. Fou -an a'' entries to your *avorites list by
sele-tin7 t.e a,,li-ation an' -.oosin7 Favorites Add. Fou -an
subseEuently move *avorites into *ol'ers by -.oosin7 Favorites Move
#avorites" Fou -an also move *avorites usin7 t.e mouse to S'ra7 G 'ro,T
t.em.
2%3%3 Fou -reate 1nternet a''resses by -.oosin7 Favorites Add %eb address
or #ile.
SA A! "A#$0 3%24
2%4 De*ine a start transa-tion
2%4%$ E&tras Set start transaction
4nter a transa-tion an' t.en -.oose Enter. ".e system messa7e in t.e status
bar 'is,lays t.at t.is transa-tion +ill be t.e start transa-tion t.e ne:t time
you lo7 on.
3int$ "o reset t.is a-tion0 you must -.oose t.e menu ,at. a7ain an' 'elete
t.e transa-tion -o'e you entere'. ".e ne:t time you lo7 on to t.e system0
t.e initial SAP Easy Access s-reen +ill be 'is,laye' a7ain.
SA A! "A#$0 3%25
SAP AG 2003
,ata $tructure
$!stem Fernel
Contents3
Technical $tructure o) an $AP $!stem
SA A! "A#$0 4%$
SAP AG 2003
Technical $tructure o) an $AP $!stem (1)
,ata $tructure
,ata $tructure ,ata $tructure
$!stem Fernel
$!stem Fernel
SA A! "A#$0 4%2
SAP AG 2003
m!$AP&com $!stem ,ata $tructure
Client 100
Cross4Client CustomiEin"
,e'eloment Classes
66
FI
C0 98 PP Basis $,
&&&
8eositor! 0b1ects
&/or e"ample? (a$le 4efinitionsA Pro0ramsA (ransactionsA /unction
Modules)
Alication
,ata
&rdersA
%n8oicesA!!!)
Client4$eci)ic
CustomiEin"
&Company CodesA PlantsA
StoresA !!!)
Customer
,e'eloments
&&&
5
s
e
r
&
A
u
t
'
o
r
i
D
a
t
i
o
n
s
A
M
a
s
t
e
r
.
e
c
o
r
d
!
!
!
)
Client4$eci)ic
CustomiEin"
&Company CodesA PlantsA
StoresA !!!)
5
s
e
r
&
A
u
t
'
o
r
i
D
a
t
i
o
n
s
A
M
a
s
t
e
r
.
e
c
o
r
d
s
!
!
!
)
Alication
,ata
&rdersA
%n8oicesA!!!)
Client 200
mySA.-om Systems -ontain 'i**erent ty,es o* 'ata.
Some 'ata -an only be a--esse' *rom one -lient0 su-. as business a,,li-ation 'ata @'o-uments0
material masters0 an' so onA0 an' most &ustomi<in7 settin7s. &ustomi<in7 is use' to 'e*ine a
-ustomerUs or7ani<ational stru-tures0 su-. as 'istribution -.annels0 -om,any -o'es0 an' so on0 an' to
set -ustomer%s,e-i*i- ,arameters *or SA transa-tions.
".e -lient%s,e-i*i- 'ata is -losely relate'. At in,ut0 a,,li-ation 'ata is -.e-(e' a7ainst t.e
&ustomi<in7 settin7s in t.e -lient. 1* in-onsisten-ies are *oun'0 t.e in,ut is reHe-te'. ".is is +.y
a,,li-ation 'ata usually ma(es sense only in its o+n &ustomi<in7 environment.
1n a''ition to t.e -lient%s,e-i*i- &ustomi<in7 settin7s0 t.ere are ot.er settin7s t.at are set on-e an'
are a-tive *or all -lients. ".ese -ross%-lient &ustomi<in7 settin7s in-lu'e ,rinter settin7s0 *or
e:am,le.
".e Re,ository is also -lient%in'e,en'ent. 1t -ontains all A8A Di-tionary obHe-ts @tables0 'ata
elements0 an' 'omainsA as +ell as all A8A ,ro7rams0 menus0 s-reens0 an' so on.
8e-ause t.ey are -ross%-lient0 Re,ository obHe-ts 'evelo,e' in one -lient are t.e same in all ot.er
-lients in t.e same system.
SA A! "A#$0 4%3
SAP AG 3<<<
CustomiEin"
A$AP 8oadma
CustomiEin"
& & &
&
CustomiEin"
CoCd& Coman! name
View View !"ange !"ange !o#pany !o#pany !ode !ode
7ew entries
CustomiEin"
1n a''ition to t.e various 'ata ty,es in t.e SA R/3 System0 t.ere are also 'i**erent ty,es o* -.an7es
an' a'a,tations in t.e SA R/3 System0 an' in ot.er mySA.-om -om,onent systems.
As t.e SA R/3 System is stan'ar' so*t+are0 it must be a'a,te' to t.e in'ivi'ual nee's o* ea-.
-om,any t.at uses it. ".is tailorin7 ,ro-ess is -alle' &ustomi<in70 +.i-. in-lu'es t.e -lient%s,e-i*i-
an' -ross%-lient 'ata s.o+n in t.e sli'e. A small amount o* &ustomi<in7 may also be reEuire' a*ter
an SA R/3 System u,7ra'e.
&ustomi<in7 is not 'evelo,e' an' teste' in t.e same -lient in +.i-. it +ill be in ,ro'u-tion. ".is
means t.at several -lients are reEuire' 'urin7 an SA R/3 im,lementation. &ustomi<in7 is e:e-ute'
an' teste' in one -lient. 1n a lar7e installation0 it may ma(e sense to -ombine an' test &ustomi<in7
sub,roHe-ts in anot.er -lient. ro'u-tion o--urs in its o+n -lient.
SA A! "A#$0 4%4
SAP AG 3<<<
Chan"es to 8eositor! 0b1ects
Customer ,e'eloment /+tension 6odi)ications
& & &
P8,
GA$
$AP (amesace Customer (amesace
8eositor!
,/H
1n -ontrast to &ustomi<in70 t.e Re,ository 'oes not ne-essarily nee' to be -.an7e' or en.an-e' *or a
mySA.-om System im,lementation)
&ustomers -an a'' t.eir o+n 'evelo,ments to t.e Re,ository.
1n a''ition0 -ustomers -an a'' +.at are -alle' -ustomer en.an-ements0 +.i-. are -ustomer
obHe-ts a''e' to e:istin7 obHe-ts in t.e SA stan'ar' system. &ustomers a'' t.eir en.an-ements
usin7 &ustomer 4:its.
Mo'i*i-ations -.an7e SA obHe-ts0 su-. as re,orts an' table 'e*initions. ".e Re,ository
'elivere' *rom SA is not only en.an-e'0 but -.an7e' as +ell. ".is is +.y t.e mo'i*i-ations
may nee' to be a'Huste' to a ne+ Re,ository installe' 'urin7 t.e ne:t SA R/3 u,7ra'e. ".is
a'Hustment may ta(e some time.
As Re,ository obHe-ts are -ross%-lient0 it is not ,ossible to use a 'evelo,ment system as a ,ro'u-tion
environment. ".e 'an7er o* -reatin7 'ata in-onsisten-ies +oul' be too 7reat.
".ere*ore0 i* -.an7es are to be ma'e to t.e Re,ository0 +e re-ommen' t+o0 even better0 t.ree
systems. ".e t.ir' SA R/3 System -an be use' *or testin7 an' Euality assuran-e.
All -ustomer 'evelo,ments ta(e ,la-e in t.e -ustomer names,a-e. ".is means t.at all obHe-ts
-reate' by -ustomers .ave names +it.in a -ertain names,a-e0 *or e:am,le be7innin7 +it. F or V *or
A8A ,ro7rams.
SA A! "A#$0 4%5
SAP AG 2003
Technical $tructure o) an $AP $!stem (2)
,ata $tructure
,ata $tructure
$!stem Fernel
$!stem Fernel $!stem Fernel
SA A! "A#$0 4%6
SAP AG 3<<<
$creen
Processor
The $!stem Fernel
$perating Syste# and %ardware Platfor#
ABAP
,ictionar!
Pro"rammin" Inter)aces
Applications
C
o
m
m
u
n
i
c
a
t
i
o
n
I
n
t
e
r
)
a
c
e
C
o
m
m
u
n
i
c
a
t
i
o
n
I
n
t
e
r
)
a
c
e
5
s
e
r
I
n
t
e
r
)
a
c
e
5
s
e
r
I
n
t
e
r
)
a
c
e
8untime /n'ironment 8untime /n'ironment
ABAP
Interreter
".is unit intro'u-es t.e -entral ,ro-esses o* mySA.-om 8asis "e-.nolo7y. ".is in-lu'es an
e:,lanation o* .o+ a user reEuest is sent to an' ,ro-esse' by t.e a,,li-ation layer0 an' +.i-.
,ro-ess ty,es are involve' in ,ro-essin7 t.e reEuest. Data entere' by t.e user is sent t.rou7. t.e user
inter*a-e @t.e SA !91A to t.e 'is,at-.er0 +.i-. -oor'inates *urt.er ,ro-essin7. ".e +or( ,ro-esses
use t.e same sour-e -o'e as t.e 'is,at-.er an' +.ose substru-tures su-. as t.e S-reen 1nter,reter
an' t.e A8A 1nter,reter are ,resente' .ere. Anot.er to,i- is 'ata e:-.an7e +it. t.e 'atabase.
SA A! "A#$0 4%B
SAP AG 3<<<
Processin" 5ser 8e.uests
Presentation
Alication
,atabase
Communication
$AP %5I
,B ,B
,atabase Processes
,isatcher
Work
Process
Bu))er
$AP %5I $AP %5I $AP %5I
Work
Process
Work
Process
".e 'is,at-.er is t.e -entral ,ro-ess o* t.e a,,li-ation server. ".e 'is,at-.er mana7es0 in
asso-iation +it. t.e o,eratin7 system0 t.e resour-es *or t.e a,,li-ations +ritten in A8A. ".e main
tas(s o* t.e 'is,at-.er in-lu'e 'istributin7 transa-tion loa' to t.e +or( ,ro-esses0 -onne-tin7 to t.e
,resentation level0 an' or7ani<in7 -ommuni-ation.
9ser in,ut is re-eive' by t.e SA ,resentation ,ro7ram SA!910 -onverte' into its o+n *ormat an'
t.en sent to t.e 'is,at-.er. ".e ,ro-essin7 reEuests are t.en save' by t.e 'is,at-.er in reEuest
Eueues an' ,ro-esse' a--or'in7 to a first in-first-out ,rin-i,le.
".e 'is,at-.er 'istributes t.e reEuests one a*ter t.e ot.er to available +or( ,ro-esses. Data is
a-tually ,ro-esse' in t.e +or( ,ro-ess0 alt.ou7. t.e user0 +.o -reates t.e reEuest usin7 t.e SA
!910 is not al+ays assi7ne' t.e same +or( ,ro-ess. ".ere is no *i:e' assi7nment o* +or( ,ro-esses
to users.
3n-e t.e 'ata .as been ,ro-esse'0 t.e ,ro-essin7 result *rom t.e +or( ,ro-ess is sent via t.e
'is,at-.er ba-( to t.e SA !91. ".e SA !91 inter,rets t.e re-eive' 'ata an' 7enerates t.e out,ut
s-reen *or t.e user +it. t.e .el, o* t.e o,eratin7 system on t.e *ront en' -om,uter.
Durin7 initiali<ation o* t.e mySA.-om -om,onent system0 t.e 'is,at-.er e:e-utes t.e *ollo+in7
a-tions amon7 ot.ers) 1t rea's t.e system ,ro*ile ,arameters0 starts +or( ,ro-esses0 an' lo7s on to
t.e messa7e server @t.is servi-e +ill be e:,laine' laterA.
SA A! "A#$0 4%C
SAP AG 3<<<
$AP %5I T!es
$AP %5I )or Windo*sI
$AP %5I )or Ja'aK
$AP %5I )or 9T67
Windo*s #2 Bit
Ja'a Alication
Bro*ser4Based
".e ,resentation inter*a-e SA4/5 @!91 W 4raphical /ser 5nter#aceA im,lements t.e ,lat*orm%
s,e-i*i- in,ut an' out,ut *un-tions o* an SA business a,,li-ation. ".e SA !91 is ,rimarily base'
on t.e #in'o+s Style !ui'e an' is available *or several ,lat*orms ,rovi'in7 t.e same *un-tions *or
ea-.. 1* you .ave learne' to use t.e SA !91 on one ,lat*orm0 +it. t.e e:-e,tion o* a *e+ small
,lat*orm%s,e-i*i- !91 attributes0 you -an use t.e system on anot.er ,lat*orm e:a-tly t.e same as
be*ore.
".e ,resentation so*t+are im,lements t.e 7ra,.i-al user inter*a-e usin7 t.e *un-tions ,rovi'e' by
t.e relevant ,resentation environment.
As o* SA R/3 Release 4.68 you .ave a -.oi-e bet+een t.e S-lassi-T SA !91 an' a number o*
alternative a--ess ,ossibilities)
SAP !&+ for H%0L
SAP !&+ for 1ava2
SA A! "A#$0 4%9
SAP AG 3<<<
Presentation 7a!er
Presentation
Alication
$AP %5I
Process
Terminal
$er'er
Terminal Client
7A( / WA(
(et*ork
$AP %5I
Process
Windo*s PC
Ja'a
/n'ironment
Workstation/PC
,isatcher
$AP %5I
Windo*s PC and
Bro*ser )or
$AP %5I )or 9T67
".e 'ata *lo+ bet+een t.e ,resentation level an' t.e a,,li-ation level +.en usin7 t.e SA !91 *or
#in'o+s -onsists not o* ,re,are' ima7es0 but o* -om,a-t0 lo7i-al in*ormation about -ontrol
elements an' user entries @D1A! roto-olA. ".e amount o* 'ata t.at must be trans*erre' *or ea-.
s-reen -.an7e +.en usin7 t.e SA !91 *or #in'o+s is ty,i-ally several (8. Fou -an also -onne-t
a,,li-ation servers over #i'e Area 2et+or(s @#A2sA. =or more in*ormation0 see SA 2ote
$6$053.
An 1nternet "ransa-tion Server is use' *or t.e SA !91 *or >"M6 to turn t.e SA !91 'ata *lo+
*rom t.e 'is,at-.er into >"M60 an' -onversely. 1n t.is -ase0 an >"M6 'ata *lo+ is e:-.an7e'
bet+een t.e #!ate o* t.e 1"S @see t.e (ommunications and +ntegrations %ec*nology unitA an' t.e
=ronten'. ".e ,rimary a'vanta7e o* t.e SA !91 *or >"M6 is t.e lo+ installation -ost *or t.e
=ronten'I all you nee' is a bro+ser.
SA !91 *or ?ava re-eives t.e Stan'ar' D1A! roto-ol @*rom t.e 'is,at-.erA an' ,la-es t.is on t.e
=ronten' in >"M6 or0 i* in use by ?ava lu7%1ns0 in a 7ra,.i-al *ormat0 +.i-. -an0 *or e:am,le0 be
'is,laye' in a bro+ser. 1n t.is -ase t.e installation -osts *or t.e =ronten' are eEually minimal. =or
more in*ormation0 see SA 2ote $46505.
=or in*ormation about im,lementation o* t.e SA !91 on a #in'o+s "erminal &lient0 see SA
2ote $3CC69.
SA A! "A#$0 4%$0
SAP AG 3<<<
$AP Basis ,atabase 7a!er
(ati'e $G7
,B ,ata
Application Ser&er Database Ser&er
ABAP
Interreter
SELECT *
FROM ...
EXEC SQL.
SELECT ...
END EXEC.
,B ,ata
(ati'e $G7
0P/( $G7
,ata
,B
Inter)ace
7ocal
Bu))er
,ata
,atabase
(ati'e $G7
Relational Database Mana7ement Systems @RD8MSA are 7enerally use' to mana7e lar7e sets o*
'ata. An RD8MS saves 'ata an' relations.i,s bet+een 'ata in t.e *orm o* t+o%'imensional tables.
".ese are (no+n *or t.eir lo7i-al sim,li-ity. ".e 'ata0 tables0 an' table relations.i,s are 'e*ine' in
t.e 'atabase -atalo7 @t.e 'ata 'i-tionaryA o* t.e 'atabase system.
#it.in t.e A8A ,ro7rammin7 lan7ua7e0 you -an use SA 6!- S78 to a--ess 'ata in t.e
'atabase re7ar'less o* your 'atabase mana7ement system. ".e mySA.-om 'atabase inter*a-e
-onverts 3,en SQ6 statements *rom A8A statements into -orres,on'in7 'atabase statements. ".is
means t.at t.e a,,li-ation ,ro7rams t.at are +ritten in A8A 'o not 'e,en' on t.e 'atabase use'.
=urt.ermore0 2ative SQ6 -omman's -an be use' 'ire-tly in A8A.
#.en inter,retin7 3,en SQ6 statements0 t.e SA 'atabase inter*a-e -.e-(s t.e synta: o* t.ese
statements an' ensures t.e o,timal utili<ation o* t.e lo-al SA bu**ers in t.e s.are' memory o* t.e
a,,li-ation server. Data t.at is *reEuently reEuire' by t.e a,,li-ations is store' in t.ese bu**ers so
t.at t.e system 'oes not .ave to a--ess t.e 'atabase to rea' t.is 'ata. 1n ,arti-ular0 all te-.ni-al 'ata0
su-. as A8A ,ro7rams0 s-reens0 an' A8A Di-tionary in*ormation0 as +ell as a number o*
business a'ministration ,arameters0 usually remain un-.an7e' in a runnin7 system an' are t.ere*ore
i'eally suite' to bu**erin7. ".e same is true o* business a,,li-ation 'ata0 +.i-. is almost e:-lusively
a--esse' as rea'%only an' -an t.ere*ore be bu**ere'.
SA A! "A#$0 4%$$
SAP AG 3<<<
m!$AP&com Processes
H2
,ialo"
,
$AP ,isatcher
$ool
$
Back"round
12
L
?
#
33 3
9 >
B @
2 30
B
5date
H1
7ock Administration
/
%ate*a! $er'er
8/2
8/#
6essa"e $er'er
,is&
,is&
,is&
,is&
6$ 6$
%W %W
".e o,eratin7 system vie+s t.e SA runtime system as a 7rou, o* ,arallel0 -oo,eratin7 ,ro-esses.
3n ea-. a,,li-ation server t.ese ,ro-esses in-lu'e t.e 'is,at-.er as +ell as +or( ,ro-essesI t.e
number o* +or( ,ro-esses 'e,en's on t.e available resour-es. S,e-ial +or( ,ro-esses may be
installe' *or 'ialo7 ,ro-essin70 u,'ate0 ba-(7roun' ,ro-essin7 an' s,oolin7.
1n a''ition to t.ese +or( ,ro-ess ty,es @'ialo7 ,ro-essin7 @DA0 u,'ate @;) *or t.e !erman
L;erbu-.un7LA0 lo-( mana7ement @4A0 ba-(7roun' ,ro-essin7 @8A0 s,ool @SA0 t.e runtime system
,rovi'es t+o a''itional servi-es *or internal an' e:ternal -ommuni-ation @belo+ are t.e restri-tions
on t.e number o* +or( ,ro-essesA)
".e messa7e server @MS or MA -ommuni-ates bet+een t.e 'istribute' 'is,at-.ers +it.in a
mySA.-om System an' is t.ere*ore t.e ,rereEuisite *or s-alability usin7 several ,arallel%
,ro-essin7 a,,li-ation servers.
".e 7ate+ay server @!# or !A allo+s -ommuni-ation bet+een mySA.-om -om,onents su-. as
SA R/3 an' SA R/2 an' e:ternal a,,li-ation systems. ".ere is only one 7ate+ay ,ro-ess *or
ea-. 'is,at-.er ,ro-ess.
Dialo7) 4very 'is,at-.er reEuires at least t+o 'ialo7 +or( ,ro-esses
S,ool) At least one *or ea-. mySA.-om System @more t.an one allo+e' *or ea-. 'is,at-.erA
9,'ate) At least one *or ea-. mySA.-om System @more t.an one allo+e' *or ea-. 'is,at-.erA
8a-(7roun' ,ro-essin7) At least t+o *or ea-. mySA.-om System @more t.an one allo+e' *or
ea-. 'is,at-.erA
4nEueue) 3nly one enEueue +or( ,ro-ess is nee'e' *or ea-. system
SA A! "A#$0 4%$2
SAP AG 3<<<
The Instance Concet
4+;P
4ispatc'er
Instance (a) Instance (b)
=Central= Instance (c)
4ispatc'er
& & &
4+;P 4+;P
& & &
& & &
6$ 6$
4ispatc'er
4+;P B+;P
,+;P E+;P B+;P S+;P
An instan-e is an a'ministrative unit t.at -ombines mySA.-om system -om,onents ,rovi'in7 one
or more servi-es. ".e servi-es o**ere' by an instan-e are starte' or sto,,e' to7et.er. Fou use a
-ommon instan-e ,ro*ile to set ,arameters *or all o* t.e -om,onents o* an instan-e.
A -entral mySA.-om System -onsists o* a sin7le instan-e t.at ,rovi'es all o* t.e ne-essary
servi-es.
4a-. instan-e .as its o+n SA bu**er areas.
".e e:am,le illustrates .o+ a ba-(7roun' ,ro-essin7 server @aA an' 'ialo7 server @bA are set u,.
".ese instan-es0 +.i-. ,rovi'e s,e-i*i- servi-es0 7enerally run on se,arate servers0 but -an also run
on t.e same server0 i* nee'e'.
".e messa7e server ,rovi'es t.e a,,li-ation servers +it. a -entral messa7e servi-e *or internal
-ommuni-ation @*or e:am,le) tri77er u,'ate0 reEuest an' remove lo-(s0 or tri77er ba-(7roun'
reEuestsA.
".e 'is,at-.ers *or t.e in'ivi'ual a,,li-ation servers -ommuni-ate t.rou7. t.e messa7e server t.at
is installe' on-e in ea-. mySA.-om System @it is -on*i7ure' in t.e system ,ro*ile *ilesA.
resentation servers -an also lo7 on to an a,,li-ation server t.rou7. t.e messa7e server. ".is means
t.at you -an use t.e messa7e server ,er*orman-e 'atabase *or automati- loa' 'istribution @lo7on loa'
balan-in7A.
SA A! "A#$0 4%$3
SAP AG 3<<<
The ,ialo" Work Process
$hared 6emor!
8e.uest
Gueues
Frontend3 $AP %5I
,isatcher
Factor! Calendar
$creens
ABAP Pro"rams
Tables
,ictionar! 0b1ects&&&
Alication Bu))er
8oll File
5ser Conte+t
8oll Area
$creen
Processor
ABAP
Processor
,atabase
Inter)ace
Task
9andler
I
n
t
e
r
n
a
l
6
e
m
o
r
!
8oll In 8ollout
Bu))er Access
Work Process n
&&&
Work
Process 1
7A( / WA(
(et*ork
".e *ollo+in7 -om,onents on t.e a,,li-ation level are involve' in ,ro-essin7 a 'ialo7 reEuest)
".e 'is,at-.er as -entral -ontrol ,ro-ess
#or( ,ro-ess Eueues @a'ministere' by t.e 'is,at-.erA *or in-omin7 reEuests.
3ne o* t.e 'iao7 +or( ,ro-esses
8u**ers in s.are' memory an' also ,ossibly t.e roll *ile
".e tas' han"ler -oor'inates a-tivity +it.in a 'ialo7 +or( ,ro-ess. 1t a-tivates t.e s-reen ,ro-essor
or t.e t.e A8A ,ro-essor @+.i-. -ontrol t.e s-reen *lo+ lo7i- an' ,ro-ess A8A statements0
res,e-tivelyA an' e:e-utes t.e roll%in an' roll%out o* t.e user -onte:t.
".e memory mana7ement system 'i**erentiates bet+een main memory areas t.at are available
e:-lusively to a +or( ,ro-ess0 an' memory areas t.at -an be use' by all +or( ,ro-esses. ".e
memory s,a-e use' e:-lusively by a +or( ,ro-ess stores session%s,e-i*i- 'ata t.at must be (e,t
lon7er t.an t.e 'uration o* a +or( ste,. ".is 'ata is automati-ally ma'e available to t.e ,ro-ess at
t.e start o* a 'ialo7 ste, @rolle'%inA an' save' at t.e en' o* t.e 'ialo7 ste, @rolle'%outA. ".is 'ata
-.ara-teri<es users @user -onte:tA0 su-. as t.eir aut.ori<ations0 a'ministration in*ormation an'
a''itional 'ata *or t.e A8A an' 'ialo7 ,ro-essor. 1t also -ontains 'ata -olle-te' by t.e system in
t.e ,re-e'in7 'ialo7 ste,s in t.e runnin7 transa-tion @see sli'e 3or- Process 0ultiplexing and SAP
%ransactionsA.
".ere are also a''itional memory areas *or all ,ro-esses in t.e s.are' memory *or t.e *a-tory
-alen'ar0 s-reen0 table0 ,ro7ram0 an' ot.er bu**ers.
SA A! "A#$0 4%$4
SAP AG 3<<<
7on"48unnin" ABAP Pro"rams
4+;P 4+;P 4+;P 4+;P 4+;P 4+;P 4+;P 4+;P
12
L
?
#
33 3
9 >
B @
2 30
12
L
?
#
33 3
9 >
B @
2 30
12
L
?
#
33 3
9 >
B @
2 30
12
L
?
#
33 3
9 >
B @
2 30
12
L
?
#
33 3
9 >
B @
2 30
12
L
?
#
33 3
9 >
B @
2 30
12
L
?
#
33 3
9 >
B @
2 30
,ialo" Work Processes )or ,ialo" Transactions
T*o 5sers Are Blockin" $e'en ,ialo" Work Processes *ith
7on"48unnin" Transactions
4ispatc'er
Dialo7 +or( ,ro-esses s.oul' not be loa'e' 'o+n +it. lon7%runnin7 'ialo7 ste,s0 as t.ese +or(
,ro-esses +oul' t.en not be available to ot.er users. ".e remainin7 'ialo7 +or( ,ro-esses +oul'
.ave to .an'le many more users0 t.us -onsi'erably in-reasin7 res,onse times.
".is is t.e reason *or t.e ,arameter r'is,/ma:O+,runOtime @'e*ault settin7) 300 se-on'sA0 +.i-.
sets t.e ma:imum time a 'ialo7 ste, is allo+e' to remain in a 'ialo7 +or( ,ro-ess. 1* t.is time is
e:-ee'e' by more t.an 'ouble0 t.e 'ialo7 ste, is terminate' an' t.e starte' transa-tion terminates
+it. an error. ".is allo+s t.e a'ministrator to ensure t.at users e:e-ute lon7%runnin7 a-tions only in
t.e ba-(7roun' +or( ,ro-esses0 +.i-. are 'esi7ne' *or t.ese ty,es o* lon7%runnin7 a-tions.
SA A! "A#$0 4%$5
SAP AG 3<<<
12
L
?
#
33 3
9 >
B @
2 30
Job
Back"round Processin"
,B
,B
1 1
@ @
2 2
,ialo" $er'er
& & &
4+;P
Back"round Processin" $er'er
& & &
MMM ++++
MMM ++++ ++++ +++ +++ ++
555 uuuu uuuu uuu uuu uu
55 uuuu uuu u
Sc"eduling Table Sc"eduling Table
Job1 Job1 C C &&& &&& &&& &&&
Back"round $cheduler
(e'er! ?0 s)
4ispatc'er 4ispatc'er
4+;P
B+;P B+;P B+;P
# #
8a-(7roun' +or( ,ro-esses are use' *or 'ialo7%*ree e:e-ution o* ,ro7rams. ".ey are use'0 *or
e:am,le0 *or ,erio'i- tas(s su-. as reor7ani<ation or t.e automati- trans*er o* 'ata *rom an e:ternal
system to a mySA.-om -om,onent system.
8a-(7roun' ,ro-essin7 is s-.e'ule' in t.e *orm o* Hobs. 4a-. Hob -onsists o* one or more ste,s
@A8A re,orts0 e:ternal ,ro7rams or ot.er o,eratin7 system -allsA t.at are ,ro-esse' seEuentially.
Fou -an also set ,riorities @*rom L&L to LALA so t.at -ertain Hobs are ,rioriti<e'.
?ob ,ro-essin7 is not 7enerally tri77ere' imme'iately @imme'iate startA. 1nstea' you s,e-i*y a start
'ate an' time +.en you s-.e'ule t.e Hob. 1t may also be ne-essary to start Hobs ,erio'i-ally0 *or
e:am,le0 system -ontrol Hobs re,eate' on a *i:e' -y-le. Fou -an tri77er a Hob start at t.e o,eratin7
system level usin7 t.e SA4;" ,ro7ram.
".e ba-(7roun' s-.e'uler is res,onsible *or automati-ally tri77erin7 t.e Hob at t.e s,e-i*ie' time.
".e ba-(7roun' s-.e'uler is an A8A ,ro7ram t.at re7ularly loo(s in t.e s-.e'ulin7 table *or Hobs
to be e:e-ute' an' t.en ensures t.at t.ey are e:e-ute' @RD1S/8"&"1M40 'e*ault 60 sA.
SA A! "A#$0 4%$6
SAP AG 3<<<
Printin" in m!$AP&com $!stems
Printer ser'er
7A(/WA(
$ool $er'er
& & &
0eratin" $!stem
$ool
Tem$e Tem$e
,atabase/File $!stem
1B &&&
@1 @2
@# &&&&
0, 0A
1B &&&
@1 @2
@# &&&&
0, 0A
0eratin"
$!stem
$ool
Tri""erin" o) rint rocess2
)or e+amle )rom $AP %5I3 Printin" a 7ist
ABC
MCF
4ispatc'er
ABC
MCF
$ool
8e.uest
0utut
8e.uest
S+;P
4+;P
S,oolin7 re*ers to t.e bu**ere' trans*er o* 'ata to out,ut 'evi-es su-. as ,rinters0 *a: 'evi-es an' so
on. 1n 'istribute' systems0 net+or(e' a'ministration is ne-essary *or t.is out,ut.
".e s,ool me-.anism in mySA.-om Systems -an su,,ly out,ut reEuests to ,rinters an' e:ternal
s,oolers bot. +it.in a lo-al net+or( as +ell as over #A2s. ".e s,ool me-.anism +or(s +it. t.e
lo-al s,ool system on ea-. server.
S,ool reEuests are 7enerate' in 'ialo7 mo'e or 'urin7 ba-(7roun' ,ro-essin7 an' are t.en set in t.e
s,ool 'atabase +it. 'etails about t.e out,ut 'evi-e an' t.e ,rint *ormat. ".e 'ata itsel* is store' in
t.e "4M,orary SeEuential@"emSeA obHe-t 'atabase.
#.en 'ata is to be ,rinte'0 an out,ut reEuest is 7enerate' *or a s,ool reEuest. ".is out,ut reEuest is
,ro-esse' by a s,ool +or( ,ro-ess.
3n-e t.e s,ool +or( ,ro-ess .as *ormatte' t.e 'ata *or out,ut0 it returns t.e out,ut reEuest to t.e
o,eratin7 system s,ool system.
".e o,eratin7 system s,ooler ta(es over t.e Eueue mana7ement an' ensures t.at t.e reEuire' 'ata is
,asse' on to t.e out,ut 'evi-e.
SA A! "A#$0 4%$B
SAP AG 3<<<
7ock Administration in m!$AP&com $!stems
,B ,B
55 uuuu uuu u
MMM ++++ ++++ +++ +++ ++
555 uuuu uuuu uuu uuu uu
Chan"e Access At 6ost 8ead Access
4+;P E+;P B+;P 4+;P
".e lo-( me-.anisms ,resent in t.e -urrent relational 'atabase systems are not 7enerally su**i-ient
to .an'le business 'ata obHe-ts @su-. as sales or'ersA t.at may a**e-t several tables in t.e 'atabase.
"o -oor'inate several a,,li-ations simultaneously a--essin7 t.e same business obHe-t0 t.e
mySA.-om System ,rovi'es its o+n lo-( mana7ement0 -ontrolle' by t.e enEueue +or( ,ro-ess.
1n or'er *or t.e system to e:e-ute lo-( reEuests0 you must *irst 'e*ine a lo-( obHe-t in t.e A8A
Di-tionary. ".e lo-( obHe-t -ontains tables +.ose entries are to be lo-(e'. Fou -an also .ave
a''itional se-on'ary tables usin7 *orei7n (ey relations.i,s @t.e name o* a user%'e*ine' lo-( obHe-t
must be7in +it. L4FL or L4VLA.
Fou -an s,e-i*y t.e lo-( mo'e @LSL) s.are' lo-( or L4L) e:-lusive lo-(A *or a lo-( obHe-t. An
e:-lusive lo-( @mo'e L4LA -an only be set i* no ot.er user .as set a lo-( @L4L or LSLA on t.e 'ata
re-or'. ".e same user -an reEuest a''itional L4L or LSL lo-(s +it.in a transa-tion.
1* a lo-( obHe-t is a-tivate'0 t.e system 7enerates an 42Q9494 an' a D4Q9494 *un-tion mo'ule.
".ese *un-tion mo'ules .ave t.e names 42Q9494OXobHe-tOnameJ an'
D4Q9494OXobHe-tOnameJ0 an' are use' in A8A -o'in7 to lo-( an' unlo-( 'ata.
SA A! "A#$0 4%$C
SAP AG 3<<<
8e.uestin" a 7ock )rom the /n.ueue WP
!all function
'E()*E*E+E,,,'
/n.ueue $er'er
& & &
& & &
,ialo" $er'er
7ock table in
main memor!
& & &
6$ 6$
4+;P
4ispatc'er
4ispatc'er
E+;P
#.en a lo-( is reEueste'0 t.e system -.e-(s to 'etermine +.et.er t.e reEueste' lo-( -on*li-ts +it.
any entries in t.e lo-( table. 1* t.ere are -on*li-ts0 t.e lo-( reEuest is reHe-te'. ".e a,,li-ation
,ro7ram -an t.en in*orm t.e user t.at t.e reEueste' o,eration -annot -urrently be e:e-ute'.
".e lo-(s @enEueuesA are a'ministere' by t.e enEueue +or( ,ro-ess usin7 t.e lo-( table. ".e lo-(
table is store' in t.e main memory o* t.e server +.ere t.e enEueue +or( ,ro-ess is runnin7. 1n t.e
e:am,le s.o+n above0 t.e 'ialo7 +or( ,ro-ess an' t.e enEueue +or( ,ro-esses are not lo-ate' on
t.e same a,,li-ation server0 t.ey -ommuni-ate t.rou7. t.e messa7e server.
6o-(s set by an a,,li-ation ,ro7ram are eit.er reset by t.e a,,li-ation ,ro7ram itsel*0 or usin7 a
s,e-ial u,'ate ,ro7ram @se-on' ,art o* t.e SA 6o7i-al 9nit o* #or(A. 6o-(s0 +.i-. are in.erite'
in t.is +ay by an u,'ate +or( ,ro-ess0 are also +ritten to a *ile at o,eratin7 system level. 1n
transa-tion SM$20 t.e lo-(s .el' by t.e u,'ate ,ro7ram are -olore' blue0 +.ile t.e lo-(s .el' in t.e
'ialo7 +or( ,ro-ess are -olore' bla-(.
SA A! "A#$0 4%$9
SAP AG 3<<<
Work Process 6ultile+in" and $AP Transactions
4ialo0
;P 0
4ialo0
;P 3
4ialo0
;P 2
PB0
100
PAI
100
PB0
10B
PAI
110
PAI
10B
PB0
110
PB0 PAI
5ser Chooses3
$a'e / Cancel
Screen
,05
Screen
,00
Screen
,,0
PAI PB0 PB0 PAI
Screen
8usiness transa-tions are ,ro-essin7 units +it. relate' *un-tionsI t.ese transa-tions e:e-ute
-onsistent 'atabase -.an7es meanin7*ul *or t.e business. "y,i-al e:am,les are -re'it an' 'ebit
,ostin7s0 +.i-. only ma(e sense to7et.er0 or -reatin7 an or'er an' reservin7 t.e material -on-erne'.
A--or'in7ly0 an SA transa-tion is im,lemente' as a series o* -onsistent0 -onne-te' 'ialo7 ste,s. A
user 'ialo7 ste, is re,resente' by a s-reen @or a 'yn,ro0 +.i-. is a 'ynami- ,ro7ram W mas( an'
*lo+ lo7i-A.
SA transa-tions are not ne-essarily e:e-ute' +it.in one sin7le 'ialo7 +or( ,ro-ess. 1n *a-t0 t.e
in'ivi'ual 'ialo7 ste,s o* a transa-tion -an be ,ro-esse' by various 'ialo7 +or( ,ro-esses @+or(
,ro-ess multi,le:in70 +.i-. only e:ists *or 'ialo7 +or( ,ro-essesA. 9sin7 asyn-.ronous u,'ate0 t.e
'ialo7 ,art o* t.e transa-tion an' t.e asso-iate' 'atabase u,'ate -an also be run in 'i**erent +or(
,ro-ess ty,es or even on 'i**erent servers.
=rom t.e systemUs ,oint o* vie+0 a 'ialo7 ste, be7ins +it. t.e ,ro-essin7 o* a ,ie-e o* 'ata entere'
by t.e user @ro-ess a*ter 1n,ut @A1A an' t.e ,re,aration an' sen'in7 o* t.e ne:t s-reen tem,late
@ro-ess be*ore 3ut,ut @83AI a*ter t.is0 t.e s-reen t.at .as been *ille' out by t.e user is on-e a7ain
a--e,te'0 an' in turn t.e in,ut 'ata -ontaine' in t.e re-eive' s-reen is analy<e' an' ,ro-esse'.
System an' user 'ialo7 ste,s are ,ro-esse' alternately. ".e t+o ,arts o* t.e 'ialo7 ste, *rom t.e
systemUs ,oint o* vie+ are -alle' 83 an' A1.
SA A! "A#$0 4%20
SAP AG 2003
Technical $tructure o) an $AP $!stem3 $ummar!
;ou are no* able to
,escribe the data structure o) $AP s!stems
(ame 'arious t!es o) $AP %5I
8eresent the basic structure o) a m!$AP&com
s!stem
/+lain the relationshis bet*een the rocesses on
the di))erent client/ser'er la!ers in $AP $!stems ()or
e+amle2 8/#)
SA A! "A#$0 4%2$
SAP AG 2003
0r"aniEational units and master data
Transactions and documents
Work)lo*
Contents3
Cross4$!stem Concets
SA A! "A#$0 5%$
SAP AG 2003
/nterrise $tructure3 Terminolo"!
Coman!
$ubsidiar!
Factor!
Warehouses
/nterrise
Client
Coman!
Code
Plant
$tora"e
7ocations
$ales
0r"aniEation
,i'ision ,eartment ,i'ision
Business
Area
$ales
0r"aniEation
$AP
$AP
".e stru-ture o* an enter,rise is ma,,e' to SA a,,li-ations by or7ani<ational units. 3r7ani<ational
units summari<e s,e-i*i- -or,orate *un-tions.
3r7ani<ational units -an belon7 to a sin7le a,,li-ation @a sales or7ani<ation -an belon7 to Sales an'
Distribution0 *or e:am,leA or t.ey be assi7ne' to several a,,li-ations @a *a-tory -an be assi7ne' to
Materials Mana7ement an' ro'u-tion lannin70 *or e:am,leA.
SA A! "A#$0 5%2
SAP AG 2003
/nterrise $tructures3 Tiers
%erman!
5&$&A&
Client
Coman!
Code
Plant
$tora"e
7ocation
$AP
9ambur" 1000 ,resden 1200
Ides 9oldin"
Berlin 1100
000# 0002 0001
The client is the superior element o# all or.ani9ational units. A -lient -orres,on's to a 7rou, +it.
several subsi'iaries. All -om,any 'ata in an R/3 installation are 'i**erentiate' at least by -lient0 but
usually also by 'ee,er or7ani<ational stru-tures.
=le:ible or7ani<ational elements in t.e R/3 System mean you also .ave t.e o,tion o* ma,,in7
-om,le: enter,rise stru-tures. Many or7ani<ational units are use' to re,resent t.e le7al an'
or7ani<ational stru-ture o* an enter,rise *rom 'i**erent ,oints o* vie+.
".e various enter,rise areas are Hoine' by lin(in7 t.e or7ani<ational units to7et.er an' t.e stru-ture
o* t.e total enter,rise is re,resente' in t.e R/3 System.
SA A! "A#$0 5%3
SAP AG 2003
6aster ,ata3 Customer 6aster
Client
Coman!
Code
$ales Area
$tora"e
7ocation
Customer 6aster 8ecord
(ame
Address
7an"ua"e&&&
$ales/$hiin"
Billin" Parameter
Partner
Pa!ment Parameters
%/7 Account
,unnin"&
Financial Accountin" Financial Accountin"
,ata ,ata
$ales ,ata $ales ,ata
%eneral ,ata %eneral ,ata
Master 'ata are 'ata re-or's t.at remain in t.e 'atabase *or a lon7 ,erio' o* time. Master 'ata
in-lu'e -ustomers0 su,,liers0 materials0 a--ounts an' so on.
Master 'ata are -reate' -entrally @*or all a,,li-ationsA .
Master 'ata .ave an or7ani<ational as,e-t. ".ey are assi7ne' to or7ani<ational units. A -ustomer
master re-or' -an be assi7ne' to t.e *ollo+in7 or7ani<ational units) -om,any -o'e0 sales
or7ani<ation0 'istribution -.annel an' 'ivision.
Master 'ata -an be use' *or all mo'ules. =or e:am,le0 -ustomer master 'ata .ave -ommon 'ata *or
a--ountin7 an' sales.
SA A! "A#$0 5%4
SAP AG 2003
6aster ,ata3 6aterial 6aster
$ales
0r"aniEation
,istribution
Channel
Client
Plant
$tora"e
7ocation
6aterial 6aster 8ecord
,eli'erin" Plant
Control T!es
$ales 5nit
&&&
6aterial (umber
$hort Te+t2
Holume2 Wei"ht
Basic 5nit o) 6easure
&&&
Haluation
Forecast
Plannin" Parameters
Purchasin" Parameters
&&&
8e.uirements Plannin"
Parameters
In'entor! 6ana"ement
Ph!sical In'entor!
&&&
".e material master is t.e -entral sour-e *or a -om,any to 'is,lay material%s,e-i*i- 'ata. 1t is use'
by all -om,onents o* t.e SA lo7isti-s system.
".e 'ata in t.e material master -an be use' by all areas su-. as ,ur-.asin70 inventory mana7ement0
materials ,lannin70 invoi-e veri*i-ation an' so on.
SA A! "A#$0 5%5
SAP AG 2003
6aterial 6aster3 ,atabase Con'ersion
6A8A
6A8C
6AFT 6A86 6HF/ 67A(
67%(
6A8,
67%T
6/A( 6B/W
6AP8 6H/8
".e in'ivi'ual tables -ontain t.e *ollo+in7 'ata)
MARA !eneral 'ata
MAK" S.ort te:ts
MARM &onversion *a-tors
M;K4 Sales 'ata *or ea-. sales or7ani<ation
M6A2 Sales 'ata *or ea-. -ountry
M4A2 4A2 'ata
M84# ;aluation 'ata
MAR& Material 'ata *or ea-. ,lant
M6!2 Material 'ata *or ea-. 6;S +are.ouse
M6!" Material 'ata *or ea-. 6;S stora7e ty,e
MARD Material 'ata *or ea-. stora7e lo-ation
M;4R &onsum,tion 'ata
MAR =ore-ast 'ata @in'i-atorsA
SA A! "A#$0 5%6
SAP AG 2003
Transaction3 5sin" 6aster ,ata and
0r"aniEational 5nits
Customer3 1000
Item
10
20
6aterial
9,41#00
P410#
Guantit!
1
2
6aterial
6aster 8ecord
$ales ,ocument
Customer
6aster 8ecord
Coman!
Code
,i'ision
$ales
0r"aniEation
,istribution
Channel
#.en a -ustomer or'er is -reate'0 t.e trans,ort a7reements0 terms o* 'elivery an' ,ayment an' so on
a7ree' +it. t.e business ,artner must be -onsi'ere'. So t.at you 'onYt .ave to enter t.is in*ormation
*or ea-. a-tivity -onne-te' +it. t.e business ,artner0 t.e 'ata t.at are relevant *or t.e a-tivity are
-o,ie' *rom t.e business ,artnerYs material master.
".e in*ormation store' in t.e material master re-or' @,ri-e ,er unit o* measure0 sto-( ,er stora7e
lo-ation an' so onA are ,ro-esse' in t.e or'er entry. ".is ,rin-i,le a,,lies to ,ro-essin7 t.e 'ata
*rom any master re-or' involve' in t.e a-tivity.
".e relevant or7ani<ation units must be assi7ne' +.en a transa-tion is e:e-ute'. ".is ensures t.at
t.e assi7nments to t.e -om,any stru-ture are retaine' in t.e 'o-ument t.at is -reate'0 in a''ition to
t.e in*ormation store' *or t.e -ustomer an' t.e material.
A 'o-ument is -reate' *or ea-. transa-tion t.at is e:e-ute' in t.e R/3 System.
".e 'o-ument t.at is -reate' *rom a transa-tion im,li-itly -ontains all o* t.e 'e*ault *eatures *or t.e
master 'ata an' or7ani<ational units.
SA A! "A#$0 5%B
SAP AG 2003
6essa"e T!e
6essa"e t!e
Printer Tele)a+ /4mail /,I
0nline
(screen outut)
Immediatel!
(creatin" orders)
0n re.uest
(rintin" acti'it!)
With ne+t selection run
or at a seci)ied time
(schedulin")
-n&oice -n&oice -n&oice
6essa"es
#.enever you save a Euery0 an or'er0 an outline a7reement0 a inEuiry -on*irmation0 a 'elivery note
an' so on0 an out,ut *ormat is -reate' *rom t.e 'o-ument -on-erne'. ".is out,ut *ormat is a messa7e
@messa7e ty,eA. ".e messa7e is t.en ,la-e' in t.e messa7e Eueue0 *rom +.ere it -an be release' *or
,rintin70 out,ut via 4D1 an' so on as reEuire'. ".e messa7e is release' eit.er manually or
automati-ally usin7 a messa7e -ontrol ,ro7ram.
Fou -an use t.e various sen' me'ia to out,ut in'ivi'ual messa7es 'urin7 ,ro-essin70 ,rovi'e' t.at
t.e -orres,on'in7 messa7e ty,es an' sen' me'ia +ere assi7ne' in &ustomi<in7. =or ea-. 'o-ument
ty,e0 you -an 'e*ine +.en an' .o+ t.e messa7es are sent.
".e messa7e -ontrol -an be store' as a 'e*ault value in t.e business ,artnerYs master re-or'.
SA A! "A#$0 5%C
SAP AG 2003
$AP Business Work)lo*
Work)lo* comleted
,ecision ,ecision
,ecision
7ea'e )orm
created
$uer'isor
$uer'isor
7ea'e )orm
rocessed
,ates not
aro'ed
Form
chan"ed
Form
re1ected
,ates aro'ed
/mlo!ee
/mlo!ee
,ates aro'ed
".e SA 8usiness #or(*lo+ is a tool t.at you -an use to o,timi<e t.e *lo+ o* business transa-tions.
1t -an e:e-ute -onse-utive +or( ste,s automati-ally0 or -oor'inate t.e *lo+ o* in*ormation.
#or(*lo+s -ontrol ,ro-esses a--or'in7 to a ,re'e*ine' mo'el an' are ,arti-ularly suitable *or
or7ani<ations t.at are stru-ture' an' base' on t.e ,rin-i,le o* 'ivision o* labor.
#or(*lo+ brin7s t.e Lri7.tL +or( in t.e Lri7.tL seEuen-e to t.e Lri7.tL ,ersons at t.e Lri7.tL time.
".is -an be 'one usin7 an automate' mail or a +or(*lo+ item.
SA A! "A#$0 5%9
SAP AG 2003
$!stem4Wide Concets3 5nit $ummar!
;ou are no* able to
(ame the main elements in a business scenario
,escribe the link bet*een the main elements in a
business scenario
SA A! "A#$0 5%$0
SAP AG 2003
Comle+3 ABAP Workbench Fundamentals
SA A! "A#$0 6%$
SAP AG 2003
Course Content3 ABAP Workbench
Fundamentals (1)
#nit ABAP Pro"ram Process
#nit Introduction to the ABAP
Workbench
#nit Introduction to the ABAP
,ictionar!
#nit Basic ABAP 7an"ua"e
/lements
#nit ,ata 8etrie'al
#nit Pro"ram4internal
6odulariEation *ith
$ubroutines
#nit The ABAP 8untime
$!stem
#nit 5ser ,ialo" 7ist
SA A! "A#$0 6%2
SAP AG 2003
Course Contents3 ABAP Workbench
Fundamentals (2)
#nit 5ser ,ialo" $election
$creen
#nit 5ser ,ialo" $creen
#nit %lobal 6odulariEation
#nit Callin" Pro"rams and
Trans)errin" ,ata
Aendi+
SA A! "A#$0 6%3
SAP AG 2003
In this course2 !ou *ill de'elo se'eral
ro"rams desi"ned to assist tra'el a"encies&
$ome o) their t!ical needs include3
,eterminin" )li"ht connections on seci)ic dates
Processin" bookin"s )or seci)ic )li"hts
/'aluatin" additional )li"ht in)ormation2 such as
Price
Caacit!
,earture cit!
,earture airort
,estination airort
,estination cit!
6ain Business $cenario
SA A! "A#$0 6%4
SAP AG 2003
Imortant ,atabase Tables )or the Fli"ht ,ata
6odel
SCARR SCARR CARRID3
CARRNAME:
CURRCODE:
Airline I,
Airline name
7ocal currenc! o) airline
SPFLI SPFLI CARRID3
CONNID:
COUNTRYFR:
CITYFROM:
AIRPFROM:
COUNTRYTO:
CITYTO:
AIRPTO:
Airline I,
Fli"ht connection I,
Countr! ke! )or dearture cit!
,earture cit!
,earture airort
Countr! ke! )or arri'al cit!
,estination cit!
,estination airort
SFLIGHT SFLIGHT CARRID3
CONNID:
FLDATE:
PRICE:
CURRENCY:
SEATSMAX:
SEATSOCC:
Airline I,
Fli"ht connection I,
Fli"ht date
Price
Currenc!
6a+imum number o) seats on )li"ht
Current number o) occuied seats on )li"ht
Fou +ill re*er to t.is in*ormation as you 'o t.e e:er-ises t.rou7.out t.is -ourse.
SA A! "A#$0 6%5
SAP AG 2003
$!stem Architecture and ABAP Pro"ram
/+amle Pro"ram *ith $election $creen and 7ist
Contents3
ABAP Pro"ram Process
SA A! "A#$0 B%$
SAP AG 2003
,escribe the architecture o) the 8/# $!stem
,escribe ho* to e+ecute a simle dialo" ro"ram
usin" the ABAP runtime s!stem
At the conclusion o) this unit2 !ou *ill be able to3
Pro"ram Flo* o) an ABAP Pro"ram3 5nit
0b1ecti'es
SA A! "A#$0 B%2
SAP AG 2003
$!stem Architecture and ABAP Pro"ram
$!stem Architecture and ABAP Pro"ram
$!stem Architecture and ABAP Pro"ram
/+amle Pro"ram *ith $election $creen and 7ist
/+amle Pro"ram *ith $election $creen and 7ist
SA A! "A#$0 B%3
SAP AG 2003
Client/$er'er Architecture
Presentation
$er'er
7a!er
Alication
$er'er
7a!er
,atabase
,isatcher
Work
Process
$AP%5I $AP%5I $AP%5I $AP%5I $AP%5I $AP%5I
Work
Process
Work
Process
Work
Process
,isatcher
Work
Process
Work
Process
Work
Process
Work
Process
".e R/3 System .as a mo'ular so*t+are ar-.ite-ture t.at *ollo+s so#t*are)oriente" -lient/server
,rin-i,les.
".e R/3 System allo-ates t.e ,resentation0 a,,li-ation lo7i-0 an' 'ata stora7e to 'i**erent -om,uters.
".is serves as t.e basis *or t.e scala&ility o* t.e R/3 System.
".e lo+est level is t.e "ata&ase le+el. >ere 'ata is mana7e' +it. a relational 'atabase mana7ement
system @RD8MSA. 1n a''ition to a,,li-ation 'ata0 t.e 'atabase -ontains t.e ,ro7rams an' t.e
meta'ata t.at t.e R/3 System reEuires *or sel*%mana7ement.
A8A ,ro7rams @bot. t.e a,,li-ations ,rovi'e' by SA an' t.e ones you 'evelo, yoursel*A run at
t.e application ser+er le+el. ".e A8A ,ro7rams rea' 'ata *rom t.e 'atabase level0 ,ro-ess t.e
'ata0 an' ,ossibly store 'ata t.ere.
".e presentation ser+er le+el -ontains t.e user inter*a-e t.rou7. +.i-. ea-. user -an a--ess t.e
,ro7ram0 enter ne+ 'ata0 an' 'is,lay t.e results o* a +or( ,ro-ess.
".e te-.ni-al 'istribution o* so*t+are is in'e,en'ent o* its ,.ysi-al lo-ation on t.e .ar'+are. All
levels -an be installe' verti-ally @on to, o* ea-. ot.er on one -om,uterA or ea-. level -an be installe'
on a se,arate -om,uter. ".e ,resentation an' a,,li-ation servers -an be 'ivi'e' .ori<ontally amon7
any number o* -om,uters. ".e .ori<ontal 'istribution o* 'atabase -om,onents0 .o+ever0 'e,en's on
t.e ty,e o* 'atabase installe'.
SA A! "A#$0 B%4
SAP AG 2003
/+cert )or an ABAP Pro"ram
Presentation
$er'er
7a!er
Alication
$er'er
7a!er
,atabase
Work Process
ABAP Pro"ram
".is 7ra,.i- -an be sim,li*ie' *or most to,i-s 'is-usse' 'urin7 t.is -ourse. ".e intera-tion bet+een
a sin.le user an' a sin.le A8A ,ro7ram +ill be o* ,rimary interest to us 'urin7 t.is -ourse.
".e e:a-t ,ro-esses involve' in user 'is,at-.in7 on an a,,li-ation server are se-on'ary to
un'erstan'in7 .o+ to +rite an A8A ,ro7ram. ".ere*ore0 +e +ill +or( +it. a sim,li*ie' 7ra,.i-
t.at 'oes not e:,li-itly s.o+ t.e 'is,at-.er an' t.e +or( ,ro-ess. &ertain sli'es +ill0 .o+ever0
in-lu'e t.ese 'etails +.enever t.ey are relevant to A8A ,ro7rammin7.
A8A ,ro7rams are ,ro-esse' on t.e a,,li-ation server. ".e 'esi7n o* user "ialo.s an' "ata&ase
"ialo.s is0 t.ere*ore0 o* ,arti-ular im,ortan-e +.en +ritin7 a,,li-ation ,ro7rams.
SA A! "A#$0 B%5
SAP AG 2003
Black Black Bo+ Bo+
Hie* )or the 5ser
Presentation
$er'er
7a!er
Alication
$er'er
7a!er
,atabase
$election $creen 7ist $creen
Most users are only intereste' in .o+ a business transa-tion *lo+s an' .o+ to enter 'ata into an'
'is,lay 'ata *rom a transa-tion. ".e te-.ni-al as,e-ts o* ,ro7rammin7 are less interestin7. ".e user
'oes not nee' to (no+ t.e ,re-ise *lo+ o* t.e A8A ,ro7ram on t.e a,,li-ation server. "o t.e
avera7e user0 t.e SA system is li(e a Lbla-( bo:.L
"e-.ni-ally s,ea(in70 t.ere are t.ree 'i**erent ty,es o* s-reens) 'ynami- s-reens or 'yn,ros0
sele-tion s-reens0 an' lists. 4a-. ty,e o* s-reen ,rovi'es 'i**erent servi-es. ".e 'evelo,erUs tas( is to
sele-t *or ea-. user 'ialo7 e:a-tly t.ose ty,es t.at are most suitable *or t.e a--om,lis.ment o* t.e
tas(s -on-erne'. =or t.is reason0 'evelo,ers s.oul' .ave ,re-ise (no+le'7e o* t.e te-.ni-al as,e-ts.
SA A! "A#$0 B%6
SAP AG 2003
Interaction Bet*een $er'er 7a!ers
Pro"ram
$tart
ABAP 8untime $!stem
ABAP Pro"ram
ABAP
Processin"
Block
ABAP
Processin"
Block
,atabase
Table
Time
3n-e t.e user ,er*orms a user a-tion @sele-tin7 Enter# a *un-tion (ey0 a menu *un-tion or a
,us.button0 *or e:am,leA0 -ontrol is ,asse' *rom t.e ,resentation server to t.e a,,li-ation server.
3nly -ertain ,arts o* t.e A8A ,ro7ram are ,ro-esse'.
1* a *urt.er user 'ialo7 is tri77ere' *rom +it.in t.e A8A ,ro7ram0 t.e system transmits t.e s-reen
an' ,asses -ontrol on-e a7ain to t.e ,resentation server.
SA A! "A#$0 B%B
SAP AG 2003
/+amle Pro"ram *ith $election $creen and 7ist
$!stem Architecture and ABAP Pro"ram
$!stem Architecture and ABAP Pro"ram
/+amle Pro"ram *ith $election $creen and 7ist
/+amle Pro"ram *ith $election $creen and 7ist
SA A! "A#$0 B%C
SAP AG 2003
Time
Pro"ram
$tart
Pro"ram $tart
,atabase
Table
8eositor!
#.enever a user lo7s on to t.e system0 a s-reen is 'is,laye'. =rom t.is s-reen0 t.e user -an start an
A8A ,ro7ram via a menu ,at. or by enterin7 a transa-tion -o'e.
SA A! "A#$0 B%9
SAP AG 2003
Time
Pro"ram
$tart
$!stem 7oads Pro"ram Conte+t
,ata 0b1ects
ABAP
Processin"
Block
ABAP 8untime $!stem
ABAP Pro"ram
$election $creen
8eositor!
,atabase
Table
".e system *irst loa's t.e ,ro7ram -onte:t onto t.e a,,li-ation server. ".e ,ro7ram -onte:t -ontains
memory areas *or variables an' -om,le: 'ata obHe-ts0 in*ormation on t.e s-reens *or user 'ialo7s0
an' A8A ,ro-essin7 blo-(s. ".e runtime system 7ets t.e ,ro7ram in*ormation *rom t.e
Re,ository0 +.i-. is a s,e-ial ,art o* t.e 'atabase.
".e sam,le ,ro7ram .as a sele-tion s-reen as t.e user 'ialo70 a variable an' a stru-ture as 'ata
obHe-ts0 an' one A8A ,ro-essin7 blo-(. ".e list t.at is use' to 'is,lay t.e 'ata is -reate'
'ynami-ally at run time.
".e A8A runtime system -ontrols t.e subseEuent ,ro7ram *lo+.
SA A! "A#$0 B%$0
SAP AG 2003
Time
Pro"ram
$tart
8untime $!stem $ends $election $creen
,ata 0b1ects
ABAP
Processin"
Block
ABAP 8untime $!stem
ABAP Pro"ram
,atabase
Table
8eositor!
8e-ause t.e ,ro7ram -ontains a sele-tion s-reen0 t.e A8A runtime system sen's it to t.e
,resentation server. ".e ,resentation server -ontrols t.e ,ro7ram *lo+ *or as lon7 as t.e user enters
'ata in t.e in,ut *iel's.
Sele-tion s-reens allo+ users to enter sele-tion -riteria reEuire' by t.e ,ro7ram.
SA A! "A#$0 B%$$
SAP AG 2003
Time
Pro"ram
$tart
Inut Halues Are Inserted into ,ata 0b1ects
,ata 0b1ects
ABAP
Processin"
Block
ABAP 8untime $!stem
ABAP Pro"ram
,atabase
Table
8eositor!
As soon as t.e user .as *inis.e' enterin7 'ata on t.e sele-tion s-reen0 .e or s.e -an tri77er *urt.er
,ro-essin7 o* t.e ,ro7ram by sele-tin7 4:e-ute.
".e entere' 'ata is automati-ally ,la-e' in its -orres,on'in7 'ata obHe-ts in t.e ,ro7ram an' t.e
A8A runtime system resumes -ontrol o* ,ro-essin7.
1n our sim,le ,ro7ram e:am,le0 t.ere is only one A8A ,ro-essin7 blo-(. ".e A8A runtime
system tri77ers seEuential ,ro-essin7 o* t.is A8A ,ro-essin7 blo-(.
1* t.e entries ma'e by t.e user 'o not .ave t.e -orre-t ty,e0 an error messa7e is tri77ere'
automati-ally. ".e user must -orre-t t.e entries.
SA A! "A#$0 B%$2
SAP AG 2003
Time
Pro"ram
$tart
Pro"ram 8e.uests ,ata 8ecord )rom ,atabase
,atabase
Table
ABAP
Processin"
Block
ABAP 8untime $!stem
ABAP Pro"ram
,ata 0b1ects
8eositor!
#it.in t.e A8A ,ro-essin7 blo-(0 a rea' a--ess to t.e 'atabase is ,ro7ramme'. ".e ,ro7ram
,asses to t.e 'atabase in*ormation about +.i-. 'atabase table to a--ess an' +.i-. line in t.e table to
rea'.
SA A! "A#$0 B%$3
SAP AG 2003
Time
Pro"ram
$tart
,atabase 8eturns ,ata 8ecord to Pro"ram
,atabase
Table
,ata 0b1ects
ABAP
Processin"
Block
ABAP 8untime $!stem
ABAP Pro"ram
8eositor!
".e 'atabase returns t.e reEueste' 'ata re-or' to t.e ,ro7ram an' t.e runtime system ensures t.at
t.is 'ata is store' in t.e a,,ro,riate 'ata obHe-ts.
1* a sin7le re-or' is a--esse'0 t.is 'ata obHe-t is usually a stru-ture t.at -ontains -om,onents *or all
t.e reEuire' 'atabase *iel's.
SA A! "A#$0 B%$4
SAP AG 2003
Time
Pro"ram
$tart
8untime $!stem $ends 7ist
,atabase
Table
,ata 0b1ects
ABAP
Processin"
Block
ABAP 8untime $!stem
ABAP Pro"ram
8eositor!
".e layout o* t.e subseEuent list 'is,lay +as also ,ro7ramme' into t.e ,ro-essin7 blo-(. A*ter
-om,letion0 t.e runtime ,ro7ram sen's t.is list as a s-reen to t.e ,resentation server.
SA A! "A#$0 B%$5
SAP AG 2003
,escribe in basic terms the architecture o) the 8/#
$!stem
,escribe in basic terms the e+ecution o) a simle
dialo" ro"ram usin" the ABAP runtime s!stem
;ou are no* able to3
Pro"ram Flo* o) an ABAP Pro"ram3 5nit $ummar!
SA A! "A#$0 B%$6
SAP AG 2003
Introduction to the 8/# 8eositor!
Workin" *ith the 0b1ect (a'i"ator
0r"aniEin" ,e'eloments
,e'eloin" an ABAP Pro"ram
Contents3
Introduction to the ABAP Workbench
SA A! "A#$0 C%$
SAP AG 2003
,escribe the structure o) the 8/# 8eositor! and
its search tools
5se the 0b1ect (a'i"ator )or !our de'eloment
*ork
(ame and use the utilities )or orderl! so)t*are
de'eloment
Create de'eloment classes2 ABAP ro"rams2
and transaction codes
At the conclusion o) this unit2 !ou *ill be able to3
Introduction to the ABAP Workbench3
5nit 0b1ecti'es
SA A! "A#$0 C%2
SAP AG 2003
Introduction to the 8/# 8eositor!
Introduction to the 8/# 8eositor!
Introduction to the 8/# 8eositor!
Workin" *ith the 0b1ect (a'i"ator
Workin" *ith the 0b1ect (a'i"ator
0r"aniEin" ,e'eloments
0r"aniEin" ,e'eloments
,e'eloin" ABAP Pro"rams
,e'eloin" ABAP Pro"rams
SA A! "A#$0 C%3
SAP AG 2003
The 8/# 8eositor!
Presentation
$er'er
7a!er
Alication
$er'er
7a!er
,atabase
ABAP Pro"ram
8eositor!
CustomiEin" tables
Alication tables
Cross4client Client4seci)ic
".e 'atabase -ontains a,,li-ation an' &ustomi<in7 tables t.at are usually client)speci#ic.
".e 'atabase also -ontains t.e R/3 Re,ository. ".e A8A Di-tionary is ,art o* t.e R/3 Re,ository.
".e R:3 Repository -ontains all t.e 'evelo,ment obHe-ts0 *or e:am,le0 ,ro7rams0 'e*initions o*
'atabase tables0 or -entral 'ata ty,e 'e*initions. Develo,ment obHe-ts are t.ere*ore also (no+n as
Re,ository obHe-ts.
Re,ository obHe-ts are ne+er client)speci#icI t.ere*ore0 t.ey -an be vie+e' an' use' in all -lients.
SA A! "A#$0 C%4
SAP AG 2003
$tructure o) the 8/# 8eositor!
6 6
66
,e'eloment Classes
8eositor! 0b1ects
Function 6odules
Pro"rams
Tables
& & &
FI 98
66
$,
66
W6
Cust&
".e R/3 Re,ository is sub'ivi'e' a--or'in7 to a,,li-ation -om,onents.
4a-. a,,li-ation -om,onent is *urt.er 'ivi'e' into lo7i-al sub'ivisions -alle' "e+elopment classes.
Re,ository obHe-ts are o*ten ma'e u, o* sub%obHe-ts t.at are t.emselves Re,ository obHe-ts.
#.en you -reate a Re,ository obHe-t0 you must assi7n it to a 'evelo,ment -lass.
SA A! "A#$0 C%5
SAP AG 2003
$AP
$AP Alication 9ierarch!
Cross4Alication Comonents
Accountin" 4 %eneral
Financial Accountin"
&&&
FBA$ Financial Accountin" Basis
&&&
FI4%7 %eneral 7ed"er Acct"
FI47C Consolidation
&&&
Treasur!
Controllin"
1N
1N
Alication comonent
,e'eloment class
$elected subtree
In)ormation $!stem
1N
1N
1N
1N
1N
1N
CA
AC
FI
T8
C0
&&&
".e stru-ture o* t.e a,,li-ation -om,onents is s.o+n in t.e application hierarchy. =rom t.e SA
4asy A--ess menu0 you a--ess t.e a,,li-ation .ierar-.y by -.oosin7
Tools A'A$ %or(benc! Overview Application )ierarc!y.
".e a,,li-ation -om,onents are 'is,laye' in a tree stru-ture in t.e a,,li-ation .ierar-.y. 4:,an'in7
a -om,onent 'is,lays all t.e 'evelo,ment -lasses t.at are assi7ne' to t.at -om,onent.
Fou -an sele-t a subtree or bran-. an' navi7ate *rom t.e a,,li-ation .ierar-.y to t.e R/3 Re,ository
1n*ormation System. ".e system t.en -olle-ts all 'evelo,ment -lasses *or t.e bran-. sele-te' an'
,asses t.em to t.e Re,ository 1n*ormation System.
SA A! "A#$0 C%6
SAP AG 2003
8/# 8eositor! In)ormation $!stem
8eositor! In)ormation $!stem
Business en"ineerin"
ABAP ,ictionar!
Basic ob1ects
,atabase tables
Hie*s
,ata elements
$tructures
Table t!es
&&&
0ther ob1ects
Fields
Pro"rammin"
Function Builder
Pro"ram 7ibrar!
Pro"& en'ironment
Pro"ram sub4ob1ects
ABAP ob1ects
Class librar!
Comonents o) classes
Comonents o) inter)aces
/n'ironment
Fou -an use t.e Re,ository 1n*ormation System to sear-. *or s,e-i*i- Re,ository obHe-ts. Suitable
sear-. -riteria are available *or t.e various Re,ository obHe-ts.
#.i-. obHe-ts are to be *oun' usin7 t.e Re,ository 1n*ormation System 'e,en's on .o+ you 7et
t.ere)
=rom +it.in t.e a,,li-ation .iera-.y0 sele-t t.e +nformation system @'ouble%-li-( t.e sele-te'
a,,li-ation -om,onent or 'evelo,ment -lassA. ".is *ilters t.e t.e res,e-tive Re,ository obHe-ts.
=rom t.e SA 4asy A--ess menu0 -.oose %ools A,AP 3or-enc* Overview +nformation
system. ".e system lists all t.e Re,ository 3bHe-ts available *or sear-.in7.
SA A! "A#$0 C%B
SAP AG 2003
Workin" With the 0b1ect (a'i"ator
Introduction to the 8/# 8eositor!
Introduction to the 8/# 8eositor!
Workin" *ith the 0b1ect (a'i"ator
Workin" *ith the 0b1ect (a'i"ator
0r"aniEin" ,e'eloments
0r"aniEin" ,e'eloments
,e'eloin" ABAP Pro"rams
,e'eloin" ABAP Pro"rams
SA A! "A#$0 C%C
SAP AG 2003
Function Builder Function Builder
$creen Painter $creen Painter
ABAP ABAP ,ictionar! ,ictionar! ABAP /ditor ABAP /ditor
0b1ect
(a'i"ator
6enu Painter 6enu Painter
ABAP Workbench Tools
,ebu""er ,ebu""er
Class Builder Class Builder
FI 98
66
$,
66
W6
Cust&
".e A0A ;or'&ench -ontains 'i**erent tools *or e'itin7 Re,ository obHe-ts. ".ese tools -an be
use' t.rou7.out t.e entire so*t+are 'evelo,ment -y-le. ".e most im,ortant tools *or -reatin7 an'
e'itin7 Re,ository obHe-ts are as *ollo+s)
".e A0A !"itor *or e'itin7 sour-e te:t
".e A8A Di-tionary *or ,ro-essin7 'atabase table 'e*initions0 -entral 'ata ty,es0 an' more
".e S-reen ainter *or -on*i7urin7 s-reens @s-reens +it. *un-tions *or user 'ialo7sA
%enu ainter *or 'esi7nin7 t.e user inter*a-e @menu bar0 stan'ar' toolbar0 a,,li-ation toolbarA
@see +nterfaces/
".e Function 0uil"er *or ,ro-essin7 *un-tion mo'ules
".e &lass 8uil'er *or ,ro-essin7 -entral -lasses
Fou -an start t.ese tools in t.ree +ays)
Dire-tly *rom t.e 4asy A--ess menu.
9sin7 t.e 6&<ect -a+i.ator. ".is .as a tree 'ia7ram o* all obHe-ts +it.in a 'evelo,ment -lass or
,ro7ram. Double%-li-( on an obHe-t to start t.e res,e-tive tool.
8y 'ouble%-li-(in7 *rom one tool to t.e ne:t0 an' ba-( a7ain.
SA A! "A#$0 C%9
SAP AG 2003
$creen $tructure in the 0b1ect (a'i"ator
$iEe o) disla! area can be chan"ed
8i"ht4click
Conte+t menu
Full screen
on/o))
Conte+t menu
8i"ht4click
(a'i"ation area
Tool area
".e 3bHe-t 2avi7ator s-reen is 'ivi'e' into t+o areas)
A navi7ation area *or 'is,layin7 an obHe-t list as a .ierar-.y tree
A tool area *or 'is,layin7 an' e'itin7 a 'evelo,ment obHe-t usin7 t.e -orre-t tool
Fou -an 'is,lay or .i'e t.e .ierar-.y area.
Fou -an sele-t *un-tions *rom a -onte:t menu in bot. s-reen areas. Fou are 7iven a -.oi-e o* only
t.ose *un-tions t.at are ,rovi'e' *or 'is,layin7 or e'itin7 t.e obHe-t to +.i-. you are ,ointin7.
Ri7.t%-li-( on t.e obHe-t to o,en t.e -onte:t menu.
SA A! "A#$0 C%$0
SAP AG 2003
Workin" *ith the (a'i"ation Area
,ictionar! ob1ects
Pro"rams
$APBC@00WB,C%/TTI(%C$TA
$APBC@00WBTC%/TTI(%C$TA
Function "rous
BC@00
Classes
C7CBC@00
BC@00
Devel!"e#$ Cl%&&
'C())
5se o) na'i"ation
histor!
A!!l*+%$*# H*e,%,+-.
Devel!"e#$ Cl%&&
P,/,%"
F0#+$*# G,0!
Cl%&& / I#$e,1%+e
I#$e,#e$ Se,v*+e
L+%l O23e+$&
Fa'orites
8e)resh ob1ect list
,isla! hi"her4le'el
ob1ect list
,ouble4click on a
8eositor! ob1ect *ith
subob1ects3 7ist o)
subob1ects
,ouble4click on a
8eositor! ob1ect *ith
subob1ects3 7ist o)
subob1ects
,ouble4click on a
8eositor! ob1ect *ith
subob1ects3 7ist o)
subob1ects
".e Re,ository obHe-ts are or7ani<e' in a .ierar-.y)
An a,,li-ation -om,onent -an .ave 'i**erent 'evelo,ment -lasses.
A 'evelo,ment -lass -an -ontain 'i**erent Re,ository obHe-ts) ,ro7rams0 *un-tion 7rou,s0 A8A
Di-tionary obHe-ts0 an' so on.
4a-. Re,ository obHe-t -an .ave 'i**erent subobHe-ts assi7ne' to it)
SubobHe-ts belon7in7 to a ,ro7ram) 7lobal 'ata0 ty,es0 events0 sub,ro7rams0 an' so on
SubobHe-ts belon7in7 to a *un-tion 7rou,) 7lobal 'ata0 *un-tion mo'ules0 an' so on
Fou -an enter t.e ty,e o* obHe-t list an' t.e obHe-t name in t.e u,,er ,art o* t.e navi7ation area. ".e
obHe-t list is t.en 'is,laye' in t.e navi7ation area.
"o 'is,lay t.e subobHe-ts0 'ouble%-li-( an obHe-t +it.in t.e obHe-t list.
1* an obHe-t is not in an obHe-t list0 you -an 'is,lay it by usin7 t.e res,e-tive tool in t.e tool area.
Fou -an navi7ate bet+een obHe-t lists eit.er by eit.er history or hierarchy.
Fou -an a'' obHe-t lists t.at you e'it *reEuently to your *avorites.
SA A! "A#$0 C%$$
SAP AG 2003
(a'i"ation in the Tool Area
(a'i"ation stack
Functions o) the
current tool
$ho* na'i"ation
*indo*
9ide na'i"ation
*indo*
5se o) na'i"ation
histor!
5se o) na'i"ation
histor!
1n t.e tool area0 you -an 'is,lay a +in'o+ s.o+in7 your navi7ation .istory0 t.at is0 a list o* t.e
obHe-ts you .ave 'is,laye' sin-e you starte' t.e 3bHe-t 2avi7ator in t.e tool area.
".e obHe-t -urrently 'is,laye' in t.e tool area is .i7.li7.te' in a 'i**erent -olor.
SA A! "A#$0 C%$2
SAP AG 2003
$!nchroniEation o) (a'i"ation and Tool Areas
,isla!
Chan"e
&&&
,isla! ob1ect list
,ouble4click on a
8eositor! ob1ect
*ithout subob1ects or
choose conte+t menu3
,isla!/chan"e in tool
area
2avi7ation in t.e navi7ation area is lo7i-ally in"epen"ent #rom navi7ation in t.e tool area. ".is
allo+s *or s-reens to be use' in a *le:ible manner.
1* you +is.0 you -an syn-.roni<e t.e t+o areas)
Fou -an "isplay an o&<ect in t.e tool area by 'ouble%-li-(in7 it0 or by sele-tin7 t.e -onte:t menu
*rom +it.in t.e navi7ation area. ".e system automati-ally sele-ts t.e a,,ro,riate tool *or
,ro-essin7 t.e obHe-t you sele-te'.
"o "isplay the o&<ect list t.at belon7s to an obHe-t you are -urrently ,ro-essin7 in t.e tool area0
-.oose 'isplay o4ect list.
"o create o&<ects *rom an obHe-t list0 you -an use t.e -onte:t menu *or t.at obHe-t ty,e. 1* t.ere is no
entry in t.e obHe-t list *or t.e reEuire' obHe-t ty,e0 you -an -reate any number o* obHe-ts usin7 Edit
o4ect or Ot*er o4ect.
SA A! "A#$0 C%$3
SAP AG 2003
0r"aniEin" ,e'eloments
Introduction to the 8/# 8eositor!
Introduction to the 8/# 8eositor!
Workin" *ith the 0b1ect (a'i"ator
Workin" *ith the 0b1ect (a'i"ator
0r"aniEin" ,e'eloments
0r"aniEin" ,e'eloments
,e'eloin" ABAP Pro"rams
,e'eloin" ABAP Pro"rams
SA A! "A#$0 C%$4
SAP AG 2003
,e'eloment $!stem Production $!stem
Transortin" 8eositor! 0b1ects
FI 98
66
$,
66
W6
Cust&
Chan"e
8e.uest 8e.uest
FI 98
66
$,
66
W6
Cust&
Develo,ment ,roHe-ts are al+ays im,lemente' in a 'evelo,ment system an' t.en trans,orte' to t.e
ne:t system.
Re,ository obHe-ts are automati-ally assi7ne' to a trans,ort route base' on t.eir belon7in7 to a
,arti-ular 'evelo,ment -lass an' on t.eir a-tual *un-tion.
A 'e-isive -riterion *or -ombinin7 t.e 'evelo,ment ,roHe-ts is0 t.ere*ore0 +.i-. Re,ository obHe-ts
nee' to be trans,orte' to7et.er be-ause o* t.eir 'e,en'en-ies.
Fou s-.e'ule t.e .roup transport o* t.e Re,ository obHe-ts usin7 a chan.e re=uest.
SA A! "A#$0 C%$5
SAP AG 2003
$chedulin" a ,e'eloment Pro1ect
$chedule3 6onda!
8e.uest is released
Team3
Pro1ect 6ana"er3
F8;
F8;
BC@00400
BC@00401
BC@00402
BC@0040#
&&&
Frida! &&&
7ockin" 0b1ects )or (on 7ockin" 0b1ects )or (on4 4Pro1ect Pro1ect 6embers 6embers
S-.e'ulin7 a 'evelo,ment ,roHe-t usin7 a -.an7e reEuest -overs t.e *ollo+in7 as,e-ts)
All em,loyees in t.e ,roHe-t start t.eir +or( on a 'e*ine' 'ate.
4m,loyees .ave t.e -.an-e to *ollo+ u, an' -.e-( t.eir a-tivities se,arately.
".e res,e-tive Re,ository obHe-ts -an be ,ro-esse' by all em,loyees involve' in t.e ,roHe-t. =or
t.ose 'evelo,ers +.o 'o not belon7 to t.e team0 t.e Re,ository obHe-ts remain lo-(e' until t.e
,roHe-t is -om,lete'.
".e 7rou, tri77ers t.e trans,ort o* all t.e res,e-tive Re,ository obHe-ts.
SA A! "A#$0 C%$6
SAP AG 2003
Workbench 0r"aniEer3 Chan"e 8e.uests
Pro1ect 8eresentation in the
Workbench 0r"aniEer
Team3
Pro1ect 6ana"er3
F8;
F8;
BC@00400
BC@00401
BC@00402
BC@0040#
&&&
C'an0e reGuests in8ol8in0 user BC@00+00
C'an0ea$le
(ransporta$le
%(3K<000>3 CA.S7
%(3K<000>2 CA.S7
%(3K<000>3 BC@00+00
.eport source
FBC@00E00E/*%G:(*%S(
ABAP pro0ram
%(3K<000>@ BC@00+03
%(3K<000>> BC@00+02
%(3K<000>2 BC@00+03
%(3K<000>9 !!!
8e.uest number
Pro1ect
6ana"er
Task number
8eositor! ob1ects
created or corrected
b! emlo!ee
5ser
At t.e be7innin7 o* a 'evelo,ment ,roHe-t0 t.e pro<ect mana.er -reates a -.an7e reEuest in t.e
;or'&ench 6r.ani9er. ".e ,roHe-t mana7er assi7ns all ,roHe-t team members to t.e -.an7e
reEuest. ".e #or(ben-. 3r7ani<er t.en -reates a tas' *or ea-. ,roHe-t 'evelo,er.
=rom no+ on0 +.enever an em,loyee assi7ns a Re,ository obHe-t to t.is -.an7e reEuest0 t.e
Re,ository obHe-t is automati-ally entere' in t.e em,loyeeYs tas(. ".us all Re,ository obHe-ts t.at an
em,loyee +or(s on 'urin7 a 'evelo,ment ,roHe-t are -olle-te' +it.in .is or .er tas( *ol'er. ".e
Re,ository obHe-ts are t.ere*ore lo-(e' *or all 'evelo,ers +.o 'o not belon7 to t.is ,arti-ular
,roHe-t.
9nli(e t.e lo7i-al *un-tional 'ivisions t.at se,arate Re,ository obHe-ts t.rou7. t.e res,e-tive
'evelo,ment -lass0 -.an7e reEuests are ,roHe-t%relate' an'0 t.ere*ore0 are limite' to t.e time
sche"ule involve'. ".us0 alt.ou7. a ,ro7ram al+ays belon7s to only one 'evelo,ment -lass0 it -an
belon7 to 'i**erent -.an7e reEuests at 'i**erent times.
SA A! "A#$0 C%$B
SAP AG 2003
/+amle3 Creatin" ,e'eloment Classes
Create 4e8elopment Class
,e'eloment Class
$hort Te+t
Transort 7a!er
Person 8esonsible
$o)t*are Comonent
Alication Comonent
DBC@00C00
/+ercises "rou 00
D,/H
BC@00400
906/
CA
Where should the de'eloment ob1ects be transorted toA
To *hich alication
comonent does the
de'eloment class belon"A
Coml! *ith customer namesace
Fou -an -reate a 'evelo,ment -lass in t.e 3bHe-t 2avi7ator.
As o* Release 4.6&0 you -an -.oose t.e obHe-t ty,e 'evelopment (lass an' enter t.e name o* t.e
'evelo,ment -lass in t.e in,ut *iel'. Ma(e sure you -om,ly +it. t.e -ustomer names,a-e
-onventions. 1* t.e 'evelo,ment -lass 'oes not alrea'y e:ist0 t.e system 'is,lays t.e (reate
'evelopment (lass 'ialo7 bo:.
=or Release 4.6A an' 4.680 you must -.oose Edit o4ect or Ot*er o4ect in t.e initial s-reen. 4nter
t.e name o* t.e 'evelo,ment -lass in t.e in,ut *iel' on Ot*er tab ,a7e.
Fou s.oul' -.e-( t.e settin7s *or t.e *ollo+in7 attributes)
Transport layer ) 1* you -arry out your o+n 'evelo,ments0 you must set u, a trans,ort layer *or
-ustomer 'evelo,ments.
erson responsi&le % ".is ,erson .as *ull res,onsibility *or t.e obHe-ts in t.is 'evelo,ment -lass.
".e system automati-ally uses t.is user name as a 'e*ault value.
So#t*are component ) =or -ustomer 'evelo,ments you s.oul' enter HOME as t.e so*t+are
-om,onent. "o 7et 'etaile' in*ormation on t.e *iel'0 sele-t =$ .el,.
Application component ) 9se' to s,e-i*y t.e lo-ation o* t.e 'evelo,ment -lass +it.in t.e
a,,li-ation .ierar-.y.
SA A! "A#$0 C%$C
SAP AG 2003
Assi"nment to a Chan"e 8e.uest
,e'eloment class/&&
Promt )or transortable Workbench re.uest
DBC@00C00
My reGuests
Promt )or transortable Workbench re.uest
C'an0e reGuests in8ol8in0 user BC@00+00
C'an0ea$le
(ransporta$le
%(3K<000>3 /.C
%(3K<000>2 /.C
%(3K<000>3 BC@00+00
%(3K<000>@ BC@00+03
,ouble4click
re.uest number
8e.uest IT#FL00B1
/+ercises )or articiants o) BC@00
Workbench re.uest
All Re,ository obHe-ts t.at are -reate' or -.an7e' must be assi7ne' to t.e -.an7e reEuest o* t.e
res,e-tive ,roHe-t. =or t.is -ourse0 t.e trainer .as -reate' a -.an7e reEuest *or t.e ,roHe-t -alle'
L4:er-ises *or arti-i,ants o* 8&400L. 4a-. 7rou, .as a tas( +it.in t.is -.an7e reEuest.
"o 'is,lay all -.an7e reEuests in +.i-. you .ave a tas(0 sele-t Own re5uests.
#.en you assi7n all Re,ository obHe-ts @'evelo,ment -lasses0 ,ro7rams0 an' so onA to t.is -.an7e
reEuest0 t.e system ta(es -are o* t.e e:a-t assi7nment *or your tas(.
SA A! "A#$0 C%$9
SAP AG 2003
,e'eloin" ABAP Pro"rams
Introduction to the 8/# 8eositor!
Introduction to the 8/# 8eositor!
Workin" *ith the 0b1ect (a'i"ator
Workin" *ith the 0b1ect (a'i"ator
0r"aniEin" ,e'eloments
0r"aniEin" ,e'eloments
,e'eloin" ABAP Pro"rams
,e'eloin" ABAP Pro"rams
SA A! "A#$0 C%20
SAP AG 2003
Features o) the ABAP Pro"rammin" 7an"ua"e
There)ore2 it is desi"ned )or dialo"4based2 business alications&
The ABAP ro"rammin" lan"ua"e &&&
9as de)ined t!es
/nables multi4lan"ua"e alications
9as $G7 embedded *ithin it
9as been enhanced as an ob1ect4oriented lan"ua"e
Is lat)orm4indeendent
Is do*n*ards comatible
"o su,,ort 'ata ,ro-essin7 by ty,es0 A8A -ontains a systemati- ty,e .ierar-.y. "y,e -onversions
an' ty,e -astin7 are su,,orte'.
9sin7 translatable te:t elements0 you -an 'evelo, multi%lan7ua7e a,,li-ations.
".e 342 SQ6 stan'ar' embe''e' in A8A allo+s 'ire-t 'atabase a--esses.
A8A 3bHe-ts is t.e obHe-t%oriente' en.an-ement o* t.e A8A ,ro7rammin7 lan7ua7e.
".e A8A runtime system is one o* t.e R/3 8asis -om,onents an' is ,lat*orm%in'e,en'ent.
A8A -ontinues to evolve *rom release to release. 1* an ol' synta: statement is re,la-e' by a better
one0 you -an still run t.e ol' statement.
SA A! "A#$0 C%2$
SAP AG 2003
DATA 4%5&+%,, TYPE &+%,,.
START6OF6SELECTION.
SELECT * FROM &+%,,
INTO CORRESPONDING FIELDS OF 4%5&+%,,.
NE76LINE.
7RITE 4%5&+%,,6+%,,*8.
7RITE 4%5&+%,,6+%,,#%"e.
7RITE 4%5&+%,,60,l.
ENDSELECT.
%eneral ABAP $!nta+ I
Additions and oerands
(deendent on ke!*ords)
ABAP ABAP
ke!*ord ke!*ord
START START6 6OF OF6 6SELECTION. SELECTION.
SELECT SELECT
ENDSELECT. ENDSELECT.
7RITE 7RITE
. .
. .
. .
Period as s!mbol )or closin" Period as s!mbol )or closin"
the the ABAP ABAP statement statement
DATA DATA . .
NE7 NE76 6LINE. LINE.
7RITE 7RITE
7RITE 7RITE . .
A8A ,ro7rams -onsist u, o* in'ivi'ual statements.
4a-. statement en's +it. a ,erio'.
".e *irst +or' in a statement is -alle' a 'ey*or".
#or's must al+ays be se,arate' by at least one s,a-e.
Statements -an be in'ente'.
Statements -an ta(e u, more t.an one line.
A sin7le line -an -ontain multi,le statements.
".e A8A runtime system is not -ase sensitiveI t.at is0 it 'oes not 'istin7uis. bet+een lo+er-ase
an' u,,er-ase letters *or (ey+or's0 a''itions0 an' o,eran's. "o ma(e it easier to se,arate t.em
visually0 in t.is -ourse all (ey+or's an' t.eir a''itions are in u,,er-ase an' all o,eran's are in
lo+er-ase.
=or in'entations an' *or -onvertin7 u,,er-ase an' lo+er-ase letters0 use t.e retty ainter *un-tion.
&.oose &tilities Settings A,AP Editor Pretty Printer
SA A! "A#$0 C%22
SAP AG 2003
* +""e#$& ...
* +""e#$& ...
* +""e#$& ...
DATA 4%5&+%,, TYPE &+%,,.
START6OF6SELECTION.
SELECT * FROM &+%,, 9 +""e#$& ...
INTO CORRESPONDING FIELDS OF 4%5&+%,,.
NE76LINE.
7RITE 4%5&+%,,6+%,,*8:
4%5&+%,,6+%,,#%"e:
4%5&+%,,60,l.
ENDSELECT.
: :
: :
: :
. .
%eneral ABAP $!nta+ II
Chained Chained
$tatement $tatement
* *
* *
* *
9 9
Comments Comments
9se an asteris( @RA to intro'u-e comment lines. ".e A8A runtime system i7nores t.e -omment
line.
%* you +ant to enter a -omment in t.e mi''le o* a starte' line0 enter 'ouble Euotes.Fou -an -ombine
-onse-utive statements *ith an i"entical &e.innin. into a sin7le chaine" statement)
&lose t.e i'enti-al be7innin7 ,art +it. a -olon.
Se,arate in'ivi'ual elements t.at -ome a*ter t.e -olon by -ommas.
9se blan( s,a-es an' line brea(s be*ore an' a*ter t.e se,arators @-olons0 -ommas0 an' ,erio'sA.
".e A8A runtime system -onsi'ers t.e in'ivi'ual ,arts o* a -.aine' statement to be sin7le
statements.
SA A! "A#$0 C%23
SAP AG 2003
8eturn Halue A)ter ABAP $tatements
PARAMETERS !%5+%,, TYPE &+%,,6+%,,*8.
DATA 4%5&+%,, TYPE &+%,,.
START6OF6SELECTION.
SELECT SINGLE * FROM &+%,,
INTO CORRESPONDING FIELDS OF 4%5&+%,,
7HERE +%,,*8 ; !%5+%,,.
IF &.6&02,+ EQ ).
NE76LINE.
7RITE: 4%5&+%,,6+%,,*8:
4%5&+%,,6+%,,#%"e:
4%5&+%,,60,l.
ELSE.
7RITE <S,,.: # 8%$% 10#8=<.
ENDIF.
&. &.6 6&02,+ &02,+
#it. several A8A statements0 t.e A8A runtime system +rites a return -o'e into t.e system *iel'
sy)su&rc to in'i-ate .o+ su--ess*ully t.e statement +as e:e-ute'
".e return -o'e <ero @0A means t.at t.e statement +as su--ess*ul..
Rea' t.e 'o-umentation *or t.e res,e-tive statements to *in' out +.et.er an' .o+ t.is return -o'e is
set in in'ivi'ual -ases.
SA A! "A#$0 C%24
SAP AG 2003
With T0P Include
Create Pro"ram
Pro"ram
DBC@00C00C%$
Creatin" an ABAP Pro"ram
Attributes
ABAP3 Pro"ram Attributes &&&
Title
&&&
T!e
$tatus
Alication
Fi+ed oint arithmetic
/+ecutable ro"ram
Test ro"ram
Coml! *ith customer namesaceO
=rom t.e O4ect 6avigator# you -an -reate a ,ro7ram usin7 one o* t.e *ollo+in7 o,tions)
1n t.e navi7ation area0 -.oose Program as t.e obHe-t ty,e an' enter a ,ro7ram name. 8e sure to
-om,ly +it. t.e -ustomer names,a-e -onventions. 1* t.e ,ro7ram 'oes not e:ist0 t.e system
'is,lays t.e 'ialo7 seEuen-e t.at lets you -reate a ,ro7ram. @".is ,ro-e'ure is ,ossible only as o*
Release 4.6&.A
Dis,lay t.e 'evelo,ment -lass *or +.i-. you +ant to -reate t.e ,ro7ram. Start t.e 'ialo7 seEuen-e
*or -reatin7 a ,ro7ram usin7 t.e 'evelo,ment -lass -onte:t menu or t.e Program no'e.
Sele-t Ot*er o4ect""" or Edit o4ect. Sele-t t.e Program o4ects tab an' enter t.e name. Sele-t
(reate"
1n t.is -ourse0 'esele-t 3it* %op +nclude @by removin7 t.e -.e-( mar( *rom t.e -.e-(bo:A. @1* you
'onUt 'o t.is0 your sour-e te:t +oul' be 'istribute' to several ,ro7rams.A
&.an7e t.e title to a meanin7*ul s.ort te:t.
&.oose %est program as t.e ,ro7ram status *or all A8A -ourses.
SA A! "A#$0 C%25
SAP AG 2003
Fe!*ord ,ocumentation in the ABAP /ditor
START6OF6SELECTION.
SELECT SINGLE * FROM &+%,,
INTO 4%5&+%,,
7HERE +%,,*8 ; !%5+%,.
IF &.6&02,+ ; ).
MO>E6CORRESPONDING 4%5&+%,,
TO &2+())5+%,,*e,.
CALL SCREEN ?)).
MO>E6CORRESPONDING &2+())5+%,,*e,
TO 4%5&+%,,.
7RITE: 4%5&+%,,6+%,,*8:
4%5&+%,,6+%,,#%"e:
4%5&+%,,6+0,,+8e.
ENDIF.
7RITE 7RITE
/ditor 9el
ABAP 0'er'ie*
ABAP Term
ABAP (e*s
ABAP ,ocu and /+amles
:elp
i
7RITE
F1
Fe!*ord
,ocumentation
Fou -an lo-ate (ey+or' 'o-umentation *or an A8A statement by)
ointin7 to a statement an' sele-tin7 F to 7o 'ire-tly to t.e 'o-umentation *or t.e statement
Sele-tin7 +nformation to 7o to a sele-tion +in'o+ *or t.e various vie+s o* t.e (ey+or'
'o-umentation.
&.oose Help SAP Lirary ,( ,asis (omponents to a--ess e:tensive online 'o-umentation on
all t.e tools an' to,i-s t.at relate to t.e A8A #or(ben-..
SA A! "A#$0 C%26
SAP AG 2003
Inacti'e and Acti'e ,e'eloment 0b1ects
Pro"ram 12
inacti'e 'ersion
$a'ed2
)or de'eloment
and testin"
Acti'el! inte"rated2
)or s!stem4*ide
usa"e
Pro"ram #2
inacti'e 'ersion
Pro"ram 22
acti'e 'ersion
Pro"ram #2
acti'e 'ersion
Pro"ram 12
acti'e 'ersion
Acti'ate
#.enever you -reate a 'evelo,ment obHe-t0 or -.an7e an' t.en save it0 t.e system stores an inacti+e
+ersion only in t.e R/3 Re,ository.
8e*ore a Re,ository obHe-t is available on a system%+i'e basis0 it must *irst be available as an acti+e
+ersion. ".is a-tive version o* your ,ro7ram +ill be use' +.enever a user +ants to e:e-ute your
,ro7ram.
1* your ,ro7ram is available in bot. versions0 you -an s+it-. *rom one version to t.e ot.er in 'is,lay
mo'e.
#.enever you a-tivate a ,ro7ram0 t.e system *irst 'is,lays a list o* all ina-tive obHe-ts t.at you .ave
,ro-esse'. ".is is -alle' t.e *or'list. 1* you -ontinue to a-tivate t.e ,ro7ram0 t.e *ollo+in7
.a,,ens)
".e system saves t.e ,ro7ram0 t.at is0 it stores or over+rites t.e ina-tive version.
".e system ,er*orms a synta: -.e-(.
".e system stores t.e a-tive version or over+rites it.
SA A! "A#$0 C%2B
SAP AG 2003
%eneratin" 8untime 0b1ects
sa'ed2
)or de'eloment/testin"
acti'el! inte"rated2
)or s!stem4*ide usa"e
Pro"ram #2
inacti'e 'ersion
Pro"ram 12
acti'e 'ersion
Pro"ram 22
acti'e 'ersion
Pro"ram #2
acti'e 'ersion
For s!stem4*ide usa"e
Pro"ram Pro"ram #2 #2
"enerated 'ersion "enerated 'ersion
%enerate
(automaticall!)
Pro"ram Pro"ram #2 #2
temorar! temorar!
"enerated 'ersion "enerated 'ersion
%enerate
(automaticall!)
#.en you 7enerate a 'evelo,ment obHe-t0 t.e system -reates @-om,ilesA a se,arate runtime obHe-t
@63ADA an' stores it in t.e R/3 Re,ository.
".is 7enerate' version is t.en t.e version t.at is e:e-ute' @inter,rete'A.
!eneration ta(es ,la-e automati-ally0 but it -an be tri77ere' e:,li-itly.
1*0 *or e:am,le0 a user +ants to e:e-ute your ,ro7ram an' t.ere is still no 7enerate' version0 t.e
system +ill use t.e a-tive version *or 7eneration.
Fou -an0 .o+ever0 'etermine +.i-. version you +ant to e:e-ute)
"o e:e-ute t.e a-tive version0 start your ,ro7ram *rom t.e navi7ation area.
"o e:e-ute t.e ina-tive version0 test an e:e-utable ,ro7ram *rom t.e A8A 4'itor. ".e system
tem,orarily -reates a 7enerate' version.
1n t.is +ay0 'evelo,ment -an -ontinue *ithout chan.in. the current system status. All -.an7es to
t.e 'evelo,ment obHe-t be-ome visible system +i'e only +.en t.e ,ro7ram is a-tivate' a7ain. #it.
ina-tive versions0 you .ave a lo-al0 se,arate vie+ o* t.e R/3 Re,ository0 +.i-. ,rovi'es t.e basis *or
a local runtime system.
SA A! "A#$0 C%2C
SAP AG 2003
Creatin" Transaction Codes
$!stem $!stem 9el 9el
DBC@00C00C%$
!reate Report Transaction
Transaction code D00%$
,e'eloment class DBC@00C00
Transaction te+t
Pro"ram
&&&
&&&
DBC@00C00C%$
Classi)ication
Pro)essional 5ser Transaction
/as! Web transaction
&&&
&&&
1* you +ant to in-lu'e a ,ro7ram in role menus or in t.e Favorites in your SA 4asy A--ess menu0
you must assi7n a transa-tion -o'e to it.
1n t.e 3bHe-t 2avi7ator0 'is,lay t.e obHe-t list *or your ,ro7ram. Ri7.t%-li-( t.e ,ro7ram name an'
-.oose (reate %ransaction. &om,ly +it. t.e -ustomer names,a-e -onventions.
&.oose Program and Selection Screen 78eport %ransaction/ i* t.e ,ro7ram is an e:e-utable
,ro7ram"
3n t.e ne:t s-reen0 enter t.e name o* t.e ,ro7ram. &.oose Professional &ser %ransaction.
Save t.e transa-tion -o'e.
Sin-e ea-. transa-tion -o'e is a Re,ository obHe-t0 you must assi7n it to a 'evelo,ment -lass an' to a
-.an7e reEuest on t.e *ollo+in7 s-reens.
SA A! "A#$0 C%29
SAP AG 2003
$!stem $!stem 9el 9el
Addin" a Transaction Code to the
$AP /as! Access 6enu
Fa'orites
$AP 6enu
SAP Easy Access
0b1ect (a'i"ator
Add transaction
/nter Transaction 6anuall!
Transaction code
D00%$
"o in-lu'e a transa-tion -o'e in t.e your role menu *avorites)
Dis,lay t.e initial s-reen @SA 4asy A--ess menuA.
&.oose Favorites +nsert transaction.
4nter a transa-tion -o'e in t.e 'ialo7 bo: .
".e transa-tion -o'e s.ort te:t a,,ears un'er t.e Favorites no'e. Fou -an start t.e a,,ro,riate
,ro7ram *rom t.e -onte:t menu *or t.is ne+ no'e.
SA A! "A#$0 C%30
SAP AG 2003
,escribe the structure o) the 8/# 8eositor! and
its search tools
5se the 0b1ect (a'i"ator )or !our de'eloment
*ork
(ame and use the utilities )or orderl! so)t*are
de'eloment
Create de'eloment classes2 ABAP ro"rams2 and
transaction codes
;ou are no* able to3
Introduction to the ABAP Workbench3
5nit $ummar!
SA A! "A#$0 C%3$
A0A ;or'&ench !(ercises
/nit$ 5ntro"uction to the A0A ;or'&ench
Topic$ 6r.ani9in. >e+elopments
At t.e -on-lusion o* t.ese e:er-ises0 you +ill be able to)
&reate a 'evelo,ment -lass
Assi7n -.an7es in Re,ository obHe-ts to a -.an7e reEuest
As a 'evelo,er *or an airline 7rou,0 you are 7iven t.e tas( o* 'evelo,in7
evaluation ,ro7rams *or several airline -om,anies.
"o 7rou, t.e Re,ository obHe-ts to7et.er lo7i-ally an' trans,ort t.em0
you must -reate a 'evelo,ment -lass.
9ser name) #ill be announ-e' by t.e instru-tor.
Develo,ment -lass) @'C())5AA
&.an7e reEuest) #ill be announ-e' by t.e instru-tor.
## stan's *or t.e t+o%'i7it 7rou, number.
$%$ 6o7 on to t.e o,eratin7 system an' t.en to t.e s,e-i*ie' SA R/3 trainin7 system usin7
t.e user name t.e instru-tor .as 7iven you. 4nter a ne+ ,ersonal ,ass+or'.
$%2 &reate t.e 'evelo,ment -lass @'C())5AA. Assi7n it to t.e -.an7e reEuest t.e
instru-tor .as 7iven you.
$%3 =rom no+ on0 assi7n all your Re,ository obHe-ts in t.e *ollo+in7 e:er-ises to t.is
'evelo,ment -lass an' t.is -.an7e reEuest.
SA A! "A#$0 C%32
!(ercises
/nit$ 5ntro"uction to the A0A ;or'&ench
Topic$ >e+elopin. A0A ro.rams
At t.e -on-lusion o* t.ese e:er-ises0 you +ill be able to)
&reate0 e'it0 save0 an' ,ro-ess A8A ,ro7rams
&.e-( A8A ,ro7rams *or -orre-t synta:
"est an' a-tivate A8A ,ro7rams
&reate an A8A ,ro7ram t.at lists a''itional in*ormation on all e:istin7
*li7.t 'e,arture times.
!et t.e 'ata *rom t.e 'atabase table SFLIGHT.
ro7ram) @'C())5AA5GS5LIST
Mo'el solution) SAPBC400WBS_GS_LIST
## stan's *or t.e t+o%'i7it 7rou, number.
2%$ &reate t.e e:e-utable ,ro7ram @'C())5AA5GS5LIST
+it.out "3 1n-lu'e.
2%2 De*ine a +or( area *or t.e 'ata retrieval an' 'ata 'is,lay @name su77estion)
4%51l*/-$A)
DATA 4%51l*/-$ TYPE &1l*/-$.
2%3 ro7ram a loo, a--ess to all t.e 'ata re-or's in t.e 'atabase table SF8543T)
SELECT * FROM &1l*/-$
INTO 4%51l*/-$.
...
ENDSELECT.
2%4 For each "ata recor"0 'is,lay t.e -ontents o* t.e *iel's +%,,*80 +##*80 1l8%$e0
&e%$&++: an' &e%$&"%B in t.e list)
NE76LINE. 7RITE 4%51l*/-$6+%,,*8. 7RITE ...
2%5 &.e-( your ,ro7ram *or synta: errors0 test it0 an' a-tivate it
SA A! "A#$0 C%33
!(ercises
/nit$ 5ntro"uction to the A0A ;or'&ench
Topic$ Transaction Co"es
At t.e -on-lusion o* t.ese e:er-ises0 you +ill be able to)
Assi7n transa-tion -o'es to A8A ,ro7rams
A'' transa-tion -o'es to your =avorites list in t.e SA 4asy A--ess
menu
!ive your *irst A8A ,ro7ram a transa-tion -o'e0 in a''ition to its
te-.ni-al name0 +.i-. you use to e:e-ute it.
"ransa-tion -o'e) @'C())5AA5GS
ro7ram) @'C())5AA5GS5LIST
Mo'el solution) SAPBC400WBS_GS LIST
## stan's *or t.e t+o%'i7it 7rou, number.
3%$ &reate transa-tion -o'e @'C())5AA5GS *or t.e e:e-utable ,ro7ram
@'C())5AA5GS5LIST.
+nitial o4ect) program and selection screen 7report transaction/
4:e-ute your ,ro7ram by enterin7 t.e ne+ transa-tion -o'e.
3%2 1n-lu'e t.e transa-tion -o'e @'C())5AA5GS in your *avorites in t.e SA%4asy%
A--ess%menu.
4:e-ute your ,ro7ram by 'ouble%-li-(in7 t.e ne+ *avorite entry.
=rom no+ on0 it is best i* you al+ays +or( +it. t.e Ob*ect
+avigator. 1t ,rovi'es you +it. an overvie+ o* all Re,ository
obHe-ts in your 'evelo,ment -lass. =rom .ere0 you -an e'it ea-.
obHe-t 'ire-tly by sele-tin7 it *rom t.is list.
SA A! "A#$0 C%34
A0A ;or'&ench Solutions
/nit$ 5ntro"uction to the A0A ;or'&ench
Topic$ 6r.ani9in. >e+elopments
$ =ollo+ t.e instru-tions as 7iven in t.e notes an' *i7ures on ,a7e 3%$C an' 3%$90
&reatin7 Develo,ment &lasses an' Assi7nment to a &.an7e ReEuest,
/nit$ 5ntro"uction to the A0A ;or'&ench
Topic$ >e+elopin. A0A ro.rams
2 %o"el solution$
REPORT &%!2+())42&5/&5l*&$.
DATA 4%51l*/-$ TYPE &1l*/-$.
SELECT * FROM &1l*/-$
INTO 4%51l*/-$.
NE76LINE.
7RITE:
4%51l*/-$6+%,,*8:
4%51l*/-$6+##*8:
4%51l*/-$61l8%$e:
4%51l*/-$6&e%$&++:
4%51l*/-$6&e%$&"%B.
ENDSELECT.
SA A! "A#$0 C%35
/nit$ 5ntro"uction to the A0A ;or'&ench
Topic$ Transaction Co"es
3%$ =ollo+ t.e instru-tions as 7iven in t.e notes an' *i7ure on ,a7e 3%290 &reatin7
"ransa-tion &o'es.
3%2 =ollo+ t.e instru-tions as 7iven in t.e notes to t.e *i7ure0 A''in7 a "ransa-tion &o'e
to t.e SA 4asy A--ess Menu.
SA A! "A#$0 C%36
SAP AG 2003
$AP Fli"ht ,ata 6odel
Transarent Tables
$tructures
5sin" Transarent Tables and $tructures in an ABAP
Pro"ram
Contents3
Introduction to the ABAP ,ictionar!
SA A! "A#$0 9%$
SAP AG 2003
,escribe the $AP )li"ht data model
,escribe the structure o) a transarent table
,escribe the structure o) a structure
7ist the ossible uses o) transarent tables and
structures in ABAP ro"rams
At the conclusion o) this unit2 !ou *ill be able to3
Introduction to the ABAP ,ictionar!3
5nit 0b1ecti'es
SA A! "A#$0 9%2
SAP AG 2003
,ata 6odelin"
8eal *orld
,ata model
ABAP ,ictionar!
8elational
database
1n t.e 'evelo,ment o* business a,,li-ation so*t+are0 t.e real +orl' must be ,artly ma,,e' in t.e
*orm o* 'ata. An entity re,resents a business unit.
4ntities all relate to ea-. ot.er. ".e entities an' relations.i,s are -ontaine' in t.e 'ata mo'el or
entity relations.i, mo'el @4RMA.
".e -onversion o* t.e table 'e*initions an' t.eir relations.i,s in t.e A8A Di-tionary are base' on
t.is 'ata mo'el.
".e a-tual a,,li-ation 'ata is ,.ysi-ally store' in t.e 'atabase itsel*.
SA A! "A#$0 9%3
SAP AG 2003
,earture airort
,estination airort
,estination cit!
,earture cit!
T!ical in.uiries at the tra'el a"enc!3
$uitable airorts
$uitable )li"ht connections
$uitable )li"ht times
Additional )li"ht in)ormation such as3 rice2
a'ailabilit!
Fli"ht ,ata 6odel )or ABAP Trainin" Courses
A8A trainin7 -ourses0 online 'o-umentation0 an' A8A (ey+or' 'o-umentation all use t.e same
*li7.t 'ata mo'el. All Re,ository obHe-ts in t.e *li7.t 'ata mo'el are lo-ate' in t.e 'evelo,ment
-lass BC_DATAMODEL!
".is trainin7 -ourse 'emonstrates one sim,le e:-er,t *rom t.is 'ata mo'el0 +.i-. t.e instru-tor -an
re*ine i* ne-essary. 1* a ,erson +ants to travel *rom one ,la-e to anot.er0 s.e as(s t.e travel a7en-y
t.e *ollo+in7 Euestions)
#.at -onne-tion o**ers me t.e best an' most 'ire-t *li7.tP
At +.at times are *li7.ts o**ere' on t.e 'ate +.en 1 +ant to travelP
>o+ -an 1 o,timi<e t.e travel -on'itions to *in' t.e best solutionP #.at is t.e -.ea,est *li7.t0 t.e
*astest -onne-tion0 t.e -onne-tion t.at 7ets me t.ere -losest to t.e time +.en 1 +ant to arriveP
".e ,assen7erUs vie+ 'i**ers *rom t.at o* a travel a7en-y. 1n t.e 'ata mo'el0 +.i-. is tailore' to suit
mana7ement o* t.e ne-essary 'ata0 all 'ata is store'0 or7ani<e' by te-.ni-al -riteria0 in tables on a
-entral 'atabase. ".e amount o* 'ata store' *ar e:-ee's t.e 'eman's o* t.e ,assen7er.
As a ,ro7rammer0 you must be able to -om,ile t.e 'ata in ,ro7rams to suit t.e reEuirements o* t.e
travel a7ent.
SA A! "A#$0 9%4
SAP AG 2003
8elational ,ata 6odel
BCEP*A7/*% (
Timetable
BCECA..%E. (
Airline
Fli"ht
BCEBK%7G (
Fli"ht bookin"
9
9
9
8 8 BCEC%(A%.P (
Cit!4airort
assi"nment
Airort
BCEGEC%(C (
Cit!
A A
BCEC#S(M (
Customer
BCEC#7(E. (
$ales o))ice
BCEA%.P.( (
BCE(.A,*AG (
Tra'el a"enc!
8 C8 C8
BCES/*%G:( (
".e *li7.t 'ata mo'el -ontains entities *or all business in*ormation t.at is lo7i-ally -onne-te'0 su-.
as)
&ities
Air,orts
Airlines
=li7.ts
".ese entities all relate to ea-. ot.er in -ertain +ays)
4a-. *li7.t s-.e'ule -ontains e:a-tly one airline0 one 'e,arture air,ort0 an' one 'estination
air,ort.
8oo(able *li7.ts al+ays belon7 to e:a-tly one e:istin7 *li7.t s-.e'ule ea-..
Fou -an assi7n -ities to nearby air,orts.
Fou -an mana7e all ne-essary 'ata +it.out re'un'an-ies0 usin7 t.ese relations.i,s. At t.e same
time0 t.e travel a7en-y is able to obtain all 'ata reEueste' by t.e -ustomer.
SA A! "A#$0 9%5
SAP AG 2003
Con'ertin" 5sin" Transarent Tables
BCEP*A7/*% (
Timetable
BCECA..%E. (
Airline
BCES/*%G:( (
Fli"ht
BCEBK%7G (
Fli"ht bookin"
MA74( CA..%4 C77%4 /*4A(E BK%4 C#S(M%4 C#7(E. !!!
$B00F $B00F
MA74( CA..%4 C77%4 /*4A(E SEA(SMAM SEA(SCC !!!
$F7I%9T $F7I%9T
MA74( CA..%4 C77%4 A%.P/.M A%.P( 4EP(%ME !!!
$PF7I $PF7I
MA74( CA..%4 CA..7AME C#..C4E #.*
$CA88 $CA88
9
9
9
A trans,arent table -ontains 'i**erent -olumns0 to allo+ you to mana7e 'ata re-or's in a stru-ture'
+ay.
Fou 'e*ine trans,arent tables in t.e A8A Di-tionary. 1n t.is -onte:t0 t.e ta&le 'ey is es,e-ially
si7ni*i-ant.
".e table (ey o* a table com&ines (ey *iel's0 +.i-. are also -alle' primary 'ey #iel"s.
".e values in t.e (ey *iel's allo+ t.e system to i'enti*y all 'ata re-or's uni=uely.
=iel's t.at lin( to ot.er tables are -alle' #orei.n 'ey #iel"s. #it. t.ese *orei7n (ey relations.i,s you
-an mana7e t.e 'ata .ierar-.i-ally an' -onsistently.
SA A! "A#$0 9%6
SAP AG 2003
uses
uses
Table includin" data
Technical $tructure o) a Transarent Table
Transarent table Transarent table
,ata element
,omain
Field
Fou normally use a 'ata element to assi7n a ty,e to a table *iel'.
Semanti- ,ro,erties0 su-. as *iel' labels0 are store' in t.e 'ata element.
Fou normally use a 'omain *or t.e te-.ni-al ,ro,erties. ".e 'ata ty,e0 amon7 ot.er t.in7s0 is store'
in t.e 'omain.
".e A8A Di-tionary -ontains t.e ,lat*orm%in'e,en'ent 'es-ri,tion o* t.e relevant 'atabase table.
".e 'atabase table .as t.e same name as t.e trans,arent table in t.e A8A Di-tionary. ".e *iel's
also .ave t.e same names in bot. t.e 'atabase an' t.e A8A Di-tionary.
SA A! "A#$0 9%B
SAP AG 2003
Transarent Tables in the ABAP ,ictionar!
Table /dit %oto 5tilities /n'ironment $!stem 9el
Dictionary Display Table
Transparent table SPFLI Active
Indexes
Attributes
/+tras
Short text Flight schedule
Currency/Quantity Fields Fields
Fields Key Field type Data type Length Dec places Short text
!A"DT S#!A"DT Client $or training
CA%%ID S#CA%%#ID Airline Carrier
CL"T & '
L:C+&/#F!DD#<AITLIST*&/
L:C+&/#F!DD#<AITLIST*&'
L:C+&/#F!DD#<AITLIST*&+
L:C+&/#F!DD#<AITLIST*&6
L:C+&/#F!DD#<AITLIST*&=
L:C+&/#F!DD#<AITLIST*44
Add >aiting custo2er
%e2ove >aiting custo2er
Display >aiting list
Shi$t >aiting list
%eturn position in >aiting list
Change position in list
Function modules Function modules Function modules Function modules Function modules
PB0 modules
%lobal declarations
Include modules in ro"ram
As 'es-ribe' in t.e A0A Runtime !n+ironment unit0 t.e A8A #or(ben-. .el,s you to
stru-ture your sour-e -o'e +.en you +or( +it. *un-tion 7rou,s an' *un-tion mo'ules.
=or+ar' navi7ation ensures t.at you al+ays enter t.e -orre-t obHe-t. 1n-lu'e ,ro7rams are
name' automati-ally0 an' t.e relevant -all statements are inserte' automati-ally in t.e -orre-t
,ositions.
Fou only .ave to observe t.e namin7 -onvention *or *un-tion 7rou,s) YH@1em_name2.
".e system t.en -reates a ty,e = ,ro7ram -alle' SAPLYH@1em_name20 +.i-. -ontains
automati-ally 7enerate' 5-C8/>! statements. ".e in-lu'e ,ro7rams are also name'
automati-ally) LYH@1em_name21a((e321n,m2.
".e system also inserts t.e in-lu'e ,ro7ram0 8?KL1em_name2UXXA +.i-. -ontains an
in-lu'e statement in t.e *orm 8?KL1em_name2U1n,mJ *or ea-. *un-tion mo'ule.
SA A! "A#$0 $B%$3
7.,4
SAP AG 2003
Workin" *ith 6ethods
Function %rous and Function 6odules
Function %rous and Function 6odules
Workin" *ith 6ethods
Workin" *ith 6ethods
Workin" *ith BAPIs
Workin" *ith BAPIs
SA A! "A#$0 $B%$4
7.,5
SAP AG 2003
Classes and 0b1ects
- attr1
- attr2
- &&&
- meth1
- meth2
- &&&
(ame
Attributes (data ob1ects)3
6ethods ()unctions)3
Class3
technical
descrition
o) ob1ects
attr1
attr2
meth1
@V11
&&&
meth2
attr1
attr2
meth1
12#
&&&
meth2
attr1
attr2
meth1
P
&&&
meth2
0b1ects3
8untime instances
in a class
At *irst 7lan-e0 a -lass is very mu-. li(e a *un-tion 7rou, sin-e it -ontains 'ata obHe-ts @attributesA
an' *un-tions @met.o'sA. ".ese -om,onents -an be ,rote-te' *rom a--ess by -om,onents o* ot.er
,ro7rams. ".en t.ey -an be a--esse' only by met.o's belon7in7 to t.e -lass.
1n -ontrast to *un-tion 7rou,s0 -lasses -an .ave multi,le instan-es0 t.at is0 more t.an one runtime
obHe-t -an be -reate' *or ea-. ,ro7ram in a -lass. 1n ot.er +or's0 a -lass -ontains t.e te-.ni-al
'es-ri,tion o* obHe-ts @instan-esA. All t.ese obHe-ts0 t.ere*ore0 .ave t.e same attributes an' ,rovi'e
t.e same met.o's. >o+ever0 t.ey -an be 'istin7uis.e' ,.ysi-ally. ".eir attributes -an .ave 'i**erent
*eatures.
&lasses -an be 'e*ine' eit.er lo-ally +it.in an e:e-utable ,ro7ram or 7lobally in t.e &lass 8uil'er.
".e A8A runtime system ,rovi'es su,,ort *or stan'ar' obHe-t%oriente' synta: elements as o*
Release 4.6A. =or more 'etails0 re*er to t.e SA online library.
SA A! "A#$0 $B%$5
7.,6
SAP AG 2003
ABAP ro"ram
Creatin" 0b1ects and Callin" 6ethods
DATA ,e1? TYPE REF TO +l%&&.
DATA ,e12 TYPE REF TO +l%&&.
CREATE O'QECT ,e1? ...
CREATE O'QECT ,e12 ...
CALL METHOD ,e1?6M"e$-?
EXPORTING ...
IMPORTING ...
EXCEPTIONS ...
CALL METHOD ,e126M"e$-?
EXPORTING ...
IMPORTING ...
EXCEPTIONS ...
...
re)1 re)2
meth1
meth1
"o -reate instan-es o* -lasses an' to be able to a--ess t.em0 you nee' re*eren-e variables0 +.i-. are
,ointers to t.ese instan-es. Fou 'e*ine t.ese re*eren-e variables usin7 DATA e!een-e_name
TYPE REF TO -'a++_name.
At ,ro7ram start0 t.e 'ata obHe-ts are -reate' in memory. >o+ever0 sin-e no instan-es .ave been
-reate' yet0 t.e re*eren-e variables are still em,ty.
At runtime0 you -an -reate as many instan-es o* -lasses as you +is. usin7
CR!AT! 60M!CT e!een-e_name%
1* ne-essary0 t.e im,ort ,arameters o* t.e s,e-ial met.o' &32S"R9&"3R must be *ille' +it.
values. ".is s,e-ial met.o' is e:e-ute' imme'iately a*ter t.e instan-e is -reate'. As a rule0 basi-
settin7s *or t.e a-tual instan-e are t.us -reate'.
Fou -an -all met.o's o* an instan-e usin7
CA88 %!T36> e!een-e_name6Mme#;od_name.
1n -ontrast to a *un-tion mo'ule -all0 t.e met.o' name is not su**i-ient .ere be-ause0 7enerally0
several instan-es o* a -lass e:ist *or ea-. ,ro7ram. 9sin7 t.e re*eren-e variable0 *ollo+e' by t.e
obHe-t -om,onent sele-tor )J0 you instru-t a particular instan-e to e:e-ute its met.o'.
SA A! "A#$0 $B%$6
7.,7
SAP AG 2003
/+amles o) $tandard Classes3 /n1o!$AP Controls
AA
001V
00?@
79
0@00
0@02
Airlines htt3//***&sa&com
Picture Control
Tree Control 9T67 Hie*er Control
As o* Release 4.6A0 t.e A8A #or(ben-. o**ers several ne+ 4nHoySA -ontrols in or'er to move
'ialo7 *un-tions *rom t.e a,,li-ation server to t.e ,resentation server. ".ese -ontrols are -alle' on
an obHe-t%oriente' basis usin7 -lasses0 t.at is0 t.e SA Control Frame*or'.
=or ea-. met.o' -all0 you sele-t t.e -ontrols *rom your A8A ,ro7ram. ".e &ontrol =rame+or(
sen's your reEuests to t.e ,resentation server +.ere t.ey are -onverte' on a ,lat*orm%s,e-i*i- basis.
Fou -an 7ive t.e user t.e o,tion o* tri77erin7 events on t.e ,resentation server. ".e &ontrol
=rame+or( t.en -onverts t.ese events an' you -an rea-t to t.em in your A8A ,ro7ram.
=or more 'etails on t.e 4nHoySA -ontrols an' t.e &ontrol =rame+or(0 re*er to t.e SA online
library.
SA A! "A#$0 $B%$B
7.,8
SAP AG 2003
Workin" *ith BAPIs
Function %rous and Function 6odules
Function %rous and Function 6odules
Workin" *ith 6ethods
Workin" *ith 6ethods
Workin" *ith BAPIs
Workin" *ith BAPIs
SA A! "A#$0 $B%$C
7.,C
SAP AG 2003
Business Alication Pro"rammin" Inter)ace
BAPI
A BAPI is a *ell4de)ined inter)ace to rocesses and
data o) a business alication s!stem2 imlemented
as a business ob1ect method in the
Business 0b1ect 8eositor! (B08)&
A 8A1 -an be vie+e' as t.e 'oor to t.e SA systemI t.is inter*a-e ,rovi'es a--ess to business 'ata
an' ,ro-esses in t.e SA system *rom t.e outsi'e.
4a-. obHe-t in t.e 83R -an .ave several met.o's0 one or more o* +.i-. -an be im,lemente' as
8A1s.
8A1s usually e:ist *or basi- *un-tions o* a business obHe-t0 su-. as)
&reatin7 obHe-ts
Queryin7 t.e attributes o* an obHe-t
&.an7in7 t.e attributes o* an obHe-t
SA A! "A#$0 $B%$9
7.20
SAP AG 2003
Business
Work)lo*
,istributed scenarios (A7/)
Internet /
Intranet
CustomerRs and artner:s
o*n code
JAHA2 C2 &&&
8/# Comonent
Creation
B
Business
Comonent
Business
Comonent
Business
Comonent
BAPI 5sa"e
A 8A1 -an be use' *or various a,,li-ations. =or e:am,le)
1nternet a,,li-ation -om,onents) De,i-tion o* in'ivi'ual SA R/3 *un-tions in t.e 1nternet or
intranet % *or e:am,le0 *or users +.o 'o not .ave SA R/3 e:,erien-e.
R/3 -om,onent -reation) &ommuni-ation bet+een t.e business obHe-ts o* 'i**erent SA R/3
-om,onents @solutionsA.
&ustomersU or ,artnersU -o'e) 4:ternal -lients @*or e:am,le0 alternative !91sA 'ire-tly a--ess
business 'ata an' ,ro-esses o* t.e SA R/3 System. 1n ,arti-ular0 8A1 -alls @as -alls o* R&%
enable' *un-tion mo'ules alsoA -an be im,lemente' in ot.er ,ro7rammin7 lan7ua7es.
SA A! "A#$0 $B%20
7.2,
SAP AG 2003
$tandardiEed BAPIs
%et7ist
$ulies a list o) ob1ect ke! )ields that satis)! selected
criteria (search )unction)
%et,etail
$ulies detailed in)ormation (attributes) on an ob1ect
(the )ull ke! must be seci)ied)
Create2 Chan"e2 ,elete2 Cancel
Creatin"2 chan"in"2 and deletin" ob1ects
AddItem2 8emo'eItem
Creatin" and remo'in" subob1ects ()or e+amle2
item in an order)
".ere are stan'ar' met.o's *or 8A1s +it. stan'ar'i<e' names.
Some o* t.e most im,ortant stan'ar' met.o' names are liste' .ere.
SA A! "A#$0 $B%2$
7.22
SAP AG 2003
Findin" BAPI Function 6odules
9ierarch! Alhabetical ,etail ,ocumentation Tools Pro1ect
Fli"htBookin"
Fli"htCustomer
Fli"htConnection
8eturn
Fli"ht,ata
%et7ist
6ethod (BAPI)
'API5SFLIGHT5GETDETAIL
AirlineCarrier
Connection(umber
,ate0)Fli"ht
%et,etail
6ethod
Business ob1ect
$hort te+t
(e* as o) release
Function module
()C
Fl*/-$ 8e$%*l&
Fl*/-$'N*#/
Ge$De$%*l
,ouble4click3
(a'i"ation in
Function Builder
1n Release 4.6&0 8A1s are im,lemente' usin7 *un-tion mo'ules.
=rom t.e SA 4asy A--ess menu0 you -all t.e 8A1 4:,lorer by -.oosin7 %ools ,usiness
Framewor- ,AP+ ,rowser.
9sin7 t.e 8A1 4:,lorer0 you -an navi7ate to t.e *un-tion mo'ule 'is,lay *or t.e sele-te' 8A1 in
t.e =un-tion 8uil'er.
Sele-t t.e 8A1 in t.e .ierar-.y se-tion.
1n t.e 'etaile' 'is,lay +in'o+0 -.oose t.e 'etail tab.
8y 'ouble%-li-(in7 on t.e name o* t.e *un-tion mo'ule0 you -an 'is,lay it in t.e =un-tion 8uil'er.
SA A! "A#$0 $B%22
7.23
SAP AG 2003
Characteristics o) a BAPI Function 6odule
$AP $!stem
%nterface %nterface
Function "rou
$ource code
$tructure o)
BAPICname
Inter)ace arameters t!ed
*ith a ,ictionar! structure
that is comiled )or the BAPI
(o user
dialo"s
(o C9A(%I(%
arameters
(o
e+cetions
/rror messa"es
throu"h /MP08T
arameter RETURN
(structure or
internal table)
8emote
caabilit!
=un-tion mo'ules *or 8A1s must *ul*ill t.e *ollo+in7 reEuirements)
2amin7 -onvention 'API5L20&*#e&&523e+$5#%"eM5L"e$-85#%"eM must be use'
Remote -a,ability
2o user 'ialo7s0 neit.er s-reens nor messa7es0 allo+e'
1nter*a-e ,arameters must be ty,e' +it. a Di-tionary stru-ture t.at +as -reate' *or t.is 8A1
Stru-tures must -om,ly +it. t.e namin7 -onvention 'API5L&$,0+$0,e5#%"eM an' are
-.an7e' only on a -om,atible basis
2o CHANGING ,arameters allo+e'
2o e:-e,tions allo+e'. 4rrors are re,orte' to t.e user t.rou7. t.e s,e-ial e:,ort ,arameter
RET*RN%
SA A! "A#$0 $B%23
7.24
SAP AG 2003
Callin" a BAPI Function 6odule )rom an ABAP
Pro"ram
ABAP ro"ram
CALL FUNCTION <'API5...< CALL FUNCTION <'API5...<
EXPORTING EXPORTING
... ...
IMPORTING IMPORTING
... ...
,e$0,# ,e$0,# ; ... ; ...
For currenc! and .uantit! )ields3
Possible con'ersion to
=e+ternal )ormat=
B08
For currenc! and .uantit! )ields3
Possible con'ersion to
=e+ternal )ormat=
BACH
1* you +oul' li(e to use a 8A1 in t.e SA R/3 System0 you -an -all t.e *un-tion mo'ule -ontainin7
it.
ay attention to t.e limitations alrea'y mentione'.
8A1 inter*a-es are -reate' a--or'in7 to t.e nee's *or t.e Le:ternalL -all0 t.at is0 *rom a non%R/3
System. Quantities are e:,e-te' in an e:ternal *ormat +it. 4 or 9 'e-imal ,la-es. ".e Euantities
must be trans*erre' to t.e inter*a-e in -onverte' *ormat0 even i* t.e -orres,on'in7 -urren-y .as no
'e-imal ,la-es.
=or t.is -onversion you -an use *un-tion mo'ules *rom t.e 0AC1 *un-tion 7rou, @'evelo,ment
-lass S0FD0A5A.
SA A! "A#$0 $B%24
7.25
SAP AG 2003
Create )unction "rous and )unction modules
Add )unction module calls to !our ro"ram
Add ob1ect instantiations and method calls to
!our ro"ram
Add the A7H "rid control to disla! data in a )i+ed
screen area
Create in)ormation usin" BAPIs
Add BAPI calls to !our ro"ram&
;ou are no* able to3
%lobal 6odulariEation3
5nit $ummar!
SA A! "A#$0 $B%25
7.26Function 4roups an" Function %o"ules !(ercises
/nit$ 4lo&al %o"ulari9ation
Topic$ Creatin. an" Callin. Function 4roups an"
Function %o"ules
At t.e -on-lusion o* t.ese e:er-ises0 you +ill be able to)
&reate an' im,lement *un-tion 7rou,s
1m,lement *un-tion mo'ules
&all *un-tion mo'ules
Fou are a 'evelo,er *or an airline -onsortium. Four tas( is to 'evelo,
evaluation ,ro7rams *or several airlines.
$. All ,lane ty,es t.at are available *or ea-. airline s.oul' be store' in a *un-tion 7rou, in an
internal table. =or sim,li-ity0 t.ese s.oul' .ave a *lat line stru-ture an' not a neste'
stru-ture.
AA is your t*o)"i.it .roup num&er
Mo'el solution)
TAW40_BASICS_FLIG/T
$%$ &reate *un-tion 7rou, @AA5TA7?)5FLIGHT.
$%2 Assi7n it to messa7e -lass TA7?).
Fou -an *in' t.e ,ro7ram 1D in t.e L"3 in-lu'eL
@LTA7?)5'ASICS5FLIGHTTOPA.
$%3 Do-ument your *un-tion 7rou,.
SA A! "A#$0 $B%26
2. A *un-tion mo'ule s.oul' *ill internal tables *or ,lane ty,es. 3nly t.e available
re,la-ement ty,es *or t.e airline +it. su**i-ient seats s.oul' be +ritten to t.e table.
=rom t.e total ,ri-es t.at are trans*erre'0 t.e avera7e ,ri-e *or ea-. seat s.oul' also be
-al-ulate'. ".e ,lane list s.oul' t.en be sorte' in 'es-en'in7 or'er be*ore it is returne'.
AA is your t*o)"i.it .roup num&er
Mo'el solutions)
TAW40_BASICS_FLIG/T
TAW40_BASICS_CREATE_PLANELIST
2%$ &reate *un-tion mo'ule @5AA5TA7?)5CREATE5PLANELIST +it.in your
*un-tion 7rou, @AA5TA7?)5FLIGHT.
2%2 De-lare t.e line ty,e $5+%,,5!l%#e as your *un-tion 7rou,Us 7lobal 'ata ty,e. 1t
s.oul' be stru-ture' as *ollo+s)
&om,onent "y,e
carri" s-ar,lan%-arri'
,lanety,e s-ar,lan%,lanety,e
seatsma: sa,lane%seatsma:
".e line ty,e assi7ns t.e airline to t.e ,lane ty,e.
2%3 De-lare t.e internal table *$5+%,,5!l%#e& +it. line ty,e $5+%,,5!l%#e as
t.e 7lobal 'ata obHe-t o* your *un-tion 7rou,. 1t s.oul' be in t.e *orm o* a sorte'
table +it. t.e uniEue (ey +%,,*8 an' !l%#e$.!e.
2%4 =ill t.e internal table *$5+%,,5!l%#e& *or ea-. array *et-. usin7 vie+
TA7?)5CARPLAN.
&.oose an a,,ro,riate time *or t.e event to o--ur. Remember t.at a
*un-tion 7rou, -annot be e:e-ute' 'ire-tly.
1m,lement t.e -orres,on'in7 event blo-( in a suitable in-lu'e
,ro7ram t.at you .ave a''e' to t.e main ,ro7ram at a suitable
lo-ation. A'.ere to t.e namin7 -onventions *or *un-tion 7rou,
in-lu'e ,ro7rams.
2%5 2o+ 'e-lare t.e im,ort ,arameter +it. ,ass by value *or your *un-tion mo'ule)
*!5&e%$&++ as an o,tional ,arameter +it. t.e 'e*ault value 00
*!5+%,,*80 *!5!%."e#$&0"0 *!5+0,,e#+..
2%6 De-lare t.e e:,ort ,arameter e!5!l%#el*&$ +it. ,ass by value. Assi7n a ty,e
usin7 t.e 7lobal table ty,e TA7?)5TYPS5PLANETA'.
2%B De-lare t.e e:-e,tion #5!l%#e& an' 'o-ument it.
SA A! "A#$0 $B%2B
2%C 1n t.e *un-tion mo'ule0 -reate lo-al stru-ture l54%5+%,,5!l%#e o* ty,e
$5+%,,5!l%#e.
2%9 =rom t.e 7lobal internal table0 rea' t.ose ,lane ty,es t.at are available to t.e airline
an' +.i-. .ave su**i-ient seats *or t.e boo(in7 t.at +as trans*erre'.
1n t.is loo, -al-ulate t.e avera7e ,ri-e *or ea-. seat *or ea-. ,lane ty,e. Also
'e-lare +or( area l54%5!l%#e as a lo-al 'ata obHe-t +it.in t.e *un-tion mo'ule.
Assi7n a ty,e usin7 t.e 7lobal stru-ture TA7?)5TYPS5PLANE.
Atta-. t.e completely #ille" +or( area to t.e internal table to be e:,orte'.
2%$0 8e*ore e:,ortin70 sort t.e internal table by t.e avera7e ,ri-e ,er seat.
2%$$ "ri77er t.e e:-e,tion i* no suitable ,lane ty,es -oul' be *oun'. 1m,lement t.e
tri77er usin7 error messa7e )()0 s,e-i*yin7 t.e airline.
2%$2 Do-ument your *un-tion mo'ule.
2%$3 "est your *un-tion mo'ule.
SA A! "A#$0 $B%2C
3. 1* a ,lane brea(s 'o+n t.at is alrea'y s-.e'ule' *or a *li7.t an' alrea'y .as boo(in7s0 a
re,la-ement ,lane must be use'. #rite a ,ro7ram t.at out,uts all t.e available
re,la-ement ,lane ty,es *or ea-. airline in a list. Fou -an obtain t.e 'ata *or t.e list usin7
t.e *un-tion mo'ule you -reate' in "as( 2.
Mo'el solution)
TAW40_BASICS_CALL_F*NCTION
3%$ &reate a ne+ ,ro7ram @AA5TA7?)5SU'STITUTE5PLANES.
3%2 1n t.e ,ro7ram0 'e*ine an internal table *$5!l%#el*&$ t.at stores t.e
re,la-ement ,lane ty,es. ".e ty,e o* t.is internal table results *rom t.e *un-tion
mo'ule inter*a-e.
3%3 ".e user s.oul' Euery t.e 1M3R"12! ,arameters o* t.e *un-tion mo'ule usin7 a
sele-tion s-reen0 +.ere t.e *iel' *or t.e airline must be a man'atory *iel'.
3%4 &all your *un-tion mo'ule @5AA5TA7?)5CREATE5PLANELIST @use SampleA
an' ,o,ulate t.e inter*a-e. &at-. t.e e:-e,tions +it. a,,ro,riate error messa7es
@error messa7es 40 an' 4$ o* messa7e -lass "A#$0A. 4nsure t.at users return to
t.e sele-tion s-reen +.en an e:-e,tion o--urs.
3%5 Dis,lay t.e table *$5!l%#el*&$ *ille' by t.e *un-tion mo'ule in a list. 9se a
*iel' symbol *or t.is.
SA A! "A#$0 $B%29
7.27Function 4roups an" Function %o"ules Solutions
/nit$ 4lo&al %o"ulari9ation
Topic$ Creatin. an" Callin. Function 4roups an"
Function %o"ules
$%$0 2%4 %o"el solution SAPLTA7?)5'ASICS5FLIGHT
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: S$+#em.de!"ned In-',de.!"'e+% :
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
INCLUDE l$%4?)52%&*+&51l*/-$$!. J G'o(a' Da#a
INCLUDE l$%4?)52%&*+&51l*/-$0BB. J F,n-#"on Mod,'e+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: *+e.de!"ned In-',de.!"'e+ E"! ne-e++a$F% :
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
INCLUDE l$%4?)52%&*+&51l*/-$$!. J S,(po&am+
: INCL*DE LTAW40_BASICS_FLIG/TO%%% J PBO.Mod,'e+
: INCL*DE LTAW40_BASICS_FLIG/TI%%% J PAI.Mod,'e+
INCLUDE l$%4?)52%&*+&51l*/-$e)?. J E3en#+
$%20 2%20 2%3 %o"el solution LTA7?)5'ASICS5FLIGHTTOP
FUNCTION6POOL TA7?)5'ASICS5FLIGHT MESSAGE6ID $%4?).
TYPES:
'EGIN OF $5+%,,5!l%#e:
+%,,*8 TYPE &+%,!l%#6+%,,*8:
!l%#e$.!e TYPE &+%,!l%#6!l%#e$.!e:
&e%$&"%B TYPE &%!l%#e6&e%$&"%B:
END OF $5+%,,5!l%#e.
DATA:
*$5+%,,5!l%#e& TYPE SORTED TA'LE OF $5+%,,5!l%#e
7ITH UNIQUE CEY +%,,*8 !l%#e$.!e.
SA A! "A#$0 $B%30
2%4 %o"el solution LTA7?)5'ASICS5FLIGHTE)?
:............................................................:
: INCL*DE LTAW40_BASICS_FLIG/TE04 :
:............................................................:
LOAD6OF6PROGRAM.
SELECT +%,,*8 !l%#e$.!e &e%$&"%B
FROM $%4?)5+%,!l%#
INTO CORRESPONDING FIELDS OF TA'LE *$5+%,,5!l%#e&.
2%$0 2%5 D 2%$$ %o"el solution TA7?)5'ASICS5CREATE5PLANELIST
FUNCTION TA7?)5'ASICS5CREATE5PLANELIST.
:J............................................................
:J:JLo-a' "n#e!a-e<
:J IMPORTING
:J )AL*EEIP_SEATSOCCF TYPE SFLIG/T.SEATSOCC DEFA*LT 0
:J )AL*EEIP_CARRIDF TYPE SPFLI.CARRID
:J )AL*EEIP_PAYMENTS*MF TYPE SFLIG/T.PAYMENTS*M
:J )AL*EEIP_C*RRENCYF TYPE SFLIG/T.C*RRENCY
:J EKPORTING
:J )AL*EEEP_PLANELISTF TYPE TAW40_TYPS_PLANETAB
:J EKCEPTIONS
:J NO_PLANES
:J............................................................
DATA:
l54%5+%,,5!l%#e TYPE $5+%,,5!l%#e:
l54%5!l%#e TYPE $%4?)5$.!&5!l%#e.
LOOP AT *$5+%,,5!l%#e& INTO l54%5+%,,5!l%#e
7HERE +%,,*8 EQ *!5+%,,*8
AND &e%$&"%B GE *!5&e%$&++.
l54%5!l%#e6!l%#e$.!e ; l54%5+%,,5!l%#e6!l%#e$.!e.
l54%5!l%#e6&e%$&"%B ; l54%5+%,,5!l%#e6&e%$&"%B.
l54%5!l%#e6%v/5!,*+e ;
*!5!%."e#$&0" / l54%5+%,,5!l%#e6&e%$&"%B.
l54%5!l%#e6+0,,e#+. ; *!5+0,,e#+..
APPEND l54%5!l%#e TO e!5!l%#el*&$.
ENDLOOP.
IF &.6&02,+ NE ).
MESSAGE e)() RAISING #5!l%#e& 7ITH *!5+%,,*8.
ELSE.
SORT e!5!l%#el*&$ 'Y %v/5!,*+e DESCENDING.
ENDIF.
ENDFUNCTION.
SA A! "A#$0 $B%3$
3 %o"el solution TA7?)5'ASICS5CALL5FUNCTION
:C...........................................................:
:C Repo# TAW40_BASICS_CALL_F*NCTION :
:C :
:C...........................................................:
:C +o',#"on o! e0e-"+e 6 !,n-#"on &o,p+ :
:C and !,n-#"on mod,'e+ :
:C...........................................................:
REPORT #a940_(a+"-+_-a''_!,n-#"on%
DATA< "#_p'ane'"+# TYPE #a940_#$p+_p'ane#a(%
FIELD.SYMBOLS< 1p'ane2 TYPE LINE OF #a940_#$p+_p'ane#a(%
PARAMETERS< pa_-a TYPE +!'"&;#.-a"d OBLIGATORY7
pa_o-- TYPE +!'"&;#.+ea#+o--7
pa_pa$+, TYPE +!'"&;#.pa$men#+,m7
pa_-, TYPE +!'"&;#.-,en-$ DEFA*LT AE*RA%
AT SELECTION.SCREEN%
CALL F*NCTION ATAW40_BASICS_CREATE_PLANELISTA
EKPORTING
"p_+ea#+o-- = pa_o--
"p_-a"d = pa_-a
"p_pa$men#+,m = pa_pa$+,
"p_-,en-$ = pa_-,
IMPORTING
ep_p'ane'"+# = "#_p'ane'"+#
EKCEPTIONS
no_p'ane+ = 4
OT/ERS = 5%
CASE +$.+,(-%
W/EN 4%
MESSAGE e040E#a940F WIT/ pa_-a%
W/EN 5%
MESSAGE e044E#a940F%
ENDCASE%
START.OF.SELECTION%
LOOP AT "#_p'ane'"+# ASSIGNING 1p'ane2%
WRITE< > 1p'ane2.p'ane#$pe7
1p'ane2.+ea#+ma07
SA A! "A#$0 $B%32
1p'ane2.a3&_p"-e C*RRENCY 1p'ane2.-,en-$7
1p'ane2.+ea#+ma07
ENDLOOP%
SA A! "A#$0 $B%33
8
SAP AG 2002
Techni.ues )or callin" ro"rams
6emor! model
Techni.ues )or assin" data
5se
Contents3
Callin" Pro"rams and Passin" ,ata
SA A! "A#$0 $C%$
8.2
SAP AG 2002
,escribe the $AP 8/# memor! model
Call e+ecutable ro"rams
Call transactions
5se the 'arious memor! areas to ass data
At the conclusion o) this unit2 !ou *ill be able to3
Callin" Pro"rams and Passin" ,ata3 5nit 0b1ecti'es
SA A! "A#$0 $C%2
8.3
SAP AG 2002
Callin" Pro"rams and Passin" ,ata (1)
Callin" ro"rams
Callin" ro"rams
6emor! mana"ement
6emor! mana"ement
Passin" data
Passin" data
SA A! "A#$0 $C%3
8.4
SAP AG 2002
Callin" Pro"rams
2 2
3 3
Main
#e#ory
2 2
3 3
Main
#e#ory
3 3
(e* ro"ram
/nd insert
1 1
2 2
Pro"ram 1
Pro"ram 2
Ti#e
Insertion
Restart
Insert ro"ram
".ere are t+o +ays o* startin7 an A8A ,ro7ram *rom anot.er A8A ,ro7ram t.at is alrea'y runnin7)
".e -alle' ,ro7ram is inserte'0 t.at is t.e -urrent ,ro7ram is interru,te' to run t.e ne+ one. ".e
-alle' ,ro7ram is e:e-ute'0 an' a*ter+ar's0 ,ro-essin7 returns to t.e ,ro7ram t.at -alle' it.
".e -urrent ,ro7ram is terminate' an' t.e -alle' ,ro7ram is starte'.
&om,lete A8A ,ro7rams +it.in a sin7le user session -an only run seEuentially. #e re*er to t.is
te-.niEue as se=uential callin..
1* you +ant to run *un-tions in ,arallel0 you must use *un-tion mo'ules. =or *urt.er in*ormation about
t.is te-.niEue0 re*er to t.e -ourse 0C4,5 FCommunication 5nter#aces in A0AG or t.e 'o-umentation
*or t.e CALL FUNCTION ... STARTING NE7 TASC ... statement.
SA A! "A#$0 $C%4
8.5
SAP AG 2002
Callin" an /+ecutable Pro"ram
Pro"ram 1
...
SU'MIT !,/5#%"e52.
...
...
SU'MIT !,/5#%"e52
AND RETURN.
...
...
SU'MIT !,/5#%"e52
>IA SELECTION6SCREEN
AND RETURN.
...
ro"CnameC2
P80%8A6 &&&
&&&
7ist
$election $creen
Pro"ram 2
F#
F# F#
ro"CnameC2
P80%8A6 &&&
&&&
7ist
F#
ro"CnameC2
P80%8A6 &&&
&&&
7iste
Insertion
Restart
Insertion
"o start an e:e-utable ,ro7ram0 use t.e SU'MIT statement.
1* you use t.e >IA SELECTION6SCREEN a''ition0 t.e system 'is,lays t.e stan'ar' sele-tion s-reen
o* t.e ,ro7ram @i* one .as been 'e*ine'A.
1* you use t.e AND RETURN a''ition0 t.e system resumes ,ro-essin7 +it. t.e *irst statement a*ter t.e
SU'MIT statement on-e t.e -alle' ,ro7ram .as *inis.e'.
=or *urt.er in*ormation0 re*er to t.e 'o-umentation *or t.e SU'MIT statement.
SA A! "A#$0 $C%5
8.6
SAP AG 2002
Callin" a Transaction
$AP6 tCname
&&&
7/AH/ P80%8A6&
&&&
Pro"ram 1
...
LEA>E TO TRANSACTION AT_CODEA
GAND SCIP FIRST SCREENI.
...
1& $creen
2& $creen
F1B
Pro"ram 23 Transaction (C4E (C4E
$AP6 tCname
&&&
7/AH/ P80%8A6&
&&&
...
CALL TRANSACTION AT_CODEA
GAND SCIP FIRST SCREENI.
...
1& $creen
2& $creen
F1B
Insertion
Restart
#it. t.e LEA>E TO TRANSACTION <T_CODE< statement you terminate t.e -urrent ,ro7ram an'
start t.e transa-tion +it. transa-tion -o'e T5CODE. ".e statement is t.e eEuivalent to enterin7
/#1T_CODE2 in t.e -omman' *iel'.
CALL TRANSACTION AT_CODEA allo+s you to insert A8A ,ro7rams t.at .ave a transa-tion -o'e.
"o terminate an A8A ,ro7ram0 use t.e LEA>E PROGRAM statement. 1* t.e statement is use' in a
,ro7ram t.at you -alle' usin7 CALL TRANSACTION AT_CODEA or SU'MIT po&_name AND
RETURN0 t.e system resumes ,ro-essin7 at t.e ne:t statement a*ter t.e -all in t.e -allin7 ,ro7ram.
3t.er+ise0 t.e user returns to t.e a,,li-ation menu *rom +.i-. .e or s.e starte' t.e ,ro7ram.
1* you use t.e ... AND SCIP FIRST SCREEN a''ition0 t.e system 'oes not 'is,lay t.e screen
contents o* t.e *irst s-reen. >o+ever0 it 'oes ,ro-ess t.e *lo+ lo7i-.
1* t.e transa-tion T_CODE you -alle' +it. CALL TRANSACTION uses u,'ate te-.niEues0 you -an use
t.e UPDATE... a''ition to s,e-i*y t.e u,'ate te-.niEue @asyn-.ronous @'e*aultA0 syn-.ronous0 or
lo-alA t.at t.e ,ro7ram s.oul' use. =or *urt.er in*ormation0 re*er to -ourse 0C4,4 Fro.rammin.
>ata&ase /p"atesG an' t.e online 'o-umentation.
SA A! "A#$0 $C%6
8.7
SAP AG 2002
Callin" Pro"rams and Passin" ,ata (2)
Callin" ro"rams
Callin" ro"rams
6emor! mana"ement
6emor! mana"ement 6emor! mana"ement
Passin" data
Passin" data
SA A! "A#$0 $C%B
8.8
SAP AG 2002
7o"ical 6emor! 6odel
/+ternal session (*indo*) 1
A
B
A
P
m
e
m
o
r
!
1
Internal session 1&1
Pro"ram 1&1
/+ternal session (*indo*) 2
A
B
A
P
m
e
m
o
r
!
2
Internal session 2&1
Pro"ram 2&1
$AP memor!
5ser terminal session
Internal session 1&2
Pro"ram 1&2
".e +ay in +.i-. t.e main memory is or7ani<e' *rom t.e ,ro7ramYs ,oint o* vie+ -an be re,resente' in t.e
above lo7i-al mo'el. ".ere is a 'istin-tion bet+een internal an' e:ternal sessions)
!enerally0 an e(ternal session is -onne-te' to an R/3 +in'o+. Fou -an -reate a ne+ session by
-.oosin7 System 6ew Session or by enterin7 /1T_CODE2 in t.e -omman' *iel'. Fou -an
.ave u, to si: e:ternal sessions o,en simultaneously in one terminal session.
4:ternal sessions are sub'ivi'e' into internal sessions @,la-e' on a stac'A. 4a-. ,ro7ram t.at you
run o--u,ies its o+n internal session. 4a-. e:ternal session -an -ontain u, to nine internal
sessions.
Data *or a ,ro7ram is only +isi&le *ithin an internal session. ".e visibility o* t.e 'ata is 7enerally restri-te' to
t.e relevant ,ro7ram.
".e *ollo+in7 sli'es illustrate .o+ t.e sta-( insi'e an e:ternal session -.an7es +it. various ,ro7ram -alls.
SA A! "A#$0 $C%C
8.C
SAP AG 2002
Insertin" a Pro"ram (1)
E"ternal session &window) 3
A
B
A
P
m
e
m
o
r
y
3
Internal session 1&1
Pro"ram 1&1
E"ternal session &window) 2
A
B
A
P
m
e
m
o
r
y
2
Internal session 2&1
Pro"ram 2&1
SAP memory
#ser terminal session
SA A! "A#$0 $C%9
8.,0
SAP AG 2002
Insertin" a Pro"ram (2)
E"ternal session &window) 3
A
B
A
P
m
e
m
o
r
y
3
Internal session 1&1
Pro"ram 1&1
E"ternal session &window) 2
A
B
A
P
m
e
m
o
r
y
2
Internal session 2&1
Pro"ram 2&1
SAP memory
#ser terminal session
Internal session 1&2
Pro"ram 1&2 Pro"ram 1&2
-nsertion
#.en you insert a ,ro7ram0 t.e system -reates a ne+ internal session0 +.i-. in turn -reates a ne+
,ro7ram -onte:t.
".e ne+ session is ,la-e' on t.e sta-( ".e ,ro7ram -onte:t o* t.e -allin7 ,ro7ram also remains inta-t.
SA A! "A#$0 $C%$0
8.,,
SAP AG 2002
Terminatin" the Inserted Pro"ram
E"ternal session &window) 3
A
B
A
P
m
e
m
o
r
y
3
Internal session 1&1
Pro"ram 1&1
E"ternal session &window) 2
A
B
A
P
m
e
m
o
r
y
2
Internal session 2&1
Pro"ram 2&1
SAP memory
#ser terminal session
#.en t.e -alle' @inserte'A ,ro7ram *inis.es0 its internal session @t.e to, one in t.e sta-(A is 'elete'.
ro-essin7 is resume' in t.e ne:t%.i7.est internal session in t.e sta-(.
SA A! "A#$0 $C%$$
8.,2
SAP AG 2002
8estartin" an /+ecutable Pro"ram (1)
E"ternal session &window) 3
A
B
A
P
m
e
m
o
r
y
3
Internal session 1&1
Pro"ram 1&1
E"ternal session &window) 2
A
B
A
P
m
e
m
o
r
y
2
SAP memory
#ser terminal session
Internal session 1&2
Pro"ram 1&2
Internal session 1&#
Pro"ram 1&#
Internal session 2&1
Pro"ram 2&1
#.en you en' a ,ro7ram an' start a ne+ one0 t.ere is a 'istin-tion bet+een -allin7 an e:e-utable
,ro7ram an' -allin7 a transa-tion0 +it. re7ar' to memory areas.
SA A! "A#$0 $C%$2
8.,3
SAP AG 2002
8estartin" an /+ecutable Pro"ram (2)
E"ternal session &window) 3
A
B
A
P
m
e
m
o
r
y
3
Internal session 1&1
Pro"ram 1&1
E"ternal session &window) 2
A
B
A
P
m
e
m
o
r
y
2
SAP memory
#ser terminal session
Internal session 1&2
Pro"ram 1&2
Internal session 1&#:
Pro"ramm Pro"ramm 1&#: 1&#:
Internal session 2&1
Pro"ram 2&1
Restart
1* you -all an e:e-utable ,ro7ram usin7 its ,ro7ram name @terminatin7 t.e -allin7 ,ro7ramA0 t.e system
'eletes t.e internal session o* t.e ,ro7ram t.at you are terminatin7 @t.e to, one *rom t.e sta-(A.
".e system -reates a ne+ internal session0 +.i-. in turn -reates t.e ,ro7ram -onte:t o* t.e -alle'
,ro7ram.
".e ne+ session is ,la-e' on t.e sta-( 4:istin7 ,ro7ram -onte:ts remain inta-t. ".e to,most internal
session on t.e sta-( is re,la-e'.
SA A! "A#$0 $C%$3
8.,4
SAP AG 2002
8estartin" a Transaction (1)
/+ternal session (*indo*) 1
A
B
A
P
m
e
m
o
r
!
1
Internal session 1&1
Pro"ram 1&1
E"ternal session &window) 2
A
B
A
P
m
e
m
o
r
y
2
SAP memory
#ser terminal session
Internal session 1&2
Pro"ram 1&2
Internal session 1&#
Pro"ram 1&#
Internal session 2&1
Pro"ram 2&1
SA A! "A#$0 $C%$4
8.,5
SAP AG 2002
8estartin" a Transaction (2)
/+ternal session (*indo*) 1:
A
B
A
P
m
e
m
o
r
!
1
:
Interner 6odus 1:&1
Pro"ram 1:&1 Pro"ram 1:&1
E"ternal session &window) 2
A
B
A
P
m
e
m
o
r
y
2
SAP memory
#ser terminal session
Internal session 2&1
Pro"ram 2&1
Restart
(complete
initialization)
1* you start a ,ro7ram usin7 its transaction co"e @t.at is0 i* one +as 'e*ine'A0 all o* t.e internal
sessions on t.e sta-( are 'elete'.
".e system -reates a ne+ internal session0 +.i-. in turn -reates t.e ,ro7ram -onte:t o* t.e -alle'
,ro7ram.
A*ter t.e -all0 t.e A8A memory is initiali9e".
SA A! "A#$0 $C%$5
8.,6
SAP AG 2002
Callin" Pro"rams and Passin" ,ata (#)
Callin" ro"rams
Callin" ro"rams
6emor! mana"ement
6emor! mana"ement
Passin" data
Passin" data Passin" data
SA A! "A#$0 $C%$6
8.,7
SAP AG 2002
0'er'ie*3 Passin" ,ata Bet*een Pro"rams
Pro"ram A 3 3
@ @
4B 4B
Inter)ace
$AP memor!
($/T/%/T arameters)
ABAP memor!
2 2
3 3
Pro"ram B
> >
".ere are various +ays o* ,assin7 'ata to ,ro7rams runnin7 in se,arate internal sessions)
Fou -an use)
C".e inter*a-e o* t.e -alle' ,ro7ram @usually a stan'ar' sele-tion s-reenA
CA8A memory
CSA memory
CDatabase tables
C6o-al *iles on your ,resentation server
".e *ollo+in7 sli'es 'eal +it. t.e *irst t.ree o* t.ese met.o's.
=or *urt.er in*ormation re7ar'in7 t.e ,assin7 o* 'ata usin7 'atabase tables or t.e s*ared uffer0 re*er to
t.e 'o-umentation *or t.e EXPORT an' IMPORT statements.
=or *urt.er in*ormation on trans*errin7 'ata bet+een an A8A ,ro7ram an' a ,resentation server0 re*er
to t.e 'o-umentation *or t.e *un-tion mo'ules GUI5UPLOAD an' GUI5DO7NLOAD.
SA A! "A#$0 $C%$B
8.,8
SAP AG 2002
Passin" ,ata 5sin" the Pro"ram Inter)ace
Pro"ram A
4
a
t
a
4
a
t
a
Pro"ram B
Standard selection screen
#.en you -all A8A ,ro7rams t.at .ave a stan'ar' sele-tion s-reen0 you -an ,ass 'ata *or t.e in,ut *iel's in t.e
-all.
".ere are t+o +ays to 'o t.is)
8y s,e-i*yin7 a variant *or t.e sele-tion s-reen +.en you -all t.e ,ro7ram
8y s,e-i*yin7 values *or t.e in,ut *iel's +.en you -all t.e ,ro7ram
SA A! "A#$0 $C%$C
8.,C
SAP AG 2002
Preassi"nin" Halues )or Inut Fields
DATA &e$ TYPEHLICE RANGE OF $.!eH8%$%23e+$X.
SU'MIT !,/5#%"e AND RETURN G>IA SELECTION6SCREENI
7ITH !%,%"e$e, EQHNEH... v%l
7ITH &el5!$ EQHNEH... v%l SIGN <I<H<E<X
7ITH &el5!$ 'ET7EEN v%l? AND v%l2 SIGN <I<H<E<X
7ITH &el5!$ NOT 'ET7EEN v%l? AND v%l2 SIGN <I<H<E<X
7ITH &el5!$ IN &e$
... .
Insert attern
)ther pattern S*BMI#
Pattern for SUBMIT
statement inserts the
appropriate frame for the
program call into the
source coe
".e 7ITH a''ition to t.e SU'MIT statement allo+s you to ,reassi7n values *or ,arameters an'
sele-tion o,tions on a stan'ar' sele-tion s-reen o* t.e -alle' e:e-utable ,ro7ram. ".e abbreviations
LEQ0 NE0 ...I I0 EL .ave t.e same meanin7s as +it. sele-tion o,tions.
1* you +ant to ,ass several sele-tions *or a sele-tion o,tion0 you -an use t.e RANGE statement instea'
o* in'ivi'ual 7ITH a''itions. ".e RA2!4S statement -reates a sele-tion table0 +.i-. you -an *ill as
t.ou7. it +ere a sele-tion o,tion. Fou t.en ,ass t.e +.ole table to t.e e:e-utable ,ro7ram.
1* you +ant to 'is,lay t.e stan'ar' sele-tion s-reen +.en you -all t.e ,ro7ram0 use t.e >IA
SELECTION6SCREEN a''ition.
#.en you use t.e SU'MIT statement0 use t.e attern *un-tion in t.e A8A 4'itor to insert an
a,,ro,riate statement ,attern *or t.e ,ro7ram you +ant to -all. 1t automati-ally su,,lies t.e names o*
t.e ,arameters an' sele-tion o,tions t.at are available on t.e stan'ar' sele-tion s-reen.
=or *urt.er in*ormation about +or(in7 +it. variants an' about ot.er synta: variants o* t.e 7ITH
a''ition0 re*er to t.e 'o-umentation *or t.e SU'MIT statement.
SA A! "A#$0 $C%$9
8.20
SAP AG 2002
ABAP 6emor! and $AP 6emor!
/+ternal session (*indo*) 1
A
B
A
P
m
e
m
o
r
!
1
Internal session 1&1
Pro"ram 1&1
/+ternal session (*indo*) 2
A
B
A
P
m
e
m
o
r
!
2
Internal session 2&1
Pro"ram 2&1
$AP memor! ($/T /%/T arameters) $AP memor! ($/T /%/T arameters)
5ser terminal session
Internal session 1&2
Pro"ram 1&2
Internal session 2&2
Pro"ram 2&2
Fou -an use SA memory an' A8A memory to ,ass 'ata bet+een ,ro7rams.
SA memory is a user%s,e-i*i- memory area *or storin7 #iel" +alues. 1t is only o* limite' value *or
,assin7 'ata bet+een internal sessions. ;alues in SA memory are retaine' *or t.e 'uration o* t.e
userYs terminal session. ".e memory -an be use' bet+een sessions in t.e same terminal session.
Fou -an use t.e -ontents o* SA memory as 'e*ault values *or s-reen *iel's. All e(ternal sessions
-an use t.e SA memory.
A0A memory is also user%s,e-i*i-. ".ere is a lo-al A8A memory *or ea-. e:ternal session.
Fou -an use it to e:-.an7e any A0A +aria&les @*iel's0 stru-tures0 internal tables0 -om,le:
obHe-tsA bet+een t.e internal sessions in any one e:ternal session.
#.en t.e user e:its an e:ternal session @/* in t.e -omman' *iel'A0 t.e -orres,on'in7 A8A
memory is automati-ally initiali<e' or release'.
SA A! "A#$0 $C%20
8.2,
SAP AG 2002
Passin" ,ata 5sin" the ABAP 6emor!
PROGRAM !? ... .
DATA: !?5&!1l* TYPE &!1l*:
*$5&!1l* TYPE STANDARD TA'LE
OF &!1l*.
...
PROGRAM !2 ... .
DATA: !25&!1l* TYPE &!1l*:
*$5&!1l* TYPE STANDARD TA'LE
OF &!1l*.
...
*aC)li
itCs)li
6;CI,
ABAP memor!
6;CI,1 &&&
EXPORT EXPORT
4%51l* FROM !?5&!1l* 4%51l* FROM !?5&!1l*
*$5&!1l* *$5&!1l*
TO MEMORY ID <MY5ID<. TO MEMORY ID <MY5ID<.
IMPORT IMPORT
4%51l* TO !25&!1l* 4%51l* TO !25&!1l*
*$5&!1l* *$5&!1l*
FROM MEMORY ID <MY5ID<. FROM MEMORY ID <MY5ID<.
Internal session 1
Internal session 2
".e EXPORT ... TO MEMORY statement allo+s you to -o,y any number o* A8A 'ata obHe-ts
+it. t.eir -urrent values to t.e A8A memory @'ata -lusterA.
".e ID ... a''ition enables you to i'enti*y 'i**erent -lusters @ma:imum o* 60 -.ara-tersA.
1* you use a ne+ EXPORT TO MEMORY statement *or an e:istin7 'ata -luster0 t.e ne+ one +ill
over+rite t.e ol'.
".e IMPORT ... FROM MEMORY ID ... statement allo+s you to -o,y t.e 'ata *rom t.e A8A
memory into -orres,on'in7 'ata obHe-ts o* your A8A ,ro7ram.
1t is also ,ossible to only im,ort ,arts o* 'ata -lusters usin7 IMPORT.
".e 'ata obHe-ts t.at are to re-eive t.e 'ata *rom t.e A8A memory -luster must .ave t.e same ty,es
in bot. t.e -allin7 an' t.e -alle' ,ro7rams.
"o release a 'ata -luster0 use t.e FREE MEMORY ID ... statement.
8ear in min' t.at +.en you -all ,ro7rams usin7 transa-tion -o'es0 you -an only use t.e A8A
memory to ,ass 'ata *hen insertin. @CALL TRANSACTIONA.
SA A! "A#$0 $C%2$
8.22
SAP AG 2002
Passin" Parameters 5sin" the $AP 6emor!
$AP memor! $AP memor!
CA8 CA8
79
Pro0ram A Pro0ram A
Airline
Connection
79
or
or
Pro0ram B Pro0ram B
Airline
Connection
79
$/T
%/T
C0( C0(
@00
@00
@00
SET PARAMETER ID
<CON< FIELD &8.#5+##6+##*8.
CALL TRANSACTION ... .
GET PARAMETER ID
<CON< FIELD &8.#5+##6+##*8.
Fou -an 'e*ine memory areas @,arametersA in t.e SA memory in various +ays)
8y -reatin7 in,ut/out,ut *iel's +it. re*eren-e to t.e A8A Di-tionary. ".ese ta(e t.e ,arameter
name o* t.e 'ata element to +.i-. t.ey re*er.
Alternatively0 you -an enter a name in t.e attributes o* t.e in,ut/out,ut *iel's.
>ere0 you -an also -.oose +.et.er t.e entries *rom t.e *iel' s.oul' be trans*erre' to t.e ,arameter
@SETA0 or +.et.er t.e in,ut *iel' s.oul' be *ille' +it. t.e value *rom t.e ,arameter @GETA.
"o *in' out about t.e names o* t.e ,arameters assi7ne' to in,ut *iel's0 'is,lay t.e *iel' .el, *or t.e
*iel' @=$A0 t.en -.oose %ec*nical info.
Fou -an also *ill t.e memory areas 'ire-tly usin7 t.e SET PARAMETER ID APAR_IDA
FIELD 3a. statement an' rea' t.em usin7 GET PARAMETER ID <PAR_ID< FIELD
3a.
=inally0 you -an 'e*ine ,arameters in t.e O4ect 6avigator an' let t.e user *ill t.em +it. values.
SA A! "A#$0 $C%22
8.23
SAP AG 2002
Pre'ie*3 Passin" ,ata 5sin" an Internal Table
$AP6 tCname
&&&
7/AH/ P80%8A6&
&&&
1st screen
2nd screen
F1B
Pro"ram 23 Transaction (EC4E (EC4E Pro"ram 1
...
DATA:
2*5*$%2 TYPE TA'LE OF 28+8%$%:
2*54% TYPE 28+8%$%.
* fill bi_itab
...
* call other program
CALL TRANSACTION <T5CODE<
USING 2*5*$%2.
IF &.6&02,+ ; ).
...
ELSE.
...
biCitab
".e CALL TRANSACTION <T_CODE< USING ("_"#a( statement allo+s you to insert t.e transa-tion
T_CODE0 an' t.e s-reens are ,ro-esse' a--or'in7 to t.e internal table biOitab.
This internal ta&le must &e type" accor"in. to the structure 28+8%$% an" #ille" appropriately.
".e MODE a''ition allo+s you to s,e-i*y +.et.er t.e s-reen -ontents s.oul' all be 'is,laye' @AAA % t.e 'e*ault
settin7A0 only +.en an error o--urs @AEAA0 or not at all @ANAA.
".e MESSAGES INTO me++_"#a( a''ition is use' to s,e-i*y +.ere t.e system messa7es sent 'urin7 t.e
e:e-ution o* t.e -alle' transa-tion are +ritten.
The internal ta&le must &e type" accor"in. to the structure &"cms.coll.
Fou -an *in' out i* t.e transa-tion +as e:e-ute' su--ess*ully *rom t.e system *iel' &.6&02,+.
".is te-.niEue is use*ul i*0 *or e:am,le)
Fou are ,ro-essin7 in t.e *ore7roun'0 but t.e in,ut *iel's .ave not been *ille' usin7 GET
,arameters
SA A! "A#$0 $C%23
Fou +ant to ,ro-ess t.e transa-tion in t.e ba-(7roun'. 1n t.is -ase0 you normally .ave to ,ass
*un-tion -o'es as +ell.
".is te-.niEue is also one o* t.e ,ossible +ays o* trans*errin7 'ata *rom non%SA systems.
"o 'o so t.e internal table in t.e 28+8%$% *ormat must be *ille' -om,letely.
SA A! "A#$0 $C%24
8.24
SAP AG 2002
Fields o) the %lobal T!e bdcdata
1#%" 1#%" 8.#!, 8.#!, !,/,%" !,/,%"
,escrition
8.#2e/*# 8.#2e/*#
Pro"ram name
Field name Field name
1v%l 1v%l
?32 ?32 ( ( () () ? ?
7en"th 7en"th
?32 ?32
(ote *hen
)illin"
0nl! in 1st
record on screen
$creen number First record Field name Field 'alue
0nl! in 1st
record on screen
:M: )or 1st
record on
screen2
other*ise : :
Case4
sensiti'e
=illin7 t.e internal table in bat-. in,ut *ormat)
4a-. s-reen t.at is to be ,ro-esse' an' *ille' automati-ally in t.e transa-tion must be i'enti*ie' by
a line0 in +.i-. only t.e *iel's !,/,%"0 8.#!, an' 8.#2e/*# are *ille'.
A*ter t.e re-or' t.at i'enti*ies t.e s-reen0 use a se,arate 28+8%$% re-or' *or ea-. *iel' you +ant
to *ill. ".ese re-or's use t.e table *iel's 1#%" an' 1v%l. ".e *ollo+in7 *iel's -an be *ille')
\ 1n,ut/out,ut *iel's0 +it. 'ata
\ ".e -omman' *iel' @28+5N+8eA0 +it. *un-tion -o'es
\ ".e -ursor ,osition *iel' @28+5+0,&,A0 +it. *iel' names.
Fou also use t.e CALL TRANSACTION te-.niEue to trans*er "ata #rom e(ternal systems.
=urt.er in*ormation on t.is to,i- is available in t.e -ourse 0C420 F>ata Trans#erG an' in t.e online
'o-umentation.
SA A! "A#$0 $C%25
8.25
SAP AG 2002
/+amle3 Passin" ,ata 5sin" an Internal Table
1#%" 1#%" 8.#!, 8.#!, !,/,%" !,/,%" 8.#2e/*# 8.#2e/*#
SAP'C()?5CALD5CREATE5CUSTOMER
1v%l 1v%l
)?)) X
SCUSTOM6NAME L+0,,e#$5#%"eM
SCUSTOM6CITY L+0,,e#$5+*$.M
'DC5OCCODE SA>E
DATA:
4%528+8%$% TYPE 28+8%$%:
*$528+8%$% LICE TA'LE OF 4%528+8%$%.
* fill the bdcdata-table ...
CALL TRANSACTION <'C()?5CALD5CRE5CUST<
USING *$528+8%$%
MODE <N<.
IF &.6&02,+ LM ).
MESSAGE ... 7ITH &.6&02,+.
ENDIF.
28+8%$% 28+8%$%
USING USING
MODE MODE
I! for comman
fiel
Save
".is e:am,le re*ers to t.e transa-tion 'C()?5CALD5CTA5U. 1* you reEuest t.e -reation o* a ne+
-ustomer entry .ere0 t.e transa-tion 'C()?5CALD5CRE5CUST is inserte'. ".is transa-tion .as not
im,lemente' an im,ort *rom t.e A8A memory0 an' its in,ut *iel's are not set as GET ,arameters. ".e
-ustomer 'ata is t.ere*ore ,asse' usin7 an internal table an' t.e transa-tion ,ro-esse' in t.e
ba-(7roun'.
1* t.e o,eration is su--ess*ul0 t.e ne+ -ustomer 'ata re-or' -an be entere' in t.e +aitin7 list.
".e relevant internal table in 28+8%$% *ormat is s.o+n above. -urrentOname is t.e -ustomer
name a'o,te' *rom t.e in,ut *iel' at runtime0 -urrentO-ity is t.e -ity.
Fou a''ress t.e -omman' *iel' usin7 'DC5OCCODE. >ere you enter t.e *un-tion -o'e t.at is tri77ere'
by t.e user -.oosin7 a *un-tion (ey0 ,us.button0 or menu entry 'urin7 t.e 'ialo7 *lo+ @or by enterin7 a
-o'e 'ire-tly in t.e -omman' *iel'A.
SA A! "A#$0 $C%26
8.26
SAP AG 2002
,escribe the $AP 8/# memor! model
Call e+ecutable ro"rams
Call transactions
5se the 'arious memor! areas to ass data
;ou are no* able to3
Callin" Pro"rams and Passin" ,ata3 5nit $ummar!
SA A! "A#$0 $C%2B
C
SAP AG 2003
Aendi+
This section contains sulementar! material
to be used as re)erence&
This material is not art o) the standard course&
There)ore2 the instructor mi"ht not co'er this durin"
the course resentation&
SA A! "A#$0 $9%$
C.2
SAP AG 2003
Pro"ram T!es
Pro"ram T!es
Pro"ram T!es
,ata T!es2 ,ata 0b1ects2 and $tatements
,ata T!es2 ,ata 0b1ects2 and $tatements
7o"ical ,atabases
7o"ical ,atabases
Pre'ie*
Pre'ie*
SA A! "A#$0 $9%2
C.3
SAP AG 2003
Include3 TincludeCnameU
( Pro"ram t!e3 Include )
Pro"ram3 Tro"ramCnameU
REPORT L!,/,%"5#%"eM.
:
INCLUDE L*#+l08e5#%"eM.
:
ABAP statements
Pro"rams o) =Include= T!e
SA A! "A#$0 $9%3
C.4
SAP AG 2003
REPORT L#%"eM.
TYPES:...
DATA: ...
Pro"ram3 TnameUT0P
Pro"ram t!e3 Include
Pro"ram3 TnameU
Pro"ram t!e3 e+ecutable
INCLUDE L#%"eMTOP.
START6OF6SELECTION.
:
Create ro"ram
ro"ram TnameU
With T0P4Include
8eositor! Bro*ser3
Create ro"ram
T0P Include
SA A! "A#$0 $9%4
C.5
SAP AG 2003
$tandard Includes )or Function %rous
The 0b1ect 7ist /dit %oto 5tilities /n'ironment $!stem 9el
$b6ect (a&igator
The )b;ect List
Display
BC402_FM_)%I#LIS# Function group
Class
Local )b;ects
Develop2ent class
progra2
Workbench /dit %oto /+tras /n'ironment $!stem 9el
$b6ect (a&igator
)b;ect na2e
:C+&/#F!DD#<AITLIST
Function 2odules
Fields
0:) 2odules
Screens
5*I title
Includes
L:C+&/#F!DD#<AITLISTT)0
L:C+&/#F!DD#<AITLIST)&-
L:C+&/#F!DD#<AITLIST*&-
L:C+&/#F!DD#<AITLIST*&/
L:C+&/#F!DD#<AITLIST*&'
L:C+&/#F!DD#<AITLIST*&+
L:C+&/#F!DD#<AITLIST*&6
L:C+&/#F!DD#<AITLIST*&=
L:C+&/#F!DD#<AITLIST*44
Add >aiting custo2er
<aiting custo2er $ro2 list
Display >aiting list
!ove up >aiting custo2er
%eturn position in list
Change >aiting position
Function modules Function modules Function modules Function modules Function modules
PB0 modules
%lobal declarations
Include )unction modules
#.en you +or( +it. *un-tion 7rou,s an' mo'ules0 you -an use t.e A8A #or(ben-. to arran7e
t.e ,ro7ram sour-e -o'e in overvie+ *orm an' stru-ture it +it. ease.
1n t.e 2avi7ation *un-tion0 you al+ays bran-. to t.e -orre-t obHe-t0 an' 1n-lu'e ,ro7rams are 7iven
names an' -reate'. ".e res,e-tive -all statements are automati-ally entere' at t.e -orre-t ,osition.
".e -all statements must -ontain only t.e name -onvention *or *un-tion 7rou,s) YH
@1em_name2%
".e system t.en -reates a ,ro7ram o* = ty,e0 SAPLYH@1em_name2% ".is -ontains only
INCLUDE statements t.at +ere -reate' automati-ally. ".e 1n-lu'e ,ro7rams are automati-ally 7iven
t.e name LYH@1em_name21a((e321n,m2%
1n a''ition0 t.e system in-lu'es t.e 1n-lu'e ,ro7ram0 LYH@1em_name2UXX. >ere0 t.ere is a -all
*or an a,,ro,riate 1n-lu'e ,ro7ram0 8?KLXremOnameJ/XnumJ0 *or ea-. *un-tion mo'ule.
SA A! "A#$0 $9%5
C.6
SAP AG 2003
,ata T!es2 ,ata 0b1ects2 and $tatements
Pro"ram T!es
Pro"ram T!es
,ata T!es2 ,ata 0b1ects2 and $tatements
,ata T!es2 ,ata 0b1ects2 and $tatements
7o"ical ,atabases
7o"ical ,atabases
Pre'ie*
Pre'ie*
SA A! "A#$0 $9%6
C.7
SAP AG 2003
$tructures and internal Tables Can be (ested
Stru-ture ty,es -an -ontain ot.er stru-ture ty,es or table ty,es.
"able ty,es -an -ontain stru-ture ty,es an' table ty,es.
1n t.e (ey+or' 'o-umentation *or t.e (ey+or' TYPES0 you +ill *in' t.e synta: *or 'e*inin7 table
ty,es.
SA A! "A#$0 $9%B
C.8
SAP AG 2003
TYPE6POOL @()).
TYPES: P())5#%"e5$.!eD2VE TYPE C:
'EGIN OF P())51l*/-$,e+5$.!e:
... :
END OF P())51l*/-$,e+5$.!e.
REPORT ... .
TYPE6POOLS P()).
DATA: #%"e TYPE P())5#%"e5$.!e:
4% TYPE P())51l*/-$,e+5$.!e.
... .
ABAP
T!e %rous in the ABAP ,ictionar!
1n a''ition to 'e-larin7 a 'ata ty,e +it.in an A8A ,ro7ram0 you -an also 'e-lare 'ata ty,es in a
ty,e 7rou, in t.e A8A Di-tionary.
".e ty,e 7rou, name in t.e A8A Di-tionary .as a ma:imum o* *ive -.ara-ters. "y,e names +it.in
t.e ty,e 7rou, 1#$ppoo'2 must be7in +it. 1#$ppoo'2 *ollo+e' by an un'ers-ore.
".e ty,es in a ty,e 7rou, must be 'e-lare' in A8A ,ro7rams +it. t.e TYPE.POOLS -omman'.
SA A! "A#$0 $9%C
C.C
SAP AG 2003
T!e Con'ersion
When are t*o t!es comatibleA
T*o elementar! t!es are comatible i) the! are identical in
t!e and len"th (and number o) decimal laces in the case o)
acked numbers)&
T*o structure t!es are comatible i) the! ha'e the same
structure and their comonents are comatible&
T*o table t!es are comatible i) their line t!es are
comatible and their ke! de)initions2 ke! cate"ories2 and table
t!es are identical&
,ata ob1ects *ith comatible t!es can be assi"ned
*ithout con'ersion&
(on4comatible t!es can be con'erted i) a con'ersion
rule has been de)ined&
1* t+o 'ata ty,es are not -om,atible0 but a -onversion rule e:ists0 t.en t.e system
,er*orms ty,e -onversions *or value assi7nments0 -al-ulations0 or -om,arisons.
".e *ollo+in7 7ra,.i-s intro'u-e t.e basi- *orms o* -onversion rules an' 7ive e:am,les
o* t.e most im,ortant -ases. All t.e -onversion rules -an be *oun' in t.e A8A 'o-umentation
on t.e M3;4 statement.
1* no -onversion rule is 'e*ine' *or a statement0 t.e systemYs rea-tion 'e,en's u,on
t.e ,arti-ular ,ro7ram -onte:t)
1n t.e -ase o* statistical typesA t.e system issues a synta( error.
!(ample)
DATA: 8%$e TYPE 8 >ALUE <?YYY?23?<: $*"e TYPE $.
FIELD6SYM'OLS: L1&58%$eM TYPE 8: L1&5$*"eM TYPE $.
ASSIGN: 8%$e TO L1&58%$eM: $*"e TO L1&5$*"eM.
L1&5$*"eM ; L1&58%$eM.
1n t.e -ase o* "ynamic ty,es0 t.e system issues a runtime error sin-e t.e t.e *iel' symbols are
ty,e' only +.en t.e 'ata obHe-ts are assi7ne' at runtime.
!(ample @rest as aboveA)
&&&
FIELD6SYM'OLS: L1&58%$eM TYPE ANY: L1&5$*"eM TYPE ANY&
&&&
SA A! "A#$0 $9%9
C.,0
SAP AG 2003
7o"ical /+ressions
* +"!%,*&#& 1, %ll 8%$%$.!e&:
.. L823M ZEQH;X ZLl*$e,%lMHL823MX .. 9eJ0%l
.. L823M ZNEHLMX ZLl*$e,%lMHL823MX .. 9#$ eJ0%l
.. L823M ZGTHMX ZLl*$e,%lMHL823MX .. 9/,e%$e, $-%#
.. L823M ZGEHM;X ZLl*$e,%lMHL823MX .. 9/,e%$e, , eJ0%l
.. L823M ZLTHLX ZLl*$e,%lMHL823MX .. 9le&& $-%#
.. L823M ZLEHL;X ZLl*$e,%lMHL823MX .. 9le&& , eJ0%l
.. L823M 'ET7EEN ZLl*$MHL823MX AND ZLl*$MHL823MX ..
.. L823M IS INITIAL ..
* #e&$*#/ l/*+ eB!,e&&*#&:
.. L#e&$5!M D LeB!,?M L#e&$5!M LeB!,2M E L#e&$5!M ..
* !&&*2le !e,%$,& L#e&$5!M:
.. AND .. 9%ll eB!,e&&*#& "0&$ 2e $,0e
.. OR .. 9#e 1 $-e eB!,e&&*#& "0&$ 2e $,0e
* #e/%$*#:
.. NOT LeB!,M .. 9$,0e: *1 LeB!,M 1%l&e
1* you .ave a -om,arison o* non)numeric 'ata obHe-ts0 t.ese are inter,rete' 'i**erently0 'e,en'in7
u,on ty,e.
1* ,ossible) -onversion in numbers @.e:a'e-imal0 *or e:am,le0 as binary numberA
Date an' time) inter,rete' as earlier or laterI *or e:am,le0 $2/3$/$999 X 0$/0$/2000
3t.er -.ara-ters) le:o7ra,.i-al inter,retation a--or'in7 to -.ara-ter -o'eI a'a,t len7t. by *illin7
in blan(s
Re*eren-es) -om,arison o* a''ress an' 'ata ty,e0 only Si'enti-alS -an be inter,rete' suitably
=or -om,arisons o* strin7s an' bits0 more relational o,erators are available @see online
'o-umentation *or 1=A.
1n t.e -ase o* lin(s an' ne7ations0 t.e stan'ar' rules *or lo7i-al e:,ressions a,,ly)
-6T is more ,o+er*ul t.an A->0 A-> is more ,o+er*ul t.an 6R.
!(ample
-6T #, N #2 6R #3 N #4 A-> #5 N #6 t.ere*ore -orres,on's to
F -6T F #, N #2 G G 6R F #3 N #4 A-> #5 N #6 G.
"o .ave a better overvie+ an' *or se-urity reasons0 ,la-e your ,artial e:,ressions in bra-(ets0 even i*
it is not absolutely ne-essary.
8y settin7 u, your e:,ressions -are*ully0 you -an in*luen-e t.e runtime reEuirement in a ,ositive
+ay.
SA A! "A#$0 $9%$0
C.,,
SAP AG 2003
0'er'ie*3 Termination $tatements
7oos3
,0 W9I7/
$/7/CT 700P
/'ents I3
70A,40F4P80%8A6&
$TA8T40F4$/7/CTI0(&
%/T TnodeU Y7AT/Z&
/(,40F4$/7/CTI0(&
/'ents II3
I(ITIA7IDATI0(&
AT $/7/CTI0(4$C8//( Y05TP5TZ&
T0P40F4PA%/&
/(,40F4PA%/&
AT 7I(/4$/7/CTI0(&
AT 5$/84C066A(,&
6odulariEation units
,isla! messa"e
then
ro"ram end
and
delete all internal
modes
MESSAGE %.. EXIT CHECC
LEA>E
PROGRAM
LEA>E TO
TRANSACTION
Pro"ram end
(e+trun
7ea'eloo
,isla!
list bu))er[
/+ecute
e'ent
blocks II
/nd current
rocessin" block
and roceed
*ith ne+t
rocessin" block
A8A event blo-(s or mo'ulari<ation units @subroutines0 mo'ulesA are -alle' processin. &loc's.
".e C/ECK 'o&"-_e0p statement .as t.e *ollo+in7 e**e-t)
6utsi"e a loop0 you -an terminate a ,ro-essin7 blo-( ,rematurely. ".e blo-( statements a*ter t.e
&>4&K statement are s(i,,e' i* t.e lo7i-al -on'ition is not *ul*ille'. ".e system t.en -ontinues
+it. t.e *irst statement in t.e ne:t ,ro-essin7 blo-(.
;ithin a loop0 it .as t.e e**e-t t.at t.e ne:t loo, is ,ro-esse'.
".e EKIT statement rea-ts in t.ree 'i**erent +ays)
#it.in ea-. loo,0 loo, ,ro-essin7 is -om,lete' to t.e en'.
3utsi'e o* t.e loo,s0 but +it.in t.e *irst events liste' on t.is sli'e0 t.e system 'is,lays t.e list
bu**er +it. t.e -urrent -ontent. A*ter+ar's0 t.e events o* t.e ot.er 7rou, are tri77ere' an' t.ose
events liste' be*ore START.OF.SELECTION are initiate' at t.e LOAD.OF.PROGRAM event.
At all ot.er ,oints0 EKIT .as t.e same e**e-t as C/ECK.
9sin7 t.e LEA)E PROGRAM or LEA)E TO TRANSACTION t-o'e statements0 you -an terminate
t.e -urrent ,ro7ram.
A*ter a termination messa7e0 t.e system terminates not only t.e -urrent ,ro7ram0 but also t.e entire
pro.ram stac'.
SA A! "A#$0 $9%$$
C.,2
SAP AG 2003
The 6/$$A%/ $tatement2 6essa"e Classes2 and
6essa"es
,e)inition
5se
MESSAGE ID <L"e&&%/e +l%&&M< TYPE <L"e&&%/e $.!eM<
NUM'ER <L"e&&%/e #0"2e,M< .
BC@00
6essa"e short te+t
0@0
0@1
002
Tmessa"e classU
6essa"e class3
6essa"e
The name o) the airline \1 is \2
Airline \1 is not a'ailable
Tmessa"e numberU
Attributes 6essa"es
,
o
u
b
l
e
,
o
u
b
l
e
4 4
c
l
i
c
k
c
l
i
c
k
ID <L ID <L"e&&%/e +l%&& "e&&%/e +l%&&M< M<
NUM'ER <L NUM'ER <L"e&&%/e #0"2e, "e&&%/e #0"2e,M< M<
L"e&&%/e +l%&&M
L"e&&%/e #0"2e,M
L"e&&%/e +l%&&M
L"e&&%/e #0"2e,M
"o tri77er a messa7e 'ialo7 in a ,ro7ram0 enter t.e MESSAGE statement +it. t.e *ollo+in7
a''itions)
ID <L"e&&%/e +l%&&M< *or t.e messa7e -lass
NUM'ER <L#0"2e,M[ *or t.e messa7e number
"o 'is,lay t.e messa7e te:t *or a MESSAGE statement in a ,ro7ramYs sour-e -o'e0 'ouble%-li-( t.e
messa7e number to 7o to t.e asso-iate' messa7e -lass te:ts.
3t.er synta: variants are available *or t.e MESSAGE statement. =or more in*ormation0 re*er to t.e
(ey+or' 'o-umentation *or t.e MESSAGE statement.
SA A! "A#$0 $9%$2
C.,3
SAP AG 2003
$el)4/+lanator! 6essa"es or 6essa"es *ith 7on"
Te+ts
6essa"e class BC@00
$el)4e+lanator!
,e)inition
$hort te+t
Tshort te+tU
Tshort te+tU
(umber
000
001
7on" te+t
7s"ort te8t9
,ia"nosis
Pte"t#
$!stem acti'ities
Pte"t#
Procedure
Pte"t#
Procedure )or s!stem administrator
Pte"t#
7on" te+t
6essa"e class3
(umber
2
1
3 6essa"e is sel)4e+lanator!
There is a lon" te+t
e+lainin" the messa"e
1* a messa7e s.ort te:t -ontains all t.e in*ormation t.e user nee's0 t.e messa7e is 'es-ribe' as sel#)
e(planatory.
!(ample) L".e ,ro7ram .as been save'.L
Sel*%e:,lanatory messa7es are *la77e' as su-. in t.e messa7e -lass.
1* you +ant to ,rovi'e more 'etaile' in*ormation *or t.e user0 you -an 'o so by storin7 a lon7 te:t
+it. t.e messa7e. 1n t.e 0essage 0aintenance s-reen0 t.e Self-Explanatory *la7 in'i-ates +.et.er
or not a messa7e is in'ee' sel*%e:,lanatory. "o 'is,lay t.e lon7 te:t0 sele-t t.e messa7e line an'
-.oose Long %ext. ".e system t.en 'is,lays t.e maintenan-e *ormats. Fou -an 'is,lay t.e *ormatte'
te:t by -.oosin7 Screen Output" Fou usually -reate t.e lon7 te:t *rom a tem,late0 +.i-. -ontains t.e
.ea'in7s 'iagnosis# System Activities# Procedure# an' Procedure for t*e System Administrator" ".e
system 'oes not 'is,lay t.e .ea'in7 to t.e user i* t.ere is no te:t store' un'er it.
SA A! "A#$0 $9%$3
C.,4
SAP AG 2003
6essa"es *ith Placeholders
,e)inition
5se
MESSAGE ID <L"e&&%/e +l%&&M< TYPE <L"e&&%/e $.!eM<
NUM'ER L###M
7ITH Lv%,?M Lv%,2M Lv%,3M Lv%,(M . 7ITH Lv%,?M Lv%,2M Lv%,3M Lv%,(M
T? T2 T3 T(
BC@00
6essa"e short te+t
0#L
0@0
0@1
6essa"e class3
6essa"e
The name o) the airline \1 is \2
Airline \1 is not a'ailable
Attributes 6essa"es
Fou -an in-lu'e u, to *our ,la-e.ol'ers in a messa7e @G$0 G20 G3 an' G4A. Fou -an t.en assi7n
-urrent ,arameters to t.em in t.e M4SSA!4 statement usin7 t.e #1"> a''ition. Fou -an use
literals0 te:t symbols0 or variables. Fou must in-lu'e a s,a-e bet+een ea-. one. ".e -urrent
,arameters are assi7ne' to t.e ,la-e.ol'ers G$0 G20 G30 an' G4 in or'er.
1n t.e lon7 te:t0 t.e ,la-e.ol'ers are 7iven t.e names G;$G0 G;2G0 G;3G0 an' G;4G an'
re,la-e' at run time in or'er0 a--or'in7 to t.e same lo7i-. "o insert a ,la-e.ol'er in t.e lon7 te:t)
la-e your -ursor in t.e te:t +.ere you +ant to insert t.e ,la-e.ol'er.
&.oose Edit?(ommand?+nsert command . ".e system 'is,lays a 'ialo7 bo:. 1n Symols0 enter
G;$G @or G;iG i W 20 3 or 40 as a,,ro,riateA.
&.oose Enter to -on*irm t.e 'ialo7 bo:.
SA A! "A#$0 $9%$4
C.,5
SAP AG 2003
Creatin" 6essa"e Classes and 6essa"es
In the 0b1ect (a'i"ator3
Create usin" )or*ard na'i"ation
MESSAGE ID <L"e&&%/e +l%&&M< TYPE <L"e&&%/e $.!eM<
NUM'ER <L"e&&%/e #0"2e,M< .
6essa"e class a'ailableA
,ouble4click
,ouble4click
Create messa"e class
(o
Create messa"e
;es
L"e&&%/e +l%&&M
L"e&&%/e #0"2e,M
,e'eloment class
DBC@00C12 Create &&&
6essa"e class Pro"rams
&&&
6essa"e classes
DBC@00C6C12
&&&
Chan"e
,isla!
DBC@00C12
(ote3 6essa"es can
be translated& The!
then aear in the
user:s lo"on lan"ua"e&
"o -reate your o+n messa7e -lass0 7ive it a name in t.e -ustomer names,a-e0 t.at is0 a name
be7innin7 +it. F0 V0 or t.e names,a-e ,re*i:.
"o -reate a messa7e0 assi7n a t.ree%'i7it number an' a messa7e -lass to it.
Fou -an -reate bot. t.e messa7e -lass an' t.e messa7e itsel* usin7 *or+ar' navi7ation *rom t.e
MESSAGE statement.
1n t.e 3bHe-t 2avi7ator0 you -an -reate an' e'it a messa7e -lass in any o* t.e *ollo+in7 +ays)
=rom t.e -onte:t menu belon7in7 to t.e root no'e in t.e obHe-t list o* t.e res,e-tive 'evelo,ment
-lass
=rom t.e -onte:t menu belon7in7 to t.e 0essage class no'e in t.e obHe-t list o* t.e a,,ro,riate
'evelo,ment -lass
=rom t.e Ot*er o4ect""" i-on
A 'ialo7 bo: -ontainin7 a tab a,,ears. 1n t.e Ot*er tab0 enter a messa7e -lass0 or a messa7e +it.
its messa7e -lass0 an' t.en 'is,lay0 -reate0 or -.an7e it by -.oosin7 t.e a,,ro,riate i-on.
SA A! "A#$0 $9%$5
C.,6
SAP AG 2003
Colors in 7ists 1
Fli"ht )rom to
AA 001V (/W ;08F $A( F8A(CI$C0
79 0@00 F8A(FF58T (/W ;08F
79 0@02 F8A(FF58T B/87I(
Creation date3 01/01/2001
Created b!3 WITT6A((
REPORT &%!2+())0885eB%"!le5?%.
INCLUDE LLISTM.
:
7RITE: / 4%5&!1l*6+%,,*8 COLOR +l5Ne.:
*+#58%$e AS ICON:
W8IT/ Tdata ob1ectU TotionU &
Colors/Icons/$!mbols in 7ists
Fou -an set several list 'is,lay attributes +it.in a WRITE statement. 3ne su-. attribute is color0
+.i-. -an be a'Huste' usin7 t.e *ormattin7 o,tion COLOR 1n2% Fou -an -.oose *rom seven
ba-(7roun' -olors t.at are a-tivate' by eit.er a numeri- value or a symboli- name.
0 -olOba-(7roun' 8a-(7roun'
$ -olO.ea'in7 >ea'ers
2 -olOnormal 6ist entries
3 -olOtotal "otals
4 -olO(eyKey -olumns
5 -olO,ositive ositive t.res.ol' value
6 -olOne7ative 2e7ative t.res.ol' value
B -olO7rou, &ontrol levels
SA ,rovi'es 7ui'elines *or -reatin7 lists in -olor. lease -onsult transa-tion LIBS *or e:am,les.
#it. t.e .el, o* one more ,arameter o* t.e WRITE statement AS ICON 0 you -an use i-ons in
your list. =or t.is ,ur,ose0 you must in-lu'e t.e 1n-lu'e X61S"J statement in your ,ro7ram.
Fou -an *in' an overvie+ o* all available i-ons in eit.er t.e (ey+or' 'o-umentation un'er WRITE0
or in t.e WRITE statement stru-ture.
SA A! "A#$0 $9%$6
C.,7
SAP AG 2003
P'O PAI
CALL SCREEN ?))
100 P'O PAI
Screen attri$utes
$creen number 100
(e+t screen 100
Screen attri$utes
$creen number 200
(e+t screen 200
200
0
200
0
,!namic $creen $e.uence
Fou -an use t.is te-.niEue to ,ro7ram -lusters o* s-reens +it. -om,li-ate' lin(s +it.out .avin7 to
-ontinually return to t.e sour-e -o'e an' -all t.em usin7 &A66 S&R442.
SA A! "A#$0 $9%$B
C.,8
SAP AG 2003
/+cetions )or Function 6odules
Function module /dit %oto 5tilities /n'ironment $!stem 9el
2unction .uilder Display .!314+2MDD+5ET+2REE+SEATS
Function 2odule BC402_FM_!"#_F$""_S"%#S Active
tables Changing 1xport
Function 2odule docu2entation
I2port Attributes
1xception Short text
Freight carrier
Source code 1xceptions
")#S1ATS
overboo.ed )91%L)AD
RAISE 1e0-ep#"on2.
*** 4*$- 8e1%0l$ "e&&%/e:
MESSAGE 18"nd21n,m2D1"d2E
RAISING 1e0-ep#"on2.
no data D:#FAIL*%1
Fou -an .ave a *un-tion mo'ule tri77er a Raise !(ceptions.
=or t.is ,ur,ose0 you must *irst "e#ine e:-e,tions in t.e inter*a-e 'e*inition0 t.at is0 you must
'e*ine 'istin7uis.able i"enti#iers *or your e:-e,tions.
1n t.e sour-e -o'e0 you ,ro7ram t.e tri..erin. o* an e:-e,tion un'er t.e reEuire'
-on'itions. At runtime0 t.e *un-tion mo'ule e:e-ution is interru,te' i* an e:-e,tion .as
been tri77ere'. &.an7es to E0po# an' C;an&"n& ,arameters .ave t.e same e**e-t as
+it. subroutine -alls. ".ere are t+o statement variants. >ere0 e:-e,tion stan's *or
an e:-e,tion you .ave 'e-lare'0 t.at is0 *or t.e i"enti#ier. De,en'in7 u,on +.et.er t.e e:-e,tion
is -arrie' out +.en t.e *un-tion mo'ule is -alle'0 t.e statements -an .ave 'i**erent e**e-ts.
RAISE 1e0-ep#"on2
1* t.e e:-e,tion is e:e-ute' in t.e -allin7 ,ro7ram0 -ontrol is ,asse' ba-( to t.e same. 3t.er+ise a
runtime error o--urs.
MESSAGE 18"nd21n,m2D1"d2E RAISING 1e0-ep#"on2
1* t.e e:-e,tion is liste' in t.e -allin7 ,ro7ram0 t.is statement -orres,on's to t.e *irst variant. 1* t.e
e:-e,tion is not e:e-ute'0 t.e system 'is,lays a messa7e n,m o* messa7e -lass "d +it. be.avior
8"nd% ".ere*ore0 a runtime error 'oes not o--ur in t.is situation.
SA A! "A#$0 $9%$C
C.,C
SAP AG 2003
7o"ical ,atabases
Pro"ram T!es
Pro"ram T!es
,ata T!es2 ,ata 0b1ects2 and $tatements
,ata T!es2 ,ata 0b1ects2 and $tatements
7o"ical ,atabases
7o"ical ,atabases
Pre'ie*
Pre'ie*
SA A! "A#$0 $9%$9
C.20
SAP AG 2003
$PF7I
/+amle3 7o"ical ,atabase F1$
$F7I%9T
$B00F
8eadin" 7o"icall! ,eendent ,ata
Fou -an use easy%to%use rea' ,ro7rams @lo7i-al 'atabasesA to rea' lo7i-ally -onne-te' 'ata. 4a-.
lo7i-al 'atabase .as a stru-ture -ontainin7 a .ierar-.y o* t.ose tables an' vie+s t.at are to be rea'.
Fou -an atta-. e:a-tly one lo7i-al 'atabase to ea-. ty,e $ ,ro7ram. ".e lo7i-al 'atabase t.en
su,,lies your ,ro7ram +it. entries *rom tables an' vie+s. ".is means t.at you nee' to ,ro7ram t.e
'ata ,ro-essin7 statements only.
SA A! "A#$0 $9%20
C.2,
SAP AG 2003
;ou can attach a lo"ical database to each t!e 1 ro"ram
usin" the ro"ram attributes&
$ecial e'ent blocks are also a'ailable )or rocessin"
indi'idual records&
;ou can attach a lo"ical database to each t!e 1 ro"ram
usin" the ro"ram attributes&
$ecial e'ent blocks are also a'ailable )or rocessin"
indi'idual records&
7o"ical ,atabases
$ecial data collection ro"rams deli'ered b! $AP
Pro'ide !our ro"ram *ith data in a hierarchicall! lo"ical
se.uence
Contain data base accesses that ha'e been otimiEed )or
er)ormance
$ul! a d!namic selection screen
Contain all necessar! authoriEation checks
4a-. lo7i-al 'atabase is an en-a,sulate' 'ata -olle-tion ,ro7ram *or *reEuent 'atabase a--ess.
Database a--ess .as been o,timi<e' usin7 3,en SQ6.
1* you are +or(in7 +it. a lo7i-al 'atabase0 you 'o not nee' a sele-tion s-reen *or user entry0 be-ause
it is -reate' automati-ally.
".e system ,er*orms aut.ori<ation -.e-(s a--or'in7 to t.e SA aut.ori<ation -on-e,t.
SA A! "A#$0 $9%2$
C.22
SAP AG 2003
Pro"ram
NODES &1l*/-$.
GET &1l*/-$ ...
:
$PF7I
$F7I%9T
$B00F
,ata )rom
the 7,B
Controllin" an 7,B )rom Within a Pro"ram
".e NODES L#8eM statement ,er*orms t+o *un-tions)
1t 'e*ines a 'ata obHe-t @a stru-tureA as a table +or( area t.at .as t.e same stru-ture as t.e 'atabase
table. ".is stru-ture is t.en *ille' at run time +it. all t.e 'ata re-or's t.at t.e lo7i-al 'atabase .as
rea' *rom t.e 'atabase an' ma'e available to t.e ,ro7ram.
1t -ontrols t.e e:e-utability o* t.e sele-tion s-reen. ".e sele-tion s-reen +as 'e*ine' in t.e lo7i-al
'atabase s.oul' -ontain only t.ose (ey in*ormation in,ut *iel's t.at t.e ,ro7ram nee's. ".e
NODES statement allo+s you to ensure t.at only in*ormation *rom relevant tables is available to
t.e lo7i-al 'atabase.
6o7i-al 'atabases rea' a--or'in7 to t.eir stru-ture0 t.at is0 *rom to, to bottom. ".e "epth o* 'ata
rea' 'e,en's on a ,ro7ramYs GET statements. ".e 'ee,est !4" statement *rom t.e stru-tural vie+ o*
t.e lo7i-al 'atabase 'etermines t.e level.
SA A! "A#$0 $9%22
C.23
SAP AG 2003
Pro"ram
ABAP
runtime
s!stem
START6OF6SELECTION.
Basic list
GET &!1l*.
GET &1l*/-$.
END6OF6SELECTION.
NODES: SPFLI:
SFLIGHT.
7o"ical
database
$PF7I
$F7I%9T
$B00F
/'ent Blocks in 7o"ical ,atabases
Fou -an in-lu'e a lo7i-al 'atabase in every e:e-utable ,ro7ram @ty,e $A usin7 t.e ,ro7ram
attributes.
4a-. no'e in t.e .ierar-.y o* t.e lo7i-al 'atabase also ,rovi'es you +it. a !4" event blo-( in
a''ition to t.e ot.er event blo-(s @!4" S=610 !4" S=61!>"0 an' !4" S833K in t.e e:am,le in
t.e 7ra,.i-A.
Fou -an ,ro7ram in'ivi'ual re-or' ,ro-essin7 usin7 t.ese !4" event blo-(s.
At run time0 t.e event blo-(s t.at -reate lists are ,ro-esse' in t.e *ollo+in7 or'er)
S"AR"%3=%S464&"132.
!4" S=61 an' !4" S=61!>" are -alle' several times in neste' S464&" lo7i- a--or'in7 to t.e
stru-ture o* t.e lo7i-al 'atabase.
42D%3=%S464&"132 is -alle' a*ter all !4" events0 an' imme'iately be*ore t.e list is sent to t.e
,resentation server
SA A! "A#$0 $9%23
C.24
SAP AG 2003
$TA8T40F4$/7/CTI0(
%/T $PF7I
%/T $F7I%9T
%/T $F7I%9T
%/T $PF7I 7AT/
%/T $PF7I
/(,40F4$/7/CTI0(
,7 1?LL
2B&0P&1LLP
2V&0L&1LLP
,7 1LP@
%/T $F7I%9T
%/T $F7I%9T
%/T $PF7I 7AT/
2B&0P&1LLP
2V&0L&1LLP
%/T $F7I%9T 2L&0L&1LLP
REPORT 2+())85l/*+%l58%$%2%&e.
NODES: &!1l*: &1l*/-$.
START6OF6SELECTION.
7RITE: / <START6OF6SELECTION<
+l, 3.
GET &!1l* FIELDS +%,,*8 +##*8.
7RITE: / <GET SPFLI< +l, ?:
&!1l*6+%,,*8:
&!1l*6+##*8.
GET &1l*/-$ FIELDS 1l8%$e.
7RITE: / <GET SFLIGHT< +l, 2:
&1l*/-$61l8%$e.
GET &!1l* LATE.
7RITE :/ <GET SPFLI LATE<.
END6OF6SELECTION.
7RITE: <END6OF6SELECTION<
+l, 3.
$!nta+ /+amle3 /'ent $e.uence
%/T s)li
%/T s)li"ht
%/T s)li 7AT/&
At run time0 t.e event blo-(s t.at -reate lists are ,ro-esse' in t.e *ollo+in7 or'er)
S"AR"%3=%S464&"132.
!4" s,*li) ".e *irst 'ata re-or' *rom 'atabase table S=61 t.at -orres,on's to t.e sele-tion
-riteria is ,la-e' in +or( area s,*li an' t.e event blo-( is ,ro-esse'.
!4" s*li7.t) ".e *irst 'ata re-or' *rom S=61!>" t.at -orres,on's to t.e sele-tion -riteria as +ell
as to t.e (ey o* t.e -urrent S=61 re-or' are ,la-e' in +or( area s*li7.t an' t.e event blo-( is
,ro-esse'.
!4" s*li7.t) ".e ne:t 'ata re-or' *rom 'atabase table S=61!>" is ,la-e' into +or( area s*li7.t
an' t.e event blo-( is ,ro-esse' a7ain.
!4" s*li7.t) ".is is -alle' a7ain until no *urt.er -orres,on'in7 'ata re-or's are *oun'.
!4" s,*li 6A"4 is -alle' be*ore t.e ne:t 'ata re-or' *rom S=61 is ,la-e' into +or( area s,*li.
!4" s,*li) ".e lo7i-al 'atabase ,la-es t.e ne:t -orres,on'in7 'ata re-or' *rom S=61 in +or(
area s,*li.
42D%3=%S464&"132 is -alle' imme'iately be*ore t.e list is 'is,laye'.
SA A! "A#$0 $9%24
C.25
SAP AG 2003
ABAP3 ABAP3 Pro"ram attributes Pro"ram attributes
7o"ical ,atabase
Alication $
F1$
T!e 1
NODES :&!1l*: &1l*/-$.
START6OF6SELECTION.
7RITE: / <START6OF6SELECTION<
+l, 3.
GET &!1l* FIELDS +%,,*8 +##*8.
7RITE: / <GET SPFLI< +l, ?:
&!1l*6+%,,*8:
&!1l*6+##*8.
GET &1l*/-$ FIELDS 1l8%$e.
7RITE: / <GET SFLIGHT< +l, 2:
&1l*/-$61l8%$e.
GET &!1l* LATE.
7RITE :/ <GET SPFLI LATE<.
END6OF6SELECTION.
7RITE: <END6OF6SELECTION<
+l, 3.
$PF7I $PF7I
$F7I%9T $F7I%9T
$B00F $B00F
Attributes
$ummar!
GET &!1l*
GET &1l*/-$
GET &!1l* LATE.
(0,/$
6o7i-al 'atabases are in-lu'e' in ty,e $ ,ro7rams as ,ro7ram attributes. 3nly one lo7i-al 'atabase
-an be use' *or ea-. ,ro7ram.
Fou -an su,,ly a lo7i-al 'atabase +it. t.e in*ormation re7ar'in7 +.i-. *iel's you nee' *rom t.e
'atabase usin7 t.e !4" a''ition =146DS. 1* t.e lo7i-al 'atabase su,,orts t.is a-tion0 it +ill rea'
*rom t.e 'atabase only t.ose *iel's you reEuire.
1*0 *or your list0 you nee' 'atabase table 'ata t.at is not su,,lie' by your lo7i-al 'atabase0 you -an
,ro7ram any a''itional 'atabase a--ess nee'e' usin7 S464&".
SA A! "A#$0 $9%25
C.26
SAP AG 2003
Pre'ie*
Pro"ram T!es
Pro"ram T!es
,ata T!es2 ,ata 0b1ects2 and $tatements
,ata T!es2 ,ata 0b1ects2 and $tatements
7o"ical ,atabases
7o"ical ,atabases
Pre'ie*
Pre'ie*
SA A! "A#$0 $9%26
C.27
SAP AG 2003
$e.uential
Files
$AP
Inter)aces /
Checks
/+ternal
$er'er
/+ternal ,ata Trans)er I
#.en you trans*er 'ata *rom anot.er SA or e:ternal system to your o+n SA system0 it is
im,ortant to ensure 'ata inte7rity.
".us0 it is ne-essary to subHe-t t.is ty,e o* 'ata trans*er to t.e same -.e-(s as 'ata trans*er in 'ialo7
mo'e.
Sin-e 'ialo7 mo'e -.e-(s in transa-tions are -om,re.ensive an'0 in ,art0 'one on a -ross%a,,li-ation
basis0 it is e:tremely 'i**i-ult to ,ro7ram t.em yoursel*.
".ere*ore0 it is mu-. easier to use t.e online -.e-(s ,rovi'e' *or SA transa-tions be-ause t.ese
SA transa-tions are use' also *or t.e 'ata trans*er.
".e te-.niEues use' *or e:ternal 'ata trans*er are -alle' &atch)input processes.
SA o**ers stan'ar'i<e' ,ro-e'ures *or e:ternal 'ata trans*er *or many areas +it.in R/3. ".ese
,ro-e'ures use t.ese ,ro7rammin7 te-.niEues) bat-. in,ut0 -all transa-tion0 an' 'ire-t in,ut. ".e
SA stan'ar' 'ata trans*er ,ro-e'ures are -alle' usin7 t.e >ata Trans#er ;or'&ench @transa-tion
S5DAA. 1* no SA 'ata trans*er ,ro-e'ures are available0 trans*er -an be ,ro7ramme' in'ivi'ually
usin7 bat-. in,ut or -all transa-tion.
SA A! "A#$0 $9%2B
C.28
SAP AG 2003
$e.uential
)ile
Gueue )ile
$AP
database
Alication )unction
Alication )unction
Batch inut )unction
Batch inut )unction
B,C table
B,C B,C table table
BATC9 I(P5T3 BATC9 I(P5T3
$e.uential
)ile
$AP
database
Alication )unction
Alication )unction
B,C table
B,C B,C table table
CA77 T8A($ACTI0(3 CA77 T8A($ACTI0(3
CA77
T8A($ACTI0(
$e.uential
)ile
$AP
database
,I8/CT I(P5T3 ,I8/CT I(P5T3
$AP
trans)er
ro"ram
/+ternal ,ata Trans)er II
SA A! "A#$0 $9%2C
C.2C
SAP AG 2003
5date rocess
UPDATE UPDATE INSERT INSERT DELETE DELETE
,ialo" rocess
7o" 7o"
table table
,/7/T/ re.&
5P,AT/ re.&
I($/8T re.&
,atabase rocess
PB0 PAI PB0 PAI PAI PB0
INSERT
ReJ0e&$
UPDATE
ReJ0e&$
DELETE
ReJ0e&$
C066IT W08F C066IT W08F
5date
Anot.er +ay o* bun'lin7 'atabase -.an7es at t.e en' o* an SA 69# is to use t.e u,'ate te-.niEue.
>ere0 you 'o not ,ass u,'ates 'ire-tly to t.e 'atabase0 but enter t.em as u,'ate reEuests in a lo7
table instea'.
9sin7 t.e A8A statement COMMIT WORK0 you en' SA 69# in 'ialo7 mo'e. ".e SA system
t.en tri77ers a s,e-ial +or( ,ro-ess -alle' an u,'ate +or( ,ro-ess t.at0 base' u,on your lo7 entries0
e:e-utes t.e a-tual -.an7es to t.e 'atabase +it.in a 'atabase transa-tion. ".e SA 69# en's only
+.en t.e u,'ate ,ro-ess .as *inis.e'.
".e ,ro7ram ,art in t.e 'ialo7 an' u,'ate ,ro-ess -an run eit.er syn-.ronously or asyn-.ronously.
".e a'vanta7e o* u,'ate in -ontrast to bun'lin7 usin7 subroutines is t.at you -an store t.e 'ata *or
t.e 'atabase -.an7e in t.e lo7 table at any time an' 'o not .ave to (ee, it in t.e ,ro7ram +or( area.
1ts 'isa'vanta7e lies in t.e e**ort reEuire' *or a''itional lo77in7.
9se asyn-.ronous u,'ate +.en res,onse times are im,ortant an' t.e 'atabase u,'ates are
-om,li-ate' enou7. t.at t.ey Husti*y t.e e:tra +or( involve' in usin7 t.e lo7 table.
9se syn-.ronous u,'ate +.enever you nee' t.e -.an7e' 'ata imme'iately an' +.en t.e 'atabase
u,'ates are -om,li-ate' enou7. to Husti*y t.e e:tra +or( involve' in usin7 t.e lo7 table.
SA A! "A#$0 $9%29