Documente Academic
Documente Profesional
Documente Cultură
Data Types
Syntax to declare a variable in ABAP DATA Variable_Name Type Variable_Type
Example:
DATA employee_number Type I.
Initial field
length
Valid field
length
Initial
value
Meaning
Numeric types
I
1 - 16
Packed number
Character types
C
1 - 65535
Text field(alphanumeric
characters)
'00000000'
Date field(Format:
YYYYMMDD)
N
1 - 65535
'000000'
Time field(format:
HHMMSS)
1 - 65535
Hexadecimal field
Hexadecimal type
X
move 16 to a.
write a to b.
- Arithmetic Operations
compute a = a*100.
Control Statements
Following control statements can be used - - If ... EndIf Loop
if [not] exp [ and / or [not] exp ].
........
[elseif exp.
.......]
[else.
.......]
Endif.
- Case statement
Case variable.
when value1.
.........
when value2.
.........
[ when others.
.........]
Endcase.
Do.
-While loop
While <logical expression>.
.....
.....
Endwhile.
- Do loop
Do <n> times.
.....
.....
Enddo.
Logical Operator
A list of logical operators
GE or >=
GT or >
LE or <=
LT or <
EQ or =
NE or <>
ABAP/4 Editor
Finally, here is where you will spend most of your time as a developer creating /
modifying programs. Transaction SE38
Objects in the ABAP Dictionary resided on three levels that support their re-usability.
These levels are:
1.
2.
3.
Domains
Specifies a value range which describes allowed data values for the fields
Fields referring to the same domain (via the data elements assigned to them)
are changed when a change is made to the domain
Ensures consistency
Ex. Purchasing document number (EBELN)
Data Elements
Fields of same semantic meaning can refer to the same data element
Tables
Structures
Views
Search Help
Lock Objects
Views
Views in SAP _ ABAP are used to summarize data which is distributed among
several tables
The data of a view is not actually physically stored. The data of a view is
instead derived from one or moreother tables
It is tailored to the needs of a specific application
Search Help
A Search help is a tool to help you search for data records in the system
An efficient and user-friendly search assists users where the key of a record is
unknown
Lock Objects
Simultaneous accessing of the same data record by two users in the SAP
system is synchronized by a lock mechanism.
Locks are set and released by calling certain function modules. These function
modules are generated automatically from the definition of so-called lock objects in
the ABAP/4 Dictionary
Function modules : Enqueue_<obj name> - to lock the table dequeue_<obj name> to release the lock
Important Transactions
Modularity in ABAP:
Macro,Include,Subroutines,Function
Modules & Groups
When you modularize source code, you place a sequence of ABAPstatements in a
module. Then, instead of placing all of the statements in your main program, you just
call the module.When the program is generated, the source code in the modularization
unit is treated as though it were actually physically present in the main program.
Need of Modularization
Use of Macros
Subroutines
Function Modules
Lets look into each of them in detail :
DEFINE <macro_name>
'Macro Statements
END-OF-DEFINITION
Output: 2
Include Programs
Include Programs are solely for modularizing source code, and have no parameter
interface. Include programs allow you to use the same source code in different
programs. They can be useful if you have lengthy data declarations that you want to
use in different programs.
Syntax
Include <include program Name>
Points to Note
INCLUDE ZILX0004.
WRITE: / 'User', SY-UNAME,/ 'Date', SY-DATUM.
================================
PROGRAM ZRPM0001.
INCLUDE ZILX0004.
Subroutines
Subroutines are procedures that you can define in any ABAP program and also call
from any program. Subroutines are normally called internally, that is, they contain
sections of code or algorithms that are used frequently locally. If you want a function
to be reusable throughout the system, use a function module.
Syntax1
2
3
4
5
Internal
Subroutine defined in same program being called.
Can access all the data objects declared in the main ABAP/4 program.
2.
External
o
Subroutine defined outside the program being called.
o
Need to use the <pass> option or declare data objects in common parts
of memory.
Calling a Subroutine Internal Subroutines
o
Points to Note
Nested calls are allowed in subroutines (i.e. PERFORM within a FORM ...
ENDFORM ).
To define local data, use the DATA statement after FORM . Each time you
enter the subroutine, the data is recreated (with an initial value) and released at the
end (from the stack).
To define global data used within a subroutine, use the LOCAL statement after
FORM . The values are saved when you enter the subroutine and then released at
the end (from the stack)
Function Modules
Function Modules are general purpose ABAP/4 routines that anyone can use. Infact ,
there are a large number of standard function Modules available.
Function Modules are organized into Function Groups: Collections of logically related
functions. A Function module always belongs to a Function Group.
Syntax-
1
2
3
4
5
Administration
Import/Changing/Export parameters.
Table Parameters/Exceptions.
Documentation
Global Data - L<fgrp>TOP .Global data for the function group- Accessible
across function modules in the function group.
Main Program - SAPL<fgrp> . Contains the list of all the include files for that
function group
Call a Function Module
To call a function module, use the CALL FUNCTION statement:
1
2
3
4
5
6
7
8
9
10
11
12
13
f1 = a 1.... f n = a n]
[IMPORTING
f1 = a 1.... f n = a n]
[CHANGING
f1 = a 1.... f n = a n]
[TABLES
f1 = a 1.... f n = a n]
[OTHERS = ro]].
Function Groups
Function groups are containers for function modules. Infact, there are a large number
of standard Function Groups. All of the function modules in a function group can
access the global data of the group.
Like executable programs (type 1) and module pools (type M), function groups can
contain screens, selection screens, and lists.
Points to Note
When you create a function group or function module, the main program and
include programs are generated automatically.