Tuesday, June 22, 2010

Reserved ABAP keywords

Sometime it is little bit tricky to find out a name for new variable in ABAP until you do not break into a set of reserved ABAP keyword. Basically such a set of reserved words are all the ABAP statements key words, logical operators, data types, predefined functions, etc. According official SAP documentation (see TA ABAPDOCU -> ABAP - By Theme -> ABAP syntax -> ABAP Statements ->ABAP Words) usage of those key words is not forbidden (see picture) we should try avoiding using them. It might happen that there will be some new key words added and your code will not be compatible with further new version of SAP ABAP/Basis/WAS component. 
Therefore while you designing new variable names consider following names as those which are forbidden and you cannot use them as variable names:



ABAP-SOURCE
ABBREVIATED
ABS
ABSTRACT
ACCEPT
ACCEPTING
ACCORDING
ACOS
ACTIVATION
ACTUAL
ADD
ADD-CORRESPONDING
ADJACENT
AFTER
ALIASES
ALL
ALLOCATE
ANALYSIS
ANALYZER
AND
ANY
APPEND
APPENDAGE
APPENDING
APPLICATION
ARCHIVE
AREA
ARITHMETIC
AS
ASCENDING
ASIN
ASSERT
ASSIGN
ASSIGNED
ASSIGNING
AT
ATAN
ATTRIBUTES
AUTHORITY
AUTHORITY-CHECK
AVG
BACK
BACKGROUND
BACKUP
BACKWARD
BADI
BEFORE
BEGIN
BETWEEN
BIG
BINARY
BIT
BIT-AND
BIT-NOT
BIT-OR
BIT-XOR
BLACK
BLANK
BLANKS
BLOCK
BLOCKS
BLUE
BOUND
BOUNDARIES
BOUNDS
BREAK-POINT
BT
BUFFER
BY
BYPASSING
BYTE
BYTE-CA
BYTE-CN
BYTE-CO
BYTE-CS
BYTE-NA
BYTE-NS
BYTE-ORDER
C
CA
CALL
CALLING
CASE
CASTING
CATCH
CEIL
CENTERED
CHAIN
CHAIN-INPUT
CHAIN-REQUEST
CHANGE
CHANGING
CHAR-TO-HEX
CHARACTER
CHARLEN
CHECK
CHECKBOX
CIRCULAR
CLASS
CLASS-CODING
CLASS-DATA
CLASS-EVENTS
CLASS-METHODS
CLASS-POOL
CLEANUP
CLEAR
CLIENT
CLIKE
CLOCK
CLOSE
CN
CO
CODE
CODEPAGE
CODING
COL_BACKGROUND
COL_GROUP
COL_HEADING
COL_KEY
COL_NEGATIVE
COL_NORMAL
COL_POSITIVE
COL_TOTAL
COLLECT
COLOR
COLUMN
COMMENT
COMMENTS
COMMIT
COMMON
COMMUNICATION
COMPARING
COMPONENT
COMPONENTS
COMPRESSION
COMPUTE
CONCATENATE
CONDENSE
CONDITION
CONNECT
CONNECTION
CONSTANTS
CONTEXT
CONTEXTS
CONTINUE
CONTROL
CONTROLS
CONVERSION
CONVERT
COPIES
COPY
CORRESPONDING
COS
COSH
COUNT
COUNTRY
COVER
CP
CPI
CREATE
CS
CSEQUENCE
CURRENCY
CURRENT
CURSOR
CURSOR-SELECTION
CUSTOMER-FUNCTION
D
DATA
DATABASE
DATAINFO
DATASET
DATE
DAYLIGHT
DBMAXLEN
DD/MM/YY
DD/MM/YYYY
DDMMYY
DEALLOCATE
DECIMALS
DEFAULT
DEFERRED
DEFINE
DEFINING
DEFINITION
DELETE
DELETING
DEMAND
DEPARTMENT
DESCENDING
DESCRIBE
DESTINATION
DETAIL
DIALOG
DIRECTORY
DISCONNECT
DISPLAY
DISPLAY-MODE
DISTANCE
DISTINCT
DIV
DIVIDE
DIVIDE-CORRESPONDING
DO
DUMMY
DUPLICATE
DUPLICATES
DURING
DYNAMIC
DYNPRO
E
EDIT
EDITOR-CALL
ELSE
ELSEIF
ENABLED
ENABLING
ENCODING
END
END-ENHANCEMENT-SECTION
END-LINES
END-OF-DEFINITION
END-OF-FILE
END-OF-PAGE
END-OF-SELECTION
ENDAT
ENDCASE
ENDCATCH
ENDCHAIN
ENDCLASS
ENDDO
ENDENHANCEMENT
ENDEXEC
ENDFORM
ENDFUNCTION
ENDIAN
ENDIF
ENDING
ENDINTERFACE
ENDLOOP
ENDMETHOD
ENDMODULE
ENDON
ENDPROVIDE
ENDSELECT
ENDTRY
ENDWHILE
ENHANCEMENT
ENHANCEMENT-POINT
ENHANCEMENT-SECTION
ENHANCEMENTS
ENTRIES
ENTRY
ENVIRONMENT
EQ
ERRORMESSAGE
ERRORS
ESCAPE
ESCAPING
EVENT
EVENTS
EXCEPTION
EXCEPTION-TABLE
EXCEPTIONS
EXCLUDE
EXCLUDING
EXEC
EXECUTE
EXISTS
EXIT
EXIT-COMMAND
EXP
EXPAND
EXPIRATION
EXPLICIT
EXPONENT
EXPORT
EXPORTING
EXTENDED
EXTENSION
EXTRACT
F
FETCH
FIELD
FIELD-GROUPS
FIELD-SYMBOLS
FIELDS
FILE
FILTER
FILTERS
FINAL
FIND
FIRST
FIRST-LINE
FIXED-POINT
FKEQ
FKGE
FLOOR
FLUSH
FONT
FOR
FORM
FORMAT
FORWARD
FOUND
FRAC
FRAME
FRAMES
FREE
FRIENDS
FROM
FTO
FUNCTION
FUNCTION-POOL
GAPS
GE
GENERATE
GET
GIVING
GKEQ
GKGE
GLOBAL
GREEN
GROUP
GROUPS
GT
HANDLE
HANDLER
HASHED
HAVING
HEAD-LINES
HEADER
HEADERS
HEADING
HELP-ID
HELP-REQUEST
HIDE
HIGH
HINT
HOLD
HOTSPOT
I
ICON
ID
IDENTIFICATION
IDENTIFIER
IDS
IF
IGNORING
IMMEDIATELY
IMPLEMENTATION
IMPLEMENTATIONS
IMPORT
IMPORTING
IN
INCLUDE
INCLUDES
INCLUDING
INCREMENT
INDEX
INDEX-LINE
INFOTYPES
INHERITING
INIT
INITIAL
INITIALIZATION
INNER
INOUT
INPUT
INSERT
INSTANCES
INTENSIFIED
INTERFACE
INTERFACE-POOL
INTERFACES
INTERNAL
INTERVALS
INTO
INVERSE
INVERTED-DATE
IS
JOB
JOIN
KEEP
KEEPING
KERNEL
KEY
KEYS
KEYWORDS
KIND
LANGUAGE
LAST
LATE
LAYOUT
LE
LEADING
LEAVE
LEFT
LEFT-JUSTIFIED
LEGACY
LENGTH
LEVEL
LEVELS
LIKE
LINE
LINE-COUNT
LINE-SELECTION
LINE-SIZE
LINEFEED
LINES
LIST
LIST-PROCESSING
LISTBOX
LITTLE
LOAD
LOAD-OF-PROGRAM
LOCAL
LOCALE
LOG
LOG-POINT
LOG10
LOGFILE
LOOP
LOW
LOWER
LPI
LT
M
MAIL
MAIN
MAJOR-ID
MARGIN
MARK
MASK
MATCH
MATCHCODE
MAX
MAXIMUM
MEMORY
MESSAGE
MESSAGE-ID
MESSAGES
METHOD
METHODS
MIN
MINIMUM
MINOR-ID
MM/DD/YY
MM/DD/YYYY
MMDDYY
MOD
MODE
MODIF
MODIFIER
MODIFY
MODULE
MOVE
MOVE-CORRESPONDING
MULTIPLY
MULTIPLY-CORRESPONDING
N
NA
NAME
NAMETAB
NATIVE
NB
NE
NESTING
NEW
NEW-LINE
NEW-PAGE
NEW-SECTION
NEXT
NO
NO-DISPLAY
NO-EXTENSION
NO-EXTENSIONS
NO-GAP
NO-GAPS
NO-GROUPING
NO-HEADING
NO-SCROLLING
NO-SIGN
NO-TITLE
NO-TOPOFPAGE
NO-ZERO
NODE
NODES
NON-UNICODE
NON-UNIQUE
NOT
NP
NS
NULL
NUMBER
NUMERIC
NUMOFCHAR
O
OBJECT
OBJECTS
OBLIGATORY
OCCURRENCE
OCCURRENCES
OCCURS
OF
OFF
OFFSET
OLE
ON
ONLY
OPEN
OPTION
OPTIONAL
OPTIONS
OR
ORDER
OTHERS
OUT
OUTER
OUTPUT
OUTPUT-LENGTH
OVERFLOW
OVERLAY
P
PACK
PACKAGE
PADDING
PAGE
PAGES
PARAMETER
PARAMETER-TABLE
PARAMETERS
PART
PATTERN
PERCENTAGE
PERFORM
PERFORMING
PERSON
PF
PF-STATUS
PINK
PLACES
POOL
POSITION
PRECOMPILED
PREFERRED
PRESERVING
PRIMARY
PRINT
PRINT-CONTROL
PRIORITY
PRIVATE
PROCEDURE
PROCESS
PROGRAM
PROPERTY
PROTECTED
PROVIDE
PUBLIC
PUSHBUTTON
PUT
QUEUE-ONLY
QUICKINFO
RADIOBUTTON
RAISE
RAISING
RANGE
RANGES
READ
READ-ONLY
RECEIVE
RECEIVED
RECEIVER
RECEIVING
RED
REDEFINITION
REF
REFERENCE
REFRESH
REGEX
REJECT
RENAMING
REPLACE
REPLACEMENT
REPLACING
REPORT
REQUEST
REQUESTED
RESERVE
RESET
RESOLUTION
RESPECTING
RESPONSIBLE
RESULT
RESULTS
RETURN
RETURNCODE
RETURNING
RFC
RIGHT
RIGHT-JUSTIFIED
ROLLBACK
ROUND
ROWS
RUN
SAP
SAP-SPOOL
SAVING
SCAN
SCREEN
SCROLL
SCROLL-BOUNDARY
SCROLLING
SEARCH
SECONDS
SECTION
SELECT
SELECT-OPTIONS
SELECTION
SELECTION-SCREEN
SELECTION-SET
SELECTION-SETS
SELECTION-TABLE
SELECTIONS
SEND
SEPARATE
SEPARATED
SET
SHARED
SHIFT
SHORTDUMP-ID
SIGN
SIMPLE
SIN
SINGLE
SINH
SIZE
SKIP
SKIPPING
SMART
SOME
SORT
SORTABLE
SORTED
SOURCE
SPECIFIED
SPLIT
SPOOL
SPOTS
SQL
SQRT
STABLE
STAMP
STANDARD
START-OF-SELECTION
STARTING
STATE
STATEMENT
STATEMENTS
STATIC
STATICS
STATUSINFO
STEP-LOOP
STOP
STRING
STRLEN
STRUCTURE
STRUCTURES
SUBKEY
SUBMATCHES
SUBMIT
SUBROUTINE
SUBSCREEN
SUBSTRING
SUBTRACT
SUBTRACT-CORRESPONDING
SUFFIX
SUM
SUMMARY
SUMMING
SUPPLIED
SUPPLY
SUPPRESS
SWITCH
SWITCHSTATES
SYMBOL
SYNCPOINTS
SYNTAX-CHECK
SYNTAX-TRACE
SYSTEM-CALL
SYSTEM-EXCEPTIONS
SYSTEM-EXIT
T
TAB
TABBED
TABLE
TABLES
TABLEVIEW
TABSTRIP
TAN
TANH
TASK
TEST
TESTING
TEXT
TEXTPOOL
THEN
TIME
TIMES
TITLE
TITLE-LINES
TITLEBAR
TO
TOKENIZATION
TOKENS
TOP-LINES
TOP-OF-PAGE
TRACE-FILE
TRACE-TABLE
TRAILING
TRANSACTION
TRANSFER
TRANSFORMATION
TRANSLATE
TRANSPORTING
TRMAC
TRUNC
TRUNCATE
TRUNCATION
TRY
TYPE
TYPE-POOL
TYPE-POOLS
TYPES
ULINE
UNASSIGN
UNDER
UNICODE
UNIQUE
UNIT
UNIX
UNPACK
UNTIL
UP
UPDATE
UPPER
USER
USER-COMMAND
USING
UTF-8
VALID
VALUE
VALUE-REQUEST
VALUES
VARY
VARYING
VERIFICATION-MESSAGE
VERSION
VIA
VISIBLE
WAIT
WARNING
WHEN
WHENEVER
WHERE
WHILE
WIDTH
WINDOW
WINDOWS
WITH
WITH-HEADING
WITH-TITLE
WITHOUT
WORD
WORK
WRITE
X
XML
XSEQUENCE
XSTRING
XSTRLEN
YELLOW
YYMMDD
Z
ZONE

1 comment:

err said...

Add.

Try to create class with name BC_, BI_, ZBC_, or ZBI_

Note 1074987 - Error for classes/interfaces with the prefix BC or BI