Comprehensive SAP ABAP Keywords List
Comprehensive SAP ABAP Keywords List
%D +%"&D .
There is a chec9 if the .rogra- user has all the authori>ations defined in authori>ation o/3ect . ,, are the authori>ation fields of the
authori>ation o/3ect. , , , are data o/3ects of the .rogra-. The value of the data o/3ects is chec9ed against the authori>ation fields.
2
2A)8
*elative .osition of the [Link] in a list.
Syntax
2A)8.
1ositions the list [Link] either in the first colu-n of the first line following the .age header of the current .age or in connection with
*"S"*(" in the first colu-n of the first line of a line /loc9.
2*"A801O%#T
)alls the De/ugger.
Syntax
2*"A801O%#T.
%[Link] execution of the .rogra- and goes to de/ugging -ode. %s used as a test hel.. #or-al .rogra- .rocessing is [Link] when
this state-ent is reached and the syste- goes to a de/ugger.
)
)A&& )$STOM"*0+$#)T%O#
)alls the custo-er function -odules.
Syntax
)A&& )$STOM"*0+$#)T%O#
Si-ilar to )A&& +$#)T%O#. The function -odules -ust /e .rogra--ed and activated within the custo-er@s -odification conce.t.
)A&& +$#)T%O#
)alls the function -odules.
Syntax
)A&& +$#)T%O# 5"A1O*T%#' ... fi = a i... 6
5%M1O*T%#' ... fi = a i... 6
5)!A#'%#' ... fi = a i... 6
5TA2&"S ... fi = a i... 6
5"A)"1T%O#S... ei = r i... 6
5D"ST%#AT%O# 6
5%# $1DAT" TAS86
5STA*T%#' #"= TAS86
5%# 2A)8'O$#D TAS86.
The .rogra- calls either a function -odule in the sa-e *:B Syste-, or one fro- an external syste-, [Link] on the variant of the
state-ent you use. 7ou can call [Link] -odules when .rocessing transactions. 7ou can also call functions asynchronously. The other
additions are used to [Link] actual .ara-eters for the .ara-eter interface for the function -odule, , and to handle [Link].
)A&& D%A&O'
)alls a dialog -odule.
Syntax
)A&& D%A&O' 5A#D S8%1 +%*ST S)*""#6
5"A1O*T%#'... fi = a i... 6
5%M1O*T%#'... fi = a i... 6
5$S%#' ita/6.
)alls the dialog -odule . A dialog -odule is an A2A1 .rogra- with a sequence of screens. %t does not have to /e started using a
transaction code, or run in the sa-e SA1 &$=, li9e the calling .rogra-. The additions are used to s9i. the initial screen in the sequence
and [Link] actual .ara-eters for the .ara-eter interface of the dialog -odule.
)A&& M"T!OD
)alls a -ethod in A2A1 O/3ects.
Syntax
)A&& M"T!OD 5"A1O*T%#' ... =.... 6
5%M1O*T%#' ... =.... 6
5)!A#'%#' ... =.... 6
5*")"%(%#' r = h 6
5"A)"1T%O#S... = r i... 6
51A*AM"T"*0TA2&" 6
5"A)"1T%O#0TA2&" 6.
5)A&& M"T!OD6C D.
)alls a -ethod . The additions are used to [Link] actual .ara-eters for the .ara-eter interface for the function -odule and to handle
[Link]. The last two additions .ass .ara-eters dyna-ically in a dyna-ic -ethod call. Alternatively, if the -ethod is called statically, the
.ara-eters can /e [Link] using .arenthesis notation Cas you can when [Link] .ara-eters in a )A&& M"T!OD state-entD. 7ou can
also use functional -ethods with this syntax in [Link] .ositions.
)A&& M"T!OD O+
)alls a -ethod in O&"E Auto-ation.
Syntax
)A&& M"T!OD O+ .
)alls the -ethod, , of the O&"E Auto-ation O/3ect, .
)A&& S)*""#
)alls a screen sequence.
Syntax
)A&& S)*""#
5STA*T%#' AT 6
5"#D%#' AT 6.
)alls the sequence of screens that /egins with the screen . All the screens in the screen sequence /elong to the current A2A1 .rogra-.
The screen sequence ends when the .rogra- reaches the screen nu-/ered F. The additions let you call a single screen in a new window.
)A&& S"&")T%O#0S)*""#
)alls a selection screen.
Syntax
)A&& S"&")T%O#0S)*""#
5STA*T%#' AT 6
5"#D%#' AT 6.
)alls a selection screen defined in an A2A1 .rogra-. The selection screen is .rocessed in the .rogra- in the AT S"&")T%O#0S)*""#
event. The additions let you call a selection screen in a new window.
)A&& T*A#SA)T%O#
)all a transaction.
Syntax
)A&& T*A#SA)T%O#
5A#D S8%1 +%*ST S)*""#6
5$S%#' 6.
)alls the transaction after having received data fro- the calling .rogra-. At the end of the transaction that has /een called, the syste-
returns to the state-ent following the call in the calling [Link]. The additions are used to s9i. the initial screen in the sequence or to .ass a
/atch [Link] ta/le to the transaction.
)AS"
)onditional /ranch.
Syntax
)AS" .
[Link] a )AS" control structure that ends with an "#D)AS" state-ent. The )AS" control structure allows you to control which state-ent
/loc9s Cintroduced /y =!"#D are .rocessed, /ased on the contents of a data o/3ect.
)AT)!
)atches a class0/ased [Link].
)AT)! 5%#TO 6.
7ou can only use this state-ent in a T*70"#DT*7 /loc9, where you define a handler for one or -ore class0/ased [Link]. 7ou can use
%#TO to .lace a reference to the [Link] o/3ect into the reference varia/le .
)AT)! S7ST"M0"A)"1T%O#S
)atches a catcha/le runti-e error.
Syntax
)AT)! S7ST"M0"A)"1T%O#S = = .
%ntroduces a )AT)! area, which ends with an "#D)AT)! state-ent. %f a catcha/le runti-e error , occurs /etween )AT)! and
"#D)AT)!, the current .rocessing /loc9 is [Link]. The syste- 3u-.s to the a..[Link] "#D)AT)! state-ent and fills S70S$2*)
with .
)!")8
)onditionally leaves a loo. or .rocessing /loc9.
Syntax
)!")8 .
%f the logical [Link] is true, the syste- continues with the next state-ent. %f it is false, .rocessing within the loo. is [Link] at the
current loo. .ass, and the next loo. .ass is .erfor-ed. Otherwise the syste- leaves the current .rocessing /loc9. %n con3unction with
selection ta/les, and inside '"T events, you can use an extra variant of the )!")8 state-ent.
)&ASS Declaration
Declares a class in A2A1 O/3ects.
Syntax
)&ASS D"+%#%T%O# 51$2&%)6
5%#!"*%T%#' +*OM 6
5A2ST*A)T6
5+%#A&6
5)*"AT" 1$2&%)41*OT")T"D41*%(AT"6
5+*%"#DS ...6
5D"+"**"D6
5&OAD6.
%ntroduces the declaration .art of a class, . The declaration .art ends with "#D)&ASS and contains the declaration of all the [Link]
of the class. The 1$2&%) addition is generated only /y the )lass 2uilder. %t defines a glo/al class in the )lass &i/rary. The %#!"*%T%#'
+*OM addition lets you derive the class, , fro- a [Link], . The A2ST*A)T addition defines an a/stract class, which cannot /e
instantiated. The +%#A& addition defines a class that cannot have any su/classes. The )*"AT" addition [Link] who can instantiate the
class. +*%"#DS allows you to [Link] other classes or interfaces, that can access the .rivate [Link] of the class and instantiate
o/3ects of the class, [Link] of the )*"AT" addition. The D"+"**"D addition -a9es the class 9nown to the .rogra- /efore it is
declared. The &OAD addition loads a class [Link] fro- the )lass &i/rary.
)&ASS G %-.le-entation
%-.le-ents a class in A2A1 O/3ects.
Syntax
)&ASS %M1&"M"#TAT%O#.
%ntroduces the [Link]-entation .art of a class, . The [Link]-entation .art ends with "#D)&ASS and contains the [Link]-entation of all the
[Link] of the class.
)&ASS0DATA
Declares static attri/utes of a class or interface.
Syntax
)&ASS0DATA
&i9e DATA. !owever, the attri/ute is declared as a static attri/ute. Static attri/utes are not [Link]. Their content is shared /y all
instances.
)&ASS0M"T!ODS
Declares static -ethods of a class or interface.
Syntax
)&ASS0M"T!ODS
&i9e M"T!ODS, exce.t that the -ethod is declared as a static -ethod. A static -ethod can access static attri/utes and can only trigger
static events.
)&ASS0"("#TS
Declares static events of a class or interface.
Syntax
)&ASS0"("#TS
&i9e "("#TS, exce.t that the event is declared as a static attri/ute. Static events are the only ty.e of event that can /e triggered in a static
-ethod.
)&"A#$1
Tidies u. after class0/ased [Link].
)&"A#$1.
)an only /e used within a T*70"#DT*7 /loc9, where it defines a control /loc9. %f a class0/ased [Link] is not caught with a )AT)!
state-ent, the syste- executes the state-ents /etween )&"A#$1 and "#DT*7, /efore .assing the [Link] along the call hierarchy.
)&"A*
Sets a varia/le to its initial value.
Syntax
)&"A* .
The varia/le , which can have any data ty.e, is set to an initial value a..[Link] to its ty.e.
)&OS" DATAS"T
)loses a file.
Syntax
)&OS" DATAS"T .
)loses a file [Link] with O1"# DATAS"T on the a..lication server.
)&OS" )$*SO*
)loses a data/ase cursor.
Syntax
)&OS" )$*SO* .
)loses a cursor [Link] with O1"# )$*SO*.
)O&&")T
Aggregates lines and then adds the- to an internal ta/le.
Syntax
)O&&")T %#TO
5ASS%'#%#' 4 *"+"*"#)" %#TO 6.
The syste- chec9s whether there is already a ta/le entry that -atches the 9ey. %f there is no [Link] entry already in the ta/le, the
)O&&")T state-ent has the sa-e effect as %#S"*T. %f an entry with the sa-e 9ey already exists, the )O&&")T state-ent does not
a..end a new line, /ut adds the contents of the nu-eric fields in the wor9 area to the contents of the fields in the existing entry. %f you use
ASS%'#%#' or %#TO *"+"*"#)", field sy-/ol refers to the inserted line or the relevant data reference is stored in after the state-ent.
)OMM%T
)loses a SA1 &$=.
Syntax
)OMM%T =O*8 5A#D =A%T6
=rites all the data/ase changes and releases all the data/ase loc9s. Triggers [Link]. The A#D =A%T addition forces the .rogra- to wait
until the syste- has finished [Link] the data/ase. Otherwise, [Link] is asynchronous.
)OMM$#%)AT%O#
"na/les two .rogra-s to co--unicate with each other.
Syntax
)OMM$#%)AT%O# %#%T D"ST%#AT%O# %D 5additions6.
)OMM$#%)AT%O# A&&O)AT" %D 5additions6.
)OMM$#%)AT%O# A))"1T %D 5additions6.
)OMM$#%)AT%O# S"#D %D 2$++"* 5additions6.
)OMM$#%)AT%O# *")"%(" %D 5additions6.
)OMM$#%)AT%O# D"A&&O)AT" %D 5additions6.
The state-ent initiali>es, creates, and [Link] co--unication /etween two .rogra-sH lets these two .rogra-s send and receive dataH and
then closes the connection.
)OM1$T"
1erfor-s nu-eric [Link].
Syntax
)OM1$T" = .
The result of the -athe-atical [Link] [Link] in is assigned to the field . The 9eyword )OM1$T" is [Link].
)O#D"#S"
*e-oves [Link] fro- a string
Syntax
)O#D"#S" 5#O0'A1S6.
This state-ent re-oves any leading /lan9s fro- the field and [Link] other sequences of /lan9s /y exactly one /lan9. %f the addition #O0
'A1S is [Link], all /lan9s are re-oved.
)O#STA#TS
Declares constant data o/3ects.
Syntax
)O#STA#TS (A&$" 5 4 %S %#%T%A&6
The syntax is si-ilar to DATA, exce.t that the (A&$" addition is required, and that internal ta/les and dee. structures cannot /e declared
as constants The start value [Link] in the (A&$" addition cannot /e changed during the execution of the .rogra-.
)O#T%#$"
"nds a loo. .ass.
Syntax
)O#T%#$".
Only .ossi/le within loo.s. This state-ent ter-inates the current loo. .ass and starts the next
)O#T"ATS
Declares a context.
Syntax
)O#T"ATS .
'enerates an [Link] data ty.e )O#T"ATI, which you can use to create context instances
)O#T*O&S
Defines a control.
Syntax
)O#T*O&S T71" .
Defines an A2A1 runti-e o/3ect . This [Link] data in a .articular for-at on a screen, [Link] on the ty.e )urrently, -ay /e a ta/le
control or ta/stri. control
)O#("*T fJr Dates
)onverts a data into an inverted date for-.
Syntax
)O#("*T DAT" %#TO %#("*T"D0DAT" .
)O#("*T %#("*T"D0DAT" %#TO DAT" .
%f and are date fields in the internal for- 7777MMDD, the nines [Link]-ent of is .laced in field and vice versa. %n inverted date for-at,
the -ost recent date has the s-aller nu-erical value
)O#("*T for Ti-esta-.s
)onverts a ti-esta-. into the correct date and ti-e for the current ti-e >one
Syntax
)O#("*T T%M" STAM1 T%M" KO#" %#TO DAT" T%M" .
)O#("*T DAT" T%M" %#TO T%M" STAM1 T%M" KO#" .
As long as has ty.e 1CLD or 1CMMD with N deci-al .laced, and has ty.e )COD, the ti-e sta-. will /e converted to the correct date and ti-e
for the ti-e >one .
)O#("*T for Text
)onverts a text into a for-at that can /e sorted [Link]/etically.
Syntax
)O#("*T T"AT %#TO SO*TA2&" )OD" .
-ust have ty.e ) and -ust have ty.e A. The string is then converted so that the relative order of the characters allows the- to /e sorted
[Link]/etically in the current text environ-ent
)*"AT" DATA
)reates a dyna-ic data o/3ect.
Syntax
)*"AT" DATA T71" 4&%8" .
)*"AT" DATA T71" &%#" O+ 4&%8" &%#" O+ .
)*"AT" DATA T71" *"+ TO DATA4.
)*"AT" DATA T71" T71"4&%8" O+ =%T! .
%f is a data reference varia/le, a data o/3ect of the [Link] ty.e is created. The reference in .oints to this o/3ect. 7ou can o-it the T71"
declaration in [Link] reference varia/les.
)*"AT" O2?")T in A2A1 O/3ects
%nstantiates an o/3ect in A2A1 O/3ects.
Syntax
)*"AT" O2?")T 5T71" 6 5"A1O*T%#' ... =.... 6.
-ust /e a reference varia/le, defined with reference to a class. )*"AT" O2?")T then creates an o/3ect of that class, to which the
reference in then .oints The reference in .oints to this o/3ect. %f is a [Link] class reference varia/le with reference to a su/class of , or if is
an interface reference varia/le, whose interface is [Link]-ented in the class , you can [Link] the class of the instantiated o/3ect [Link] in
a T71" addition, to esta/lish the dyna-ic ty.e of the reference varia/les. The "A1O*T%#' addition [Link] the [Link]
%M1O*T%#' .ara-eters of the instance constructor of the class of the instantiated o/3ect.
)*"AT" O2?")T in O&"E Auto-ation
%nstantiates an external o/3ect in O&"E Auto-ation.
Syntax
)*"AT" O2?")T .
%f is a class assigned to an auto-ation server, an initial o/3ect of this class is created
D
DATA with *eference to 8nown Data [Link]
Declares varia/les with a .reviously0declared data ty.e
Syntax
DATA 5T71" 4&%8" 6 5(A&$" 6.
Declares a varia/le with the fully0defined data ty.e or the sa-e data ty.e as another data o/3ect . The data ty.e can /e D, +, %, T, a ty.e
defined locally in the .rogra- using the T71"S state-ent, or a ty.e fro- the A2A1 Dictionary. The data o/3ect is a data o/3ect or line of an
internal ta/le that has already /een defined. The (A&$" addition [Link] a starting value.
DATA with *eference to 'eneric Data [Link]
Declares varia/les /y [Link] the [Link] of a generic ty.e
Syntax
DATA 5CD6 T71" 5D")%MA&S 6 5(A&$" 6.
DATA T71" .
The data ty.e can /e ), #, 1, A, ST*%#' or AST*%#'. The [Link] sets the field length. %f you o-it it, the field length is set to the
a..[Link] initial value. %f is 1, you can [Link] the nu-/er of deci-al .laces using the D")%MA&S addition. %f you o-it this, the nu-/er of
deci-al .laces is set to F. %f you do not use the T71" addition, the syste- uses the default .redefined generic ty.e ).
Syntax
DATA T71" .
The data ty.e is a standard internal ta/le with generic 9ey. The default 9ey is auto-atically used in the DATA state-ent.
DATA, )reating an Associated Data Ty.e
Declares varia/les with data [Link] that only exist as an attri/ute of the varia/le.
Syntax
DATA T71" *"+ TO 4.
The varia/le is defined as an o/3ect reference varia/le for the class or interface .
Syntax
DATA T71" *"+ TO DATA4.
Declares the varia/le as a data reference varia/le for a data o/3ect.
Syntax
DATA: 2"'%# O+ ,
"#D O+ .
)o-/ines the varia/les to for- the structure . The individual varia/les within a structure are addressed in the .rogra- with a [Link]
/etween the structure na-e and [Link] na-e as follows: 0.
Syntax
DATA T71"4&%8" O+ =%T! .
The varia/le is declared as an internal ta/le with the ta/le 9ind , line ty.e , and 9ey .
Syntax
DATA T71"4&%8" *A#'" O+ 4.
Declares the varia/le as a *A#'"S ta/le. A *A#'"S ta/le has the sa-e data ty.e as a selection ta/le, /ut is not lin9ed to [Link] fields on
a selection screen.
DATA state-ent for Shared Data Areas
Declares shared data areas in a .rogra-.
Syntax
DATA: 2"'%# O+ )OMMO# 1A*T ,
. ..
"#D O+ )OMMO# 1A*T.
The varia/les are assigned to a data area , which can /e defined in -ore than one .rogra-. These data areas use the sa-e -e-ory
addresses for all .rogra-s that are loaded into the sa-e internal session.
D"+%#"
Defines a -acro.
Syntax
D"+%#" .
%ntroduces the definition of the -acro . "ach -acro -ust consist of [Link] A2A1 state-ent and /e concluded with the "#D0O+0
D"+%#%T%O# state-ent.
D"&"T" for +iles
Deletes files on the a..lication server
Syntax
D"&"T" DATAS"T .
Deletes the file fro- the file syste- of the a..lication server.
D"&"T" for Data/ase Ta/le "ntries
Deletes entries fro- data/ase ta/les.
Syntax
D"&"T" +*OM =!"*" .
All of the lines in the data/ase ta/le that satisfy the conditions in the =!"*" clause are deleted.
Syntax
D"&"T" +*OM .
D"&"T" +*OM TA2&" .
This deletes the line that has the sa-e .ri-ary 9ey as the wor9 area , or deletes all the lines in the data/ase that have the sa-e .ri-ary
9ey as a line in the internal ta/le . The wor9 area or the lines of the internal ta/le -ust have at least the sa-e length as the wor9 area of the
data/ase ta/le.
D"&"T" for )luster Data/ases
Deletes data clusters fro- cluster data/ase ta/les.
Syntax
D"&"T" +*OM DATA2AS" CD %D .
Deletes the entire cluster in area with the na-e fro- the cluster data/ase ta/le .
D"&"T" for the )ross0Transaction A..lication 2uffer
Deletes data clusters fro- the cross0transaction a..lication /uffer.
Syntax
D"&"T" +*OM S!A*"D 2$++"* CD %D .
Deletes the data cluster for the area with the na-e stored in the cross0transaction a..lication /uffer for the ta/le .
D"&"T" for &ines fro- an %nternal Ta/le
Deletes lines fro- internal ta/les of any ty.e.
Syntax
D"&"T" TA2&" +*OM .
D"&"T" TA2&" =%T! TA2&" 8"7 = = .
Deletes using the ta/le 9ey. All lines with the sa-e 9ey are deleted. The 9ey values are ta9en either fro- a [Link]/le wor9 area or
[Link] [Link].
Syntax
D"&"T" =!"*" .
Deletes using conditions. Deletes all ta/le entries that satisfy the logical [Link] . The logical condition can consist of -ore than one
[Link]. %n each [Link], the first [Link] -ust /e a [Link] of the line structure.
Syntax
D"&"T" AD?A)"#T D$1&%)AT" "#T*%"S +*OM 5)OM1A*%#'... 6.
Deletes ad3acent [Link] entries, either /y [Link] the 9ey fields or the [Link] fields [Link] [Link] in the )OM1A*%#'
addition.
D"&"T" for &ines fro- %ndex Ta/les
Deletes entries fro- index ta/les.
Syntax
D"&"T" 5%#D"A 6.
%f you use the %#D"A addition, the line with index is deleted fro- the ta/le . =ithout the %#D"A addition, you can only use the a/ove
state-ent within a &OO1. %n this case, you delete the current line.
Syntax
D"&"T" 5+*OM 6 5TO 6 5=!"*" 6.
The syste- deletes all of the lines of whose index lies /etween and and who -eet the conditions [Link] in the =!"*" clause. %f you do
not [Link] a +*OM addition, the syste- deletes lines fro- the first line onwards. %f you do not [Link] a TO addition, the syste- deletes
lines u. to the last line. The logical condition can consist of -ore than one [Link]. %n each [Link], the first [Link] -ust /e a
[Link] of the line structure.
D"MA#D
*etrieves values fro- a context instance.
Syntax
D"MA#D = = +*OM )O#T"AT
5M"SSA'"S %#TO 6.
+ills the fields with the values fro- the context instance . 7ou can handle these -essages in your .rogra-s /y using the M"SSA'"S
addition.
D"S)*%2" D%STA#)"
'ets the distance /etween two fields.
Syntax
D"S)*%2" D%STA#)" 2"T=""# A#D %#TO 5%# 27T"4)!A*A)T"* MOD"6.
=rites the nu-/er of /ytes /etween data o/3ects and into the varia/le . The length of the first field in -e-ory is always included. %n
$nicode .rogra-s, you -ust [Link] either the %# 27T" MOD" or %# )!A*A)T"* MOD" addition. %n non0$nicode .rogra-s, the
distance is returned in /ytes.
D"S)*%2" +%"&D
Descri/es the attri/utes of a field.
Syntax
D"S)*%2" +%"&D 5&"#'T! 5%# 27T"4)!A*A)T"* MOD"66
5T71" 5)OM1O#"#TS 66
5O$T1$T0&"#'T! 6 5D")%MA&S 6
5"D%T MAS8 6 5!"&10%D 6.
The attri/utes of the data o/3ect [Link] /y the .ara-eters of the state-ent are written to the varia/les following the .ara-eters. 7ou can
use any nu-/er of the additions in the sa-e state-ent. %n $nicode .rogra-s, you -ust [Link] either the %# 27T" MOD" or %#
)!A*A)T"* MOD" addition for &"#'T!. %n non0$nicode .rogra-s, the length is returned in /ytes.
D"S)*%2" &%ST
Descri/es the attri/utes of a list.
Syntax
D"S)*%2" &%ST #$M2"* O+ &%#"S 5%#D"A 6.
D"S)*%2" &%ST #$M2"* O+ 1A'"S 5%#D"A 6.
D"S)*%2" &%ST &%#" 1A'" 5%#D"A 6.
D"S)*%2" &%ST 1A'" 5%#D"A 6
[Link] on the variant of the state-ent that you use, writes the nu-/er of lines, nu-/er of .ages, a line of a list on a given .age, or
various attri/utes of a .age to varia/les.
D"S)*%2" TA2&"
Descri/es the attri/utes of an internal ta/le.
Syntax
D"S)*%2" TA2&" 5&%#"S 6 5O))$*S6 58%#D 6.
[Link] on the additions you use, writes the nu-/er of lines [Link], the value [Link] for the %#%T%A& S%K" of the ta/le, or the ta/le
ty.e into a [Link] varia/le.
D%(%D"
Divides one field /y another.
Syntax
D%(%D" 27 .
Divides the content of /y , and .laces the result in . This is equivalent to: n=n:-.
D%(%D"0)O**"S1O#D%#'
Divides -atching [Link] of structures.
Syntax
D%(%D"0)O**"S1O#D%#' 27 .
All the identically0na-ed su/fields of the structures and are divided and the results are stored these su/fields of .
DO
%ntroduces a loo..
Syntax
DO 5 T%M"S6 5(A*7%#' +*OM #"AT 6.
%ntroduces a state-ent /loc9 that ends with "#DDO. %f you o-it the T%M"S addition, the state-ent /loc9 is [Link] until it reaches a
ter-ination state-ent such as "A%T or )!")8. $se the T%M"S addition to restrict the nu-/er of loo. .asses to . The (A*7%#' addition
allows you to .rocess fields the sa-e distance [Link] in -e-ory.
"
"D%TO*0)A&&
&oads an A2A1 .rogra- or internal ta/le into a text editor.
Syntax
"D%TO*0)A&& +O*
"D%TO*0)A&& +O* *"1O*T
&oads the internal ta/le or the .rogra- into a text editor, where you can edit it using standard editor functions.
"&S"
%ntroduces a state-ent /loc9 in an %+ control structure.
Syntax
"&S".
%f the logical [Link] in an %+ state-ent is false, "&S" introduces the state-ent /loc9 to /e executed instead.
"&S"%+
%ntroduces a state-ent /loc9 in an %+ control structure.
Syntax
"&S"%+ .
%f the logical [Link] in an %+ state-ent is false and is true, "&S" introduces the state-ent /loc9 to /e executed instead.
"#D0O+0D"+%#%T%O#
)loses a -acro definition.
Syntax
"#D0O+0D"+%#%T%O#.
This state-ent concludes a -acro definition introduced with D"+%#%T%O#.
"#D0O+01A'"
"vent 9eywords for defining event /loc9s for list events.
Syntax
"#D0O+01A'".
=henever the .age footer is reached while a list is /eing created, the runti-e environ-ent triggers the "#D0O+01A'" event, and the
[Link] event /loc9 is executed.
"#D0O+0S"&")T%O#
"vent 9eywords for defining event /loc9s for [Link] events.
Syntax
"#D0O+0S"&")T%O#.
Once a logical data/ase has read all of the required lines and .assed the- to the executa/le .rogra-, the runti-e environ-ent triggers the
"#D0O+0S"&")T%O# event, and the [Link] event /loc9 is executed.
"#DAT
)loses a state-ent /loc9 in control level .rocessing.
Syntax
"#DAT.
This state-ent concludes a control level .rocessing /loc9 introduced with AT.
"#D)AS"
)loses a )AS" control structure.
Syntax
"#D)AS".
This state-ent concludes a control structure introduced with )AS".
"#D)AT)!
)loses a )AT)! area.
Syntax
"#D)AT)!.
This state-ent concludes an [Link] handling /loc9 introduced with )AT)! S7ST"M0"A)"1T%O#S.
"#D)&ASS
)loses a class definition.
Syntax
"#D)&ASS.
This state-ent concludes a class declaration or [Link]-entation introduced with )&ASS.
"#DDO
)loses a DO loo..
Syntax
"#DDO.
This state-ent concludes a loo. introduced with DO.
"#D"A")
)loses a #ative SP& state-ent.
Syntax
"#D"A").
This state-ent ends a #ative SP& state-ent introduced with "A") SP&.
"#D+O*M
)loses a su/routine.
Syntax
"#D+O*M.
This state-ent concludes a su/routine definition introduced with +O*M.
"#D+$#)T%O#
)loses a function -odule.
Syntax
"#D+$#)T%O#.
This state-ent concludes a function -odule introduced with +$#)T%O#.
"#D%+
)loses an %+ control structure.
Syntax
"#D%+.
This state-ent concludes a control structure introduced with %+.
"#D%#T"*+A)"
)loses a interface definition.
Syntax
"#D%#T"*+A)".
This state-ent concludes an interface definition introduced with %#T"*+A)".
"#D&OO1
)loses a &OO1.
Syntax
"#D&OO1.
This state-ent concludes a loo. introduced with &OO1.
"#DM"T!OD
)loses a -ethod.
Syntax
"#DM"T!OD.
This state-ent concludes a -ethod [Link]-entation introduced with M"T!OD.
"#DMOD$&"
)loses a dialog -odule.
Syntax
"#DMOD$&".
This state-ent concludes a dialog -odule introduced with MOD$&".
"#DO#
)loses a conditional state-ent /loc9.
Syntax
"#DO#.
This state-ent ends a conditional state-ent /loc9 introduced with O# )!A#'".
"#D1*O(%D"
)loses a 1*O(%D" loo..
Syntax
"#D1*O(%D".
This state-ent concludes a loo. introduced with 1*O(%D".
"#DS"&")T
)loses a S"&")T loo..
Syntax
"#DS"&")T.
This state-ent concludes a loo. introduced with S"&")T.
"#DT*7
)loses a T*7 area.
Syntax
"#DT*7.
This state-ent concludes a control structure introduced with T*7.
"#D=!%&"
)loses a =!%&" loo..
Syntax
"#D=!%&".
This state-ent concludes a loo. introduced with =!%&".
"("#TS
Defines events in classes or interfaces.
Syntax
"("#TS "A1O*T%#'.. (A&$"CD T71" ty.e 5O1T%O#A&6
The event can /e declared in the declaration .art of a class or within an interface definition, and -ay have "A1O*T%#' .ara-eters that
are .assed to the event handler. The .ara-eters are always .assed /y value.
"A") SP&
%ntroduces a #ative SP& state-ent.
Syntax
"A") SP& 51"*+O*M%#'
6.
2etween "A") SP& and the "#D"A") state-ent, you can include a data/[Link] #ative SP& state-ent. The 1"*+O*M%#'
addition allows you to .ass a -ulti.le0line selection line /y line to a su/routine.
"A%T
&eaves a loo. or .rocessing /loc9.
Syntax
"A%T.
=ithin a loo.: The entire loo. is ter-inated, and .rocessing continues with the first state-ent following the loo.. Outside a loo.: Ter-inates
the current .rocessing /loc9. %n a [Link] event: ?u-.s directly to the [Link] list.
"A%T +*OM ST"10&OO1
"nds a ste. loo..
Syntax
"A%T +*OM ST"10&OO1.
Ter-inates ste. loo. .rocessing. A ste. loo. is ais a way of [Link] a ta/le on a screen.
"A%T +*OM SP&
"nds #ative SP& .rocessing.
Syntax
"A%T +*OM SP&.
This state-ent -ay occur within a su/routine called using the 1"*+O*M%#' addition in the "A") SP& state-ent. The entire su/routine
is .rocessed, /ut no -ore su/sequent lines of the selection are .rocessed.
"A1O*T
"[Link] data clusters.
Syntax
"A1O*T 5+*OM 6 4 CD
TO M"MO*7
4 DATA2AS" CD %DCD
4 S!A*"D 2$++"* CD %DCD.
The data o/3ects or , or the data o/3ects in the internal ta/le are stored as a data cluster in the [Link]- A2A1 -e-ory of the current
internal session, in a cluster data/ase ta/le , or in the cross0transaction a..lication /uffer of the ta/le .
"AT*A)T
)reates an extract dataset and adds lines to it.
Syntax
"AT*A)T .
=ith the first "AT*A)T state-ent of a .rogra-, the syste- creates the extract dataset and adds the first extract record. %n each
su/sequent "AT*A)T state-ent, the new extract record is added to the dataset. "ach extract record contains exactly those fields that are
contained in the field grou. , .lus the fields of the field grou. !"AD"* Cif one existsD.
+
+"T)!
$ses a cursor to read entries fro- a data/ase ta/le.
Syntax
+"T)! #"AT )$*SO* %#TO .
%f the cursor is lin9ed with a selection in a data/ase ta/le, +"T)! writes the next line of the selection into the flat target area .
+%"&D0'*O$1S
Declares a field grou. for an extract dataset.
Syntax
+%"&D0'*O$1S .
This state-ent defines a field grou. . +ield grou.s define the line structure of an extract dataset. 7ou can also define a [Link] field grou.
called !"AD"*: =hen filling the extract dataset, the syste- auto-atically .refixes any other field grou.s with this field grou..
+%"&D0S7M2O&S
Declares field sy-/ols.
Syntax
+%"&D0S7M2O&S 54ST*$)T$*" D"+A$&T 6.
+ield sy-/ols are .laceholders or sy-/olic na-es for other fields. 1ointed /rac9ets are .art of the syntax for field sy-/ol na-es. The
addition allows you to [Link] the ty.e of a field sy-/ol. The ST*$)T$*" addition forces a structured view of the data o/3ects that you
assign to the field sy-/ol.
+%#D
Searches for .atterns.
Syntax
+%#D
%# 5S")T%O# O++S"T &"#'T! O+6
5%'#O*%#' )AS"4*"S1")T%#' )AS"6
5%# 27T" MOD"4%# )!A*A)T"* MOD"6
5MAT)! O++S"T 6 5MAT)! &"#'T! 6.
The syste- searches the field for the .attern
. The S")T%O# O++S"T &"#'T! O+ addition tells the syste- to search only fro- the .osition in the length . %'#O*%#' )AS" or
*"S1")T%#' )AS" CdefaultD [Link] whether the search is to /e case0sensitive. %n $nicode .rogra-s, you -ust [Link] whether the
state-ent is a character or /yte [Link], using the %# 27T" MOD" or %# )!A*A)T"* MOD" CdefaultD additions. The MAT)! O++S"T
and MAT)! &"#'T! additions set the offset of the first occurrence and length of the search string in the fields
and .
+O*M
Defines a su/routine.
Syntax
+O*M 5$S%#' ... 5(A&$"C6 5D6 5T71" 4&%8" 6 6
5)!A#'%#'... 5(A&$"C6 5D6 5T71" 4&%8" 6 6.
%ntroduces a su/routine
. The $S%#' and )!A#'%#' additions define the su/routine@s .ara-eter interface. The su/routine end with "#D+O*M.
+O*MAT
Sets for-atting [Link] for list [Link].
Syntax
+O*MAT 5O#4O++6
The for-atting [Link] Csuch as colorD set in the +O*MAT state-ent, a..ly to all su/sequent [Link] until they are turned off using the O++
[Link].
+*""
*elease [Link] in -e-ory.
Syntax
+*"" .
+*"" M"MO*7 %DCD.
+*"" O2?")T .
This state-ent deletes an internal ta/le, a data cluster in A2A1 -e-ory, or an external o/3ect in O&"E Auto-ation, [Link] on the
variant of the state-ent used.
+$#)T%O#
Defines a function -odule.
Syntax
+$#)T%O# .
%ntroduces the function -odule . This state-ent is not entered in the A2A1 "ditor, /ut is auto-atically generated /y the +unction 2uilder in
the A2A1 =or9/ench. The function -odule definition ends with the "#D+$#)T%O# state-ent
+$#)T%O#01OO&
%ntroduces a function grou..
Syntax
+$#)T%O#01OO&.
The first state-ent in a function grou.. This state-ent is not entered in the A2A1 "ditor, /ut is auto-atically generated /y the +unction
2uilder in the A2A1 =or9/ench. A function grou. is an A2A1 .rogra- that contains function -odules.
'
'"T
"vent 9eyword for defining event /loc9s for [Link] events.
Syntax
'"T 5+%"&DS ...6.
Only occurs in executa/le .rogra-s. =hen the logical data/ase has .assed a line of the node to the .rogra-, the runti-e environ-ent
triggers the '"T event, and the [Link] event /loc9 is executed. 7ou can use the +%"&DS [Link] to [Link] [Link] the colu-ns of
a node that the logical data/ase should read.
'"T 2%T
*eads an individual /it.
Syntax
'"T 2%T O+ %#TO .
*eads the /it at .osition of the hexadeci-al field into the field .
'"T )$*SO*
'ets the cursor .osition on a screen or in an interactive list event.
Syntax
'"T )$*SO* +%"&D 5O++S"T 6 5&%#" 6
5(A&$" 6 5&"#'T! 6.
'"T )$*SO* &%#" 5O++S"T 6 5(A&$" 6 5&"#'T! 6.
At a user action on a list or screen, the state-ent writes the .osition, value, and [Link] length of a field or line into the [Link]
varia/les.
'"T DATAS"T
Syntax
'"T DATAS"T 51OS%T%O#S 6
5ATT*%2$T" 6.
'ets the attri/utes of a file [Link] using O1"# DATAS"T. The 1OS%T%O#S additions writes the current read:write .osition to the field .
The ATT*%2$T" addition writes the attri/utes to a structure, , of the ty.e DS"TIATT*%2$T"S.
'"T &O)A&" &A#'$A'"
'ets the current text environ-ent.
Syntax
'"T &O)A&" &A#'$A'" )O$#T7 MOD%+%"* .
*eturns the current language, country %D and any -odifier into the [Link] varia/les
'"T 1A*AM"T"*
'ets an S1A:'1A .ara-eters
Syntax
'"T 1A*AM"T"* %D +%"&D .
=rites the value of the S1A:'1A .ara-eter fro- the [Link] SA1 -e-ory into the varia/le .
'"T 1+0STAT$S
'ets the current '$% status.
Syntax
'"T 1+0STAT$S 51*O'*AM 6 5"A)&$D%#' 6.
*eturns the na-e of the current '$% status Cthe sa-e as S701+8"7D into the varia/le . The 1*O'*AM addition writes the na-e of the
A2A1 .rogra- to which the status /elongs into the varia/le . The "A)&$D%#' addition returns a list of all currently inactive function codes
into the internal ta/le .
'"T 1*O1"*T7
'ets a .[Link] of an O&"E Auto-ation o/3ect.
Syntax
'"T 1*O1"*T7 O+
= .
=rites the .[Link]
of an external O&"E Auto-ation o/3ect to the varia/le .
'"T *"+"*"#)"
'ets a data reference.
Syntax
'"T *"+"*"#)" O+ %#TO .
=rites a data reference to an existing data o/3ect to the data reference varia/le .
'"T *$# T%M" +%"&D
Measures the runti-e in -icroseconds.
Syntax
'"T *$# T%M" +%"&D .
The first ti-e the state-ent is executed, the varia/le is set to >ero. %n each su/sequent call, the runti-e since the first call is written to .
'"T T%M"
Synchroni>es the ti-e.
Syntax
'"T T%M" 5+%"&D 6.
*efreshes the syste- fields S70$K"%T, S70DAT$M, S70T%M&O, S70DAT&O, and S70KO#&O. The +%"&D addition fills the varia/le with the
current ti-e.
'"T T%M" STAM1 +%"&D
*eturns a ti-e sta-..
Syntax
'"T T%M" STAM1 +%"&D .
*eturns the short or long for- of the current date and ti-e, [Link] on whether the varia/le has the ty.e 1CLD or 1CMMD. The long for-
returns the ti-e correct to seven deci-al .laces.
!
!%D"
Stores infor-ation a/out list lines.
Syntax
!%D" .
=hile the list is /eing created, this state-ent stores the contents of the field and the current line nu-/er in the internal !%D" area =hen the
cursor is .ositioned on a line in an interactive list event, the stored value is returned to the field .
%
%+
)onditional /ranch.
%ntroduces a new /ranch.
Syntax
%+ .
[Link] an %+ control structure that ends with an "#D%+ state-ent. The syste- evaluates the logical [Link] , and .rocesses different
state-ent /loc9s [Link] on the result.
%M1O*T
%-.orts data clusters.
Syntax
%M1O*T 5TO 6 4 CD
+*OM M"MO*7
4 DATA2AS" CD %DCD
4 S!A*"D 2$++"* CD %DCD.
The data o/3ects or , or the data o/3ects in the internal ta/le are read fro- data clusters, either in the [Link]- A2A1 -e-ory of the
current internal sessionH in a cluster data/ase ta/le H or in the cross0transaction a..lication /uffer of the ta/le and written to the varia/les
and .
%M1O*T D%*")TO*7
)reates the directory of a data cluster fro- a cluster data/ase.
Syntax
%M1O*T D%*")TO*7 %#TO
+*OM DATA2AS" CD
%d .
=rites a directory of the data o/3ects /elonging to a data cluster in the cluster data/ase to the internal ta/le .
%n the third variant, the ta/le contains a directory of the o/3ects stored using "A1O*T TO DATA2AS".
%#)&$D"
%nserts an include .rogra- in another .rogra-.
Syntax
%#)&$D" .
!as the sa-e effect as [Link] the source code of the include .rogra- into the .rogra-. %nclude .rogra-s are not loaded at runti-e, /ut
are [Link] when the .rogra- is generated. %nclude .rogra-s -ust have the .rogra- ty.e %.
%#)&$D" T71"4ST*$)T$*"
%ncludes a structure within another.
Syntax
%#)&$D" T71" 4ST*$)T$*" 5AS 5*"#AM%#' =%T! S$++%A 66.
=ithin a structure declared using T71"S4DATA 2"'%# O+, [Link] a structured dataty.e , or a structure already availa/le as a data o/3ect,
as .art of the structure declaration. The AS addition lets you address the individual [Link] using the na-e . The *"#AM%#' addition
lets you a..end a suffix, , to , so that you can co.y the sa-e structure several ti-es.
%#%T%A&%KAT%O#
"vent 9eywords for defining event /loc9s for [Link] events.
Syntax
%#%T%A&%KAT%O#.
Only occurs in executa/le .rogra-s. The A2A1 runti-e environ-ent triggers the %#%T%A&%KAT%O# event /efore the selection screen is
.rocessed, at which .oint the [Link] event /loc9 is .rocessed.
%#S"*T for Data/ase Ta/les
%nserts entries fro- data/ase ta/les.
Syntax
%#S"*T +*OM .
%#S"*T +*OM TA2&" 5A))"1T%#' D$1&%)AT" 8"7S6.
%nserts one line fro- the wor9 area or several lines fro- the internal ta/le into the data/ase ta/le . The A))"1T%#' D$1&%)AT" 8"7S
addition .revents a runti-e error fro- occurring if two entries have the sa-e .ri-ary 9ey. %nstead, it -erely discards the [Link]
%#S"*T for +ield 'rou.s
Defines the structure of field grou.s for extract datasets.
Syntax
%#S"*T %#TO .
%ncludes the fields in the field grou. , thus defining a line structure for an extract dataset.
%#S"*T for any %nternal Ta/le
%nserts lines fro- internal ta/les of any ty.e.
Syntax
%#S"*T 4&%#"S O+ 5+*OM 6 5TO 6
%#TO TA2&"
5ASS%'#%#' 4 *"+"*"#)" %#TO 6.
%nserts a line or a set of lines fro- the internal ta/le into the internal ta/le . %f is an index ta/le, you can use the +*OM and TO additions to
restrict the lines inserted. %f you use ASS%'#%#' or %#TO *"+"*"#)", field sy-/ol refers to the inserted line or the relevant data
reference is stored in after the state-ent.
%#S"*T for %ndex Ta/les
%nserts entries in index ta/les.
Syntax
%#S"*T 4&%#"S O+ 5+*OM 6 5TO 6
%#TO 5%#D"A 6
5ASS%'#%#' 4 *"+"*"#)" %#TO 6.
%nserts a line or a set of lines fro- the internal ta/le into the internal ta/le /efore the line with the index . %f is an index ta/le, you can use
the +*OM and TO additions to restrict the lines inserted. %f you o-it the %#D"A addition, you can only use the state-ent within a &OO1. A
new line containing values is inserted /efore the current line. %f you use ASS%'#%#' or %#TO *"+"*"#)", field sy-/ol refers to the
inserted line or the relevant data reference is stored in after the state-ent.
%#S"*T for 1rogra-s
%nserts A2A1 .rogra-s into the .rogra- li/rary.
Syntax
%#S"*T *"1O*T +*OM .
The lines of the internal ta/le are added to the .rogra- li/rary as the .rogra- .
%#T"*+A)"
Declares a interface in A2A1 O/3ects.
Syntax
%#T"*+A)" 5D"+"**"D6
5&OAD6.
%ntroduces an interface . The definition ends with "#D%#T"*+A)" and contains the declaration of all the [Link] of the interface. The
D"+"**"D addition -a9es the interface 9nown to the .rogra- /efore it is defined. The &OAD addition loads an interface [Link] fro-
the )lass &i/rary.
%#T"*+A)"S
%-.le-entation or nesting of an interface in A2A1 O/3ects.
Syntax
%#T"*+A)"S
5A2ST*A)T4+%#A& M"T!ODS 4 A&& M"T!ODS A2ST*A)T4+%#A& 6
5DATA (A&$"S = = ...6
.
$sed in a class declaration: This state-ent adds the [Link] of the interface to the existing class definition. $sed in an interface
definition: +or-s a [Link] interface. $se the additions to characteri>e -ethods in interfaces as a/stract or final. Their attri/utes can /e
filled with initial values.
&
&"A(" for Screens
&eaves a screen.
Syntax
&"A(" S)*""#.
Sto.s .rocessing the current screen and calls the su/sequent screen. The next screen can either /e defined statically in the screen
attri/utes or set dyna-ically using the S"T S)*""# state-ent.
Syntax
&"A(" TO S)*""# .
Sto.s .rocessing the current screen and calls the dyna-ically0defined su/sequent screen <.
&"A(" for &ists During Screen 1rocessing
Switches /etween screen and list .rocessing.
Syntax
&"A(" TO &%ST01*O)"SS%#' 5A#D *"T$*# TO S)*""# 6.
Allows you to create and [Link] a list while .rocessing a series of screens. The addition allows you to [Link] the next screen Cto which
you return after the list has /een [Link]. %f you do not use the addition, screen .rocessing resu-es with the 12O of the current screen
Syntax
&"A(" &%ST01*O)"SS%#'.
Allows you to switch /ac9 [Link] fro- list .rocessing to screen .rocessing.
&"A(" for 1rogra-s
&eaves an A2A1 .rogra-.
Syntax
&"A(" 51*O'*AM6.
Sto.s .rocessing the current .rogra- and returns to the .oint fro- which it was called.
Syntax
&"A(" TO T*A#SA)T%O# 5A#D S8%1 +%*ST S)*""#6.
This state-ent ends .rocessing of the current .rogra- and starts a new transaction, . The addition allows you to s9i. the initial screen of
the transaction.
&OAD0O+01*O'*AM
"vent 9eywords for defining event /loc9s for a .rogra- constructor.
Syntax
&OAD0O+01*O'*AM.
=hen an A2A1 .rogra- is loaded in an internal session, the runti-e environ-ent triggers the &OAD0O+01*O'*AM event, and the
[Link] event /loc9 is executed.
&O)A&
1rotects glo/al data against changes.
Syntax
&O)A& .
Only occurs in su/routines. =hen the su/routine starts, the value of is stored [Link], and restored to the varia/le at the end of the
su/routine.
&OO1 Through "xtracts
%ntroduces a loo. through an extract dataset.
Syntax
&OO1.
&oo.s through an extract dataset. The loo. ends with an "#D&OO1 state-ent. =hen the &OO1 state-ent is executed, the syste- sto.s
creating the extract dataset of the .rogra-, and starts a loo. through the entries in the dataset. One record fro- the extract dataset is read
in each loo. .ass. The values of the extracted fields are .laced in the [Link] [Link] fields of the field grou. within the loo..
&OO1 T!*O$'! internal ta/les
Starts a loo. through an extract dataset.
Syntax
&OO1 AT %#TO =!"*" .
&OO1 AT ASS%'#%#' =!"*" .
&OO1 AT *"+"*"#)" %#TO =!"*" .
&OO1 AT T*A#S1O*T%#' #O +%"&DS =!"*" .
&oo. through any %nternal Ta/le The loo. ends with an "#D&OO1 state-ent. %f the logical [Link] is true, each loo. .ass either assigns
the current line content to the wor9 area H assigns the current line to a field sy-/ol H creates a reference to the current line /y H or does not
assign the line content at all. The first [Link] in each .art of -ust /e a [Link] of the internal ta/le. 1ointed /rac9ets are .art of the
syntax for field sy-/ol na-es.
=ith index ta/les, you can use the additions +*OM and TO to restrict the lines that are read /y [Link] an index range.
&OO1 Through Screen +ields
Starts a loo. through the ta/le S)*""#.
Syntax
&OO1 AT S)*""#
Si-ilar to a loo. through an internal ta/le. The syste- ta/le S)*""# contains the na-es and attri/utes of all of the fields on the current
screen.
M
M"SSA'"
[Link] a -essage.
Syntax
M"SSA'" 5=%T! ... 6 5*A%S%#' 6.
M"SSA'" %D T71" #$M2"* .
M"SSA'" CD.
[Link] the -essage of -essage class as -essage ty.e . The -essage ty.e [Link] how the -essage is [Link], and how the
.rogra- reacts. The =%T! addition allows you to fill .laceholders in the -essage text. The *A%S%#' addition in function -odules and
-ethods allows you to ter-inate the .rocedure and trigger the [Link] .
M"SSA'" T71"
This variant [Link] a string, , directly as a -essage of the ty.e .
M"T!OD
%ntroduces the [Link]-entation of a -ethod in a class.
Syntax
M"T!OD .
Only occurs in the [Link]-entation .art of classes. %ntroduces a state-ent /loc9 that ends with "#DM"T!OD. 7ou do not have to [Link]
any interface .ara-eters, since these are defined in the -ethod declaration.
M"T!ODS
Declares -ethods in classes and interfaces.
Syntax
M"T!ODS 5+O* "("#T O+ 6
%M1O*T%#' 5(A&$"C65D6 T71" 5O1T%O#A&6
"A1O*T%#' 5(A&$"C65D6 T71" 5O1T%O#A&6
)!A#'%#' 5(A&$"C65D6 T71" 5O1T%O#A&6
*"T$*#%#' (A&$"CD
"A)"1T%O#S
5A2ST*A)T6
5+%#A&6
5*"D"+%#%T%O#6.
7ou declare a -ethod in the definition .art of a class or in the definition of an interface: The %M1O*T%#', "A1O*T%#', )!A#'%#',
*"T$*#%#', and "A)"1T%O#S additions define the .ara-eter interface and [Link] of the -ethod. The A2ST*A)T addition defines
an a/stract class, which cannot /e [Link]-ented in the sa-e class. The function of a non0a/stract -ethod -ust /e [Link]-ented using
M"T!OD. The +%#A& addition .revents you fro- redefining the -ethod in su/classes. The *"D"+%#%T%O# addition redefines a -ethod of
a [Link]. The +O* "("#T addition declares an event handler -ethod for the event of a class or interface.
MOD%+7 for Data/ase Ta/les
%nserts or changes lines in data/ase ta/les.
Syntax
MOD%+7 +*OM .
MOD%+7 +*OM TA2&" .
=or9s li9e %#S"*T for data/ase ta/les, if there is not yet a line in the ta/le with the sa-e .ri-ary 9ey. =or9s li9e $1DAT" if a line already
exists with the sa-e .ri-ary 9ey.
MOD%+7 for any %nternal Ta/le
)hanges the content of lines in internal ta/les of any ty.e.
Syntax
MOD%+7 TA2&" +*OM 5T*A#S1O*T%#' ...6
5ASS%'#%#' 4 *"+"*"#)" %#TO 6.
)[Link] the wor9 area into the line of the internal ta/le with the sa-e ta/le 9ey as . %f you use ASS%'#%#' or %#TO *"+"*"#)", field
sy-/ol refers to the -odified line or the relevant data reference is stored in after the state-ent. 7ou can use the T*A#S1O*T%#' addition
to [Link] the exact [Link] that you want to change.
MOD%+7 +*OM T*A#S1O*T%#' =!"*" .
)[Link] the wor9 area into the line of the internal ta/le for which the logical [Link] is true. %n each [Link] of the logical [Link],
the first [Link] -ust /e a [Link] of the line structure.
MOD%+7 for %ndex Ta/les
)hanges the content of lines in index ta/les.
Syntax
MOD%+7 +*OM 5%#D"A 6 5T*A#S1O*T%#' ...6
5ASS%'#%#' 4 *"+"*"#)" %#TO 6.
)[Link] the wor9 area into the line of the internal ta/le with the index . %f you o-it the %#D"A addition, you can only use the state-ent within
a &OO1. %n this case, you change the current loo. line %f you use ASS%'#%#' or %#TO *"+"*"#)", field sy-/ol refers to the -odified
line or the relevant data reference is stored in after the state-ent.
MOD%+7 for &ists
)hanges a list line.
Syntax
MOD%+7 &%#" 5%#D"A 6 5O+ )$**"#T 1A'"4O+ 1A'"
6
4)$**"#T &%#"
&%#" +O*MAT
+%"&D (A&$" 5+*OM 6 5+*OM 6
+%"&D +O*MAT .
)hanges either line on the current or [Link] list Cor .ageD, or the last line to /e chosen. The exact nature of the change is [Link] in the
additions
MOD%+7 S)*""#
)hanges the S)*""# ta/le.
Syntax
MOD%+7 S)*""#
&i9e changing an internal ta/le. The syste- ta/le S)*""# contains the na-es and attri/utes of all of the fields on the current screen.
MOD$&"
%ntroduces a dialog -odule.
Syntax
MOD$&" O$T1$T 45%#1$T6.
%ntroduces the dialog -odule . The O$T1$T and %#1$T additions designate the -odule as a 12O or 1A% -odule [Link]. "ach dialog
-odule ends with "#DMOD$&".
MO("
Assigns values.
Syntax
MO(" TO .
Assigns the contents of the data o/3ect to the varia/le , with auto-atic ty.e conversion if necessary. "quivalent to = .
MO("0)O**"S1O#D%#'
Assigns values /etween identically0na-ed [Link] of structures.
Syntax
MO("0)O**"S1O#D%#' TO .
Moves the contents of the [Link] of structure to the [Link] of that have identical na-es.
M$&T%1&7
[Link] two single fields.
Syntax
M$&T%1&7 27 .
[Link] the content of /y , and stores the result in . This is equivalent to: -=-<n.
M$&T%1&70)O**"S1O#D%#'
[Link] [Link] of structures.
Syntax
M$&T%1&70)O**"S1O#D%#' 27 .
All the identically0na-ed su/fields of the structures and are -[Link] and the results are stored these su/fields of .
#
#"=0&%#"
%nserts a line /rea9 in a list.
Syntax
#"=0&%#" 5#O0S)*O&&%#'4S)*O&&%#'6.
1ositions the list [Link] after the .age header. The #O0S)*O&&%#' addition .revents the new line fro- scrolling hori>ontally.
S)*O&&%#' resets the #O0S)*O&&%#' addition.
#"=01A'"
%nserts a .age /rea9 in a list.
Syntax
#"=01A'" 5#O0T%T&"4=%T!0T%T&"6
5#O0!"AD%#'4=%T!0!"AD%#'6
5&%#"0)O$#T6
5&%#"0S%K"6
51*%#T O#4O++6.
'enerates a new .age and .ositions the list [Link] after the .age header. The additions control how the .age header is [Link], the
length and width of the .age, and the .rint [Link].
#OD"S
Declares an interface wor9 area.
Syntax
#OD"S .
Declares a varia/le with the sa-e data ty.e and the sa-e na-e as a data ty.e fro- the A2A1 Dictionary. Structures in -ain .rogra-s and
su/routines declared using #OD"S use a co--on data area. This state-ent is used in con3unction with logical data/ases.
O
O# )!A#'"
%ntroduces a new /ranch.
Syntax
O# )!A#'" O+ 5O* O* ...6.
[Link] an O# control structure, which ends with "#DO#. The state-ent /loc9 is executed whenever the contents of the field or one of the
other fields has changed since the state-ent was last executed.
O1"# )$*SO*
[Link] a data/ase cursor.
Syntax
O1"# )$*SO* 5=%T! !O&D6 +O* S"&")T
+*OM
5=!"*" 6
5'*O$1 27 6
5!A(%#' 6
5O*D"* 27 6.
[Link] a cursor with ty.e )$*SO* for a S"&")T state-ent. 7ou can use all the clauses of the S"&")T state-ent [Link] fro- the %#TO
clause. The %#TO clause is set in the +"T)! state-ent. %f you use the =%T! !O&D addition, the cursor is not closed when a data/ase
co--it occurs.
O1"# DATAS"T
[Link] a file.
Syntax
O1"# DATAS"T
5+O* %#1$T4O$T1$T4A11"#D%#'4$1DAT"6
5%# 2%#A*7 MOD"
4%# T"AT MOD" 5"#)OD%#' CD"+A$&T4$T+0L4#O#0$#%)OD"D6
4%# &"'A)7 2%#A*7 MOD" 5C2%'4&%TT&"D "#D%A#6 5)OD" 1A'" 6
4%# &"'A)7 T"AT MOD" 5C2%'4&%TT&"D "#D%A#6 5)OD" 1A'" 66
5*"1&A)"M"#T )!A*A)T"* 6
5%'#O*%#' )O#("*S%O# "**O*S6
5AT 1OS%T%O# 6
5T71" 6
5M"SSA'" 6
5+%&T"* 6.
[Link] a file on the a..lication server. The additions after +O* [Link] how the file is read or written. The MOD" additions [Link] how
content is [Link] Cas characters or in /inary for-D. The "#)OD%#' addition [Link] the character [Link] in the file. The
&"'A)7 MOD" allows you to read files that were written /efore *elease [Link]. *"1&A)"M"#T )!A*A)T"*S and )O#("*S%O#
"**O*S are used to handle errors during character set conversion. AT 1OS%T%O# [Link] the .osition in the file. M"SSA'" [Link]
where syste- -essages are stored. +%&T"* lets you [Link] [Link] syste- co--ands.
O("*&A7
Overlays one string with another:
Syntax
O("*&A7 =%T! 5O#&7 6.
This state-ent overlays all .ositions in field containing letters which occur in with the contents of . re-ains unchanged. %f you o-it O#&7 ,
all .ositions of containing [Link] are overwritten.
1
1A)8
)onverts ty.e ) varia/les to ty.e 1.
Syntax
1A)8 TO .
1ac9s the string and .laces it in the field . This can /e reversed with the $#1A)8 state-ent.
1A*AM"T"*S
Declares .ara-eters for a selection screen.
Syntax
1A*AM"T"*S
5CD6 5T71" 4&%8" 6 5D")%MA&S 6
5D"+A$&T 6
5M"MO*7 %D 6
5&O="* )AS"6
5O2&%'ATO*76
5(A&$" )!")86
5AS )!")82OA6
5*AD%O2$TTO# '*O$1 6
5#O0D%S1&A76
5MOD%+ %D 6.
Declares a varia/le
, as in the DATA state-ent. +or
, an [Link] field a..ears on the [Link] selection screen. The additions allow you to define default values, acce.t lowercase [Link],
define the field as required, chec9 values, define a chec9/ox or radio /utton, .revent the field fro- /eing [Link] on the selection screen,
or -odify the field
1"*+O*M
)alls a su/routine.
Syntax
1"*+O*M
4 C D 5%+ +O$#D6
4CD5%# 1*O'*AM CD65%+ +O$#D6
5$S%#' ... ... 6
5)!A#'%#'... ... 6
5O# )OMM%T6.
)alls an internal or external su/routine or the su/routine whose na-e occurs in the field. The external .rogra- is or the na-e contained
in . The %+ +O$#D addition .revents a runti-e error fro- occurring if the su/routine does not exist. The $S%#' and )!A#'%#' additions
fill the su/routine@s .ara-eter interface. The O# )OMM%T addition delays the execution of the su/routine until the next )OMM%T =O*8
state-ent.
1OS%T%O#
A/solute .osition of the [Link] in a list.
Syntax
1OS%T%O# .
1ositions the list [Link] in the colu-n .
1*%#T0)O#T*O& for 1rint +or-at
[Link] the .rint for-at.
Syntax
1*%#T0)O#T*O&
5&%#" 6 51OS%T%O# 6.
Sets the .rint for-at starting either at the current list .osition or at line and colu-n .
1*%#T0)O#T*O& for %ndex &ines
)reates index lines in the [Link] file.
Syntax
1*%#T0)O#T*O& %#D"A0&%#" .
=rites the contents of field into an index line after finishing the current .rint line. The index line is not .rinted. During [Link] archiving, the
[Link] syste- divides the list into a data file and a [Link] file containing the index lines.
1*%(AT"
Defines the .rivate section of a class.
Syntax
1*%(AT" S")T%O#.
%ntroduces the declaration of all of the [Link] of a class that are only visi/le in the class itself.
1*O'*AM
%ntroduces a .rogra-.
Syntax
1*O'*AM
The first state-ent in so-e A2A1 .rogra-s. "quivalent to: *"1O*T.
1*OT")T"D
Defines the .rotected section of a class.
Syntax
1*OT")T"D S")T%O#.
%ntroduces the declaration of all of the [Link] of a class that are only visi/le in the class and its su/classes.
1*O(%D"
&oo.s through internal ta/les at given intervals.
Syntax
1*O(%D" +*OM
+*OM
+*OM
2"T=""# A#D .
The contents of the [Link] fields of the internal ta/les are .laced in their header lines. The .rocessing /loc9 /etween 1*O(%D" and
"#D1*O(%D" is then executed for each interval.
1$2&%)
Defines the .u/lic section of a class.
Syntax
1$2&%) S")T%O#.
%ntroduces the declaration of all of the [Link] of a class that are visi/le in the class, its su/classes, and all users.
1$T
Triggers a '"T event.
Syntax
1$T .
Only occurs in logical data/ases. Directs the .rogra- flow according to the structure of the logical data/ase.
*
*A%S" for )lass02ased "[Link]
*aises an [Link].
Syntax
*A%S" "A)"1T%O# T71" 4 .
Ter-inates .rocessing and raises an [Link] of the [Link] class . %f the reference varia/le .oints to an o/3ect of an [Link] class,
can /e [Link] instead of T71".
*A%S" for "[Link] of +unction Modules and Methods
*aises [Link].
Syntax
*A%S" .
Only occurs in function -odules and -ethods. Ter-inates .rocessing and raises an [Link] defined in the interface.
*A%S" for "vents
Triggers events in A2A1 O/3ects.
Syntax
*A%S" "("#T .
Only occurs in -ethods. Triggers the event and calls all registered handler -ethods.
*A#'"S
Declares a *A#'"S ta/le.
Syntax
*A#'"S +O* .
Declares a *A#'"S ta/le for the field . A *A#'"S ta/le has the sa-e data ty.e as a selection ta/le, /ut is not lin9ed to [Link] fields on a
selection screen.
*"AD for +iles
*eads a file.
Syntax
*"AD DATAS"T %#TO
5MAA%M$M &"#'T! 6
5A)T$A& &"#'T! 6.
*eads the contents of the file on the a..lication server to the varia/le . The a-ount of data can /e [Link] using MAA%M$M &"#'T!.
The nu-/er of /ytes transferred can /e written to using A)T$A& &"#'T!.
*"AD for any %nternal Ta/le
*eads a line of an internal ta/le.
Syntax
*"AD TA2&" +*OM
4=%T! TA2&" 8"7 = =
4=%T! 8"7 =
4=%T! 8"7 = =
%#TO 5)OM1A*%#' ... 4A&& +%"&DS6
5T*A#S1O*T%#' ... 4A&& +%"&DS4#O +%"&DS6
4ASS%'#%#'
4*"+"*"#)" %#TO .
This state-ent reads either the line of the internal ta/le with the sa-e 9ey as [Link] in the wor9 area , the line with the 9ey [Link] in
the TA2&" 8"7 addition, the line that [Link] fully to , or the one [Link] to the freely0defined 9ey in the 8"7 addition. The
contents of the line are either written to the wor9 area , or the line is assigned to the field sy-/ol . %f you assign the line to a wor9 area, you
can [Link] field contents and [Link] the fields that you want to [Link].
*"AD for %ndex Ta/les
*eads a line of an internal ta/le.
Syntax
*"AD TA2&" %#D"A %#TO
4 ASS%'#%#'
4 *"+"*"#)" %#TO .
The line with index N is read. The result is [Link] as with any internal ta/le.
*"AD for &ists
*eads the contents of a line fro- a list.
Syntax
*"AD &%#" 5%#D"A 6 5O+ )$**"#T 1A'"4O+ 1A'"
6
4)$**"#T &%#"
5+%"&D (A&$" 5%#TO 6 5%#TO 66.
*eads either the line on the current or [Link] list or .age, or the last line to have /een selected /y the user. The addition [Link] the
fields that you want to read, and the target fields into which they should /e .laced. The entire line is always .laced in the syste- field S70
&%S"&, and the !%D" area is filled for the line.
*"AD for 1rogra-s
*eads A2A1 .rogra-s into the .rogra- li/rary.
Syntax
*"AD *"1O*T %#TO .
)[Link] the lines of the .rogra- into the internal ta/le .
*")"%("
*eceives results fro- an asynchronous function -odule call.
Syntax
*")"%(" *"S$&TS +*OM +$#)T%O# 58""1%#' TAS86
5%M1O*T%#' ... fi = a i... 6
5TA2&"S ... fi = a i... 6
5"A)"1T%O#S... ei = r i... 6
Occurs in [Link] su/routines to receive %M1O*T%#' and TA2&"S .ara-eters fro- function -odules called using the STA*T%#' #"=
TAS8 addition
*"+*"S!
%nitiali>es an internal ta/le.
Syntax
*"+*"S! .
*esets the internal ta/le to its initial value, that is, deletes all of its lines.
*"+*"S! )O#T*O&
%nitiali>es a control.
Syntax
*"+*"S! )O#T*O& +*OM S)*""# .
The control defined in the )O#T*O&S state-ent is reset with the initial values [Link] for screen .
*"?")T
&eaves an '"T .rocessing /loc9.
Syntax
*"?")T 56.
Ter-inates the .rocessing of the current line of the node of the logical data/ase. %f you use the [Link] , the logical data/ase reads the
next line of the node .
*"1&A)" /y 1attern
*[Link] strings in fields with other strings using a .attern.
Syntax
*"1&A)" 5 +%*ST O))$*"#)" O+ 4 A&& O))$*"#)"S O+ 6 %# 5 S")T%O# O++S"T &"#'T! O+ 6 =%T!
5%'#O*%#' )AS"4*"S1")T%#' )AS"6
5%# 27T" MOD"4%# )!A*A)T"* MOD"6
5*"1&A)"M"#T )O$#T 6
5*"1&A)"M"#T O++S"T 6
5*"1&A)"M"#T &"#'T! 6.
%n the string , the search .attern is [Link] /y the content of . 2y default, the first occurrence of is [Link]. A&& O))$*"#)"S [Link]
that all occurrences /e [Link]. %n the fields and , trailing [Link] in ) fields are ignored, /ut included in . The S")T%O# O++S"T
&"#'T! O+ addition tells the syste- to search and [Link] only fro- the .osition in the length . %'#O*%#' )AS" or *"S1")T%#'
)AS" CdefaultD [Link] whether the search is to /e case0sensitive. %n $nicode .rogra-s, you -ust [Link] whether the state-ent is a
character or /yte [Link], using the %# 27T" MOD" or %# )!A*A)T"* MOD" CdefaultD additions. The *"1&A)"M"#T additions write
the nu-/er of [Link]-ents, the offset of the last [Link]-ent, and the length of the last [Link] string to the fields , , and .
*"1&A)" /y 1osition
*[Link] strings in fields with other strings /y .osition.
Syntax
*"1&A)" =%T! %#TO 5&"#'T! 6.
5%# 27T" MOD"4%# )!A*A)T"* MOD"6.
A2A1 searches the field for the first occurrence of the first characters in the .attern and [Link] the- with the string . %n $nicode
.rogra-s, you -ust [Link] whether the state-ent is a character or /yte [Link], using the %# 27T" MOD" or %# )!A*A)T"* MOD"
CdefaultD additions.
*"1O*T
%ntroduces a .rogra-.
Syntax
*"1O*T 5M"SSA'"0%D 6
5#O STA#DA*D 1A'" !"AD%#'6
5&%#"0S%K" 6
5&%#"0)O$#T CD6
5D"+%#%#' DATA2AS" 6.
The first state-ent in executa/le A2A1 .rogra-s. can /e any na-e you choose. The addition M"SSA'"0%D [Link] a -essage class to
/e used in the .rogra-. The D"+%#%#' DATA2AS" addition defines the .rogra- as the data/ase .rogra- of the logical data/ase . The
other additions are for-atting [Link] for the default list of the .rogra-.
*"S"*("
%nserts a conditional .age /rea9 in a list.
Syntax
*"S"*(" &%#"S.
"xecutes a .age /rea9 on the current .age if less than lines are free /etween the current line and the .age footer.
*"T$*#
&eaves a .rocessing /loc9.
Syntax
*"T$*#.
&eaves the current .rocessing /loc9. %n a [Link] event: ?u-.s directly to the [Link] list.
*O&&2A)8
$ndoes the changes in a SA1 &$=.
Syntax
*O&&2A)8 =O*8.
*O&&2A)8 =O*8 always undoes all changes /ac9 to the start of the data/ase &$=. The [Link] -odules are not called, and the log
entry is deleted fro- ta/le (2&O'.
S
S)*O&&
Scrolls through lists
Syntax
S)*O&& &%ST +O*=A*D42A)8=A*D 5%#D"A 6.
S)*O&& &%ST TO +%*ST 1A'"4&AST 1A'"41A'" 5%#D"A 6 5&%#" 6.
S)*O&& &%ST &"+T4*%'!T 527 1&A)"S6 5%#D"A 6.
S)*O&& &%ST TO )O&$M# 5%#D"A 6.
1ositions the current list or the list level in accordance with the additions [Link]. 7ou can scroll /y window, .age, colu-ns, or to the left0
or right0hand edge of the list.
S"A*)!
Searches for strings.
Syntax
S"A*)! 4 +O* 5A22*"(%AT"D6
5STA*T%#' AT 6
5"#D%#' AT 6
5A#D MA*86
5%# 27T" MOD"4%# )!A*A)T"* MOD"6.
Searches the field or ta/le for the string in the field . The result is stored in S70+D1OS. The additions let you hide inter-ediate characters,
search fro- and to a .articular .osition, and convert the found string into u..ercase. %n $nicode .rogra-s, you -ust [Link] whether the
state-ent is a character or /yte [Link], using the %# 27T" MOD" or %# )!A*A)T"* MOD" CdefaultD additions.
S"&")T
*eads data fro- the data/ase.
Syntax
S"&")T
%#TO
+*OM
5=!"*" 6
5'*O$1 27 6
5!A(%#' 6
5O*D"* 27 6.
The S"&")T state-ent consists of a series of clauses, each of which fulfils a certain tas9:
S"&")T clause
Defines the structure of the selection.
Syntax
S"&")T 5S%#'&"645D%ST%#)T6
< 4 5AS 6 C 5D%ST%#)T6 D 5AS 6
The selection can /e one line, S%#'&", or several lines. 7ou can eli-inate [Link] lines using the D%ST%#)T addition. To select the entire
line, use <, otherwise, you can [Link] individual colu-ns . +or individual colu-ns, you can use aggregate functions , and assign alternative
colu-n na-es .
%#TO clause
Defines the target area into which the selection fro- the S"&")T clause is written.
Syntax
%#TO 5)O**"S1O#D%#' +%"&DS O+6
4 %#TO4A11"#D%#' 5)O**"S1O#D%#' +%"&DS O+6 TA2&"
51A)8A'" S%K" 6
4 %#TO C, ,D
The target area can /e a flat wor9 area , an internal ta/le , or a list of fields . %f you use the )O**"S1O#D%#' +%"&DS addition, data is
only selected if there is an identically0na-ed field in the target area. %f you use A11"#D%#' instead of %#TO, the data is a..ended to an
internal ta/le instead of overwriting the existing contents. 1A)8A'" S%K" allows you to overwrite or extend the internal ta/le in a series of
.[Link] data ty.e of the target area -ust /e a..[Link] for the selection in the S"&")T clause.
+*OM clause
The +*OM clause deter-ines the data/ase ta/les fro- which the data [Link] in the S"&")T clause is read.
Syntax
+*OM 5 5%##"*64&"+T 5O$T"*6 ?O%#6 5AS 6
5O# 6
5)&%"#T S1")%+%"D6
5271ASS%#' 2$++"*6
5$1 TO *O=S6
7ou can read /oth single fields and grou.s of fields. 7ou lin9 several ta/les using inner and outer 3oins to lin9 ta/les with conditions , where
is a single ta/le or itself a 3oin condition. The na-es of data/ase ta/les -ay /e [Link] statically or dyna-ically, and you can use alias
na-es. 7ou can /[Link] auto-atic client handling with the )&%"#T S1")%+%"D addition, and SA1 /uffering with 271ASS%#' 2$++"*.
7ou can also restrict the nu-/er of lines read fro- the ta/le using the $1 TO *O=S addition.
=!"*" clause
*estricts the nu-/er of lines selected.
Syntax
5+O* A&& "#T*%"S %# 6 =!"*"
The condition -ay contain one or -ore [Link], tests for /elonging to intervals, value list chec9s, su/queries, selection ta/le queries
or null value chec9s, all lin9ed with A#D, O*, and #OT. %f you use the +O* A&& "#T*%"S addition, the condition is chec9ed for each line of
the internal ta/le as long as contains a field of the internal ta/le as an [Link]. +or each line of the internal ta/le, the syste- selects the
lines fro- the data/ase ta/le that satisfy the condition. The result set is the union of the individual selections resulting fro- each line.
'*O$1 27 clause
'rou.s lines in the selection.
Syntax
'*O$1 27
'rou.s lines with the sa-e contents in the [Link] colu-ns. $ses aggregate functions for all other colu-ns in each grou.. All colu-ns of
the S"&")T clause that are not listed in the '*O$1 27 clause -ust /e included in aggregate functions.
!A(%#' clause
*estricts the nu-/er of line grou.s selected.
Syntax
!A(%#'
&i9e the =!"*" clause, /ut can only /e used in con3unction with a '*O$1 27 clause. The !A(%#' clause uses conditions to restrict the
nu-/er of grou.s selected.
O*D"* 27 clause
Sorts the lines of the selection.
Syntax
O*D"* 27 1*%MA*7 8"7 4 5AS)"#D%#'4D"S)"#D%#'6
Sorts the selection in ascending or descending order according to the .ri-ary 9ey or the contents of the fields listed.
S"&")T0O1T%O#S
Declares selection criteria for a selection screen.
Syntax
S"&")T0O1T%O#S +O*
5D"+A$&T 5to 6 5O1T%O# 6 S%'# 6
5M"MO*7 %D 6
5&O="* )AS"6
5O2&%'ATO*76
5#O0D%S1&A76
5MOD%+ %D 6
5#O0"AT"#S%O#6
5#O %#T"*(A&S6
5#O DATA2AS" S"&")T%O#6.
Declares a selection ta/le for the field . +or , .laces [Link] fields on the [Link] selection screen. The additions allow you to set a
default value, acce.t [Link] in lowercase, define a required field, su..ress or -odify the [Link] on the selection screen, restrict the selection
ta/le to a line or a selection to a single field, or .revent [Link] fro- /eing .assed to a logical data/ase.
S"&")T%O#0S)*""# for Selection Screen +or-atting
+or-ats selection screens
Syntax
S"&")T%O#0S)*""# S8%1 56.
S"&")T%O#0S)*""# $&%#" 55:6 6 5MOD%+ %D 6.
S"&")T%O#0S)*""# )OMM"#T 5:6 5+O* +%"&D 6
5MOD%+ %D 6.
S"&")T%O#0S)*""# 2"'%# O+ &%#".
S"&")T%O#0S)*""# "#D O+ .
Defines a selection screen with screen nu-/er . All 1A*AM"T"*S, S"&")T0O1T%O#S, and S"&")T%O#0S)*""# state-ents that occur
/etween these two state-ents define the [Link] fields and the for-atting of this selection screen. The T%T&"
S"&")T%O#0S)*""# for Selection Screen (ersions
Defines selection screen versions.
Syntax
S"&")T%O#0S)*""# 2"'%# O+ ("*S%O#
S"&")T%O#0S)*""# "A)&$D" .
"#D O+ .
)o-/ines the data [Link] to for- the structure . 7ou can address the individual [Link] of a structure in a .rogra- using a [Link]
/etween the structure na-e and the [Link] na-e as follows: 0.
Syntax
T71"S T71"4&%8" O+ 5=%T! 6.
Defines the local data ty.e in the .rogra- as an internal ta/le with the access ty.e , the line ty.e , and the 9ey .
Syntax
T71"S T71"4&%8" *A#'" O+ 4.
Defines the internal data ty.e as a *A#'"S ta/le. A *A#'"S ta/le has the sa-e data ty.e as a selection ta/le, /ut is not lin9ed to [Link]
fields on a selection screen.
$
$&%#"
1laces hori>ontal lines in the [Link] list.
Syntax
$&%#" 5AT 5:65 65CD66.
=ithout additions, creates a new line on the current list and fills it with a hori>ontal line. The additions allow you to insert a line /rea9 and
[Link] the starting .osition and length of the line.
$#1A)8
)onverts ty.e 1 varia/les to ty.e ).
Syntax
$#1A)8 TO .
$n.ac9s the .ac9ed field and .laces it in the string with leading >eros. This can /e reversed with the 1A)8 state-ent.
$1DAT"
)hanges entries in data/ase ta/les.
Syntax
$1DAT" S"T =
4 = +
4 = G 5=!"*" 6.
The value in the colu-n is set to the value , increases it /y , or decreases it /y for all lines selected. The =!"*" clause [Link] the lines
that are changed. %f you o-it the =!"*" clause, all lines are changed.
Syntax
$1DAT" +*OM .
$1DAT" +*OM TA2&" .
This deletes the line that has the sa-e .ri-ary 9ey as the wor9 area , or deletes all the lines in the data/ase that have the sa-e .ri-ary
9ey as a line in the internal ta/le . The wor9 area or the lines of the internal ta/le -ust have at least the sa-e length and align-ent as the
lines of the data/ase ta/le.
=
=!"#
%ntroduces a state-ent /loc9 in a )AS" control structure.
Syntax
=!"# 5O* O*...6 4 OT!"*S.
The state-ent /loc9 following a =!"# state-ent is executed if the contents of the field in the )AS" state-ent are the sa-e as those of
one of the fields . Afterwards, the .rogra- carries on .rocessing after the "#D)AS" state-ent. The state-ent /loc9 after =!"# OT!"*S
state-ent is executed if the contents of does not equal any of the contents.
=!%&"
%ntroduces a loo..
Syntax
=!%&" 5(A*7 +*OM #"AT 6.
%ntroduces a state-ent /loc9 that ends with "#D=!%&". The state-ent /loc9 /etween =!%&" and "#D=!%&" is [Link] as long as the
logical [Link] is true, or until a ter-ination state-ent such as "A%T or )!")8 occurs. The (A*7 addition allows you to .rocess fields
the sa-e distance [Link] in -e-ory.
=%#DO=
[Link] a list as a -odal dialog /ox.
Syntax
=%#DO= STA*T%#' AT 5"#D%#' AT 6.
Only occurs in list .rocessing. The current detail list is [Link] as a -odal dialog /ox. The to. left0hand corner of the window is .ositioned
at colu-n and line . The /otto- right0hand corner is .ositioned at colu-n and line Cif [Link].
=*%T"
[Link] lists.
Syntax
=*%T" 5AT 5:65 65CD66 5AS )!")82OA4S7M2O&4%)O#4&%#"6
5P$%)8%#+O 6.
5
6
The contents of the field are for-atted according to their data ty.e and [Link] in the current list. . The additions /efore the field allow
you to [Link] a line /rea9, the starting .osition, and the length of the field. The additions after the field allow you to [Link] chec9/oxes,
sy-/ols, icons, and lines. The
addition can contain various other for-atting [Link]. The P$%)8%#+O addition allows you to assign a tool ti. to the field.
=*%T" TO
Assigns string values.
Syntax
=*%T" TO 5
6.
)onverts the contents of a data o/3ect to ty.e ), and assigns the resulting string to the varia/le . 7ou can use the sa-e for-atting [Link]
availa/le in the =*%T" state-ent