Developing Apama Applications > EPL Reference > Lexical Elements > Keywords > List of EPL keywords
List of EPL keywords
The table below lists the reserved words called keywords. EPL keywords are case sensitive. You cannot use keywords as identifiers in EPL programs unless you prefix them with a hash symbol (#). See Escaping keywords to use them as identifiers.
The superscript numbers on the keywords indicate:
1  You can safely use these keywords outside the scope of an Apama query without prefixing a hash symbol.
2  You can safely use these keywords outside the scope of a stream query without prefixing a hash symbol.
For example, suppose you define the E event type and it has a field named parameters. If you intend to use E as an input event for a query and want to access the parameters field then you must specify #parameters as the field name. Apama recommends that you avoid defining events that are primarily for queries and that contain query keywords.
EPL keywords
action
aggregate 
all
and
as
at
between1
boolean
bounded
break
by2
call
catch
chunk
completed
constant
context
continue
currentTime
day1
days1
decimal
dictionary
die
else
emit
enqueue
event
every 1 and 2
false
find1 
float 
for
from
group2
having1 and 2
hour1
hours1
if
import
in 
inputs11
integer
join2
key1
largest2
location
log
millisecond1
milliseconds1
min1
minute1
minutes1
monitor
msec1
new
not
on
optional
or
package
parameters1
partition2
persistent
print
query1
retain1 and 2
return
returns
route
rstream2
sec1
second1
seconds1
select1 and 2
send
sequence
smallest2
spawn
static
stream
streamsource
string
then
throw
to
true
try
unbounded
unique2
unmatched
using
wait
where1 and 2
while
wildcard
with2
within
without1
xor
Some reserved keywords are actually operators. Nevertheless, the restriction still applies. Some Apama tools, such as the Event Modeler, generate code based on EPL and in such code there might be symbols that resemble identifiers but contain hash (#) characters, which are not allowed in identifiers. These "identifiers" are placeholders that are later replaced with valid identifiers that do not contain the hash character.
The string join() method is still supported. That is, you can still use the following and you do not receive a warning: string.join(). Also, note that the join keyword has a stream query scope and join is also a reserved word for use outside stream queries in a future release.
Note that ondie, onload, onunload onBeginRecovery, and onConcludeRecovery are not reserved keywords. They are the names of special actions. While you can use them as identifiers, doing so is not recommended.
Copyright © 2013-2015 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors.
Use, reproduction, transfer, publication or disclosure is prohibited except as specifically provided for in your License Agreement with Software AG.