0% found this document useful (0 votes)
57 views

Sap Abap

This document provides an introduction to key concepts in ABAP, including: - ABAP supports object-oriented programming with the latest ABAP Objects version. Older ABAP/4 applications are also supported. - Data types in ABAP include numeric, character, date, time, and hexadecimal types. Variables are declared using the DATA statement. - Control structures in ABAP include IF/ELSE conditional statements and DO/WHILE loops. Logical operators are also supported. - The ABAP editor, transaction SE38, is used to create and modify ABAP programs. The ABAP Data Dictionary in transaction SE11 is used to centrally define metadata. - Modularization techniques in

Uploaded by

Surya Anju
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views

Sap Abap

This document provides an introduction to key concepts in ABAP, including: - ABAP supports object-oriented programming with the latest ABAP Objects version. Older ABAP/4 applications are also supported. - Data types in ABAP include numeric, character, date, time, and hexadecimal types. Variables are declared using the DATA statement. - Control structures in ABAP include IF/ELSE conditional statements and DO/WHILE loops. Logical operators are also supported. - The ABAP editor, transaction SE38, is used to create and modify ABAP programs. The ABAP Data Dictionary in transaction SE11 is used to centrally define metadata. - Modularization techniques in

Uploaded by

Surya Anju
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Introduction to ABAP: Datatypes,

Operators & Editor – Tutorial


ABAP stands for – Advanced Business Application Programming.It is a
programming language for developing applications for the SAP R/3
system.

The latest version of ABAP is called ABAP Objects and supports object-
oriented programming. SAP will run applications written using ABAP/4,
the earlier ABAP version, as well as applications using ABAP Objects.

Without further adieu , lets dive into ABAP.

Note, this tutorial will not go into extensive details on ABAP language
constructs (which become very boring to read ) but quickly introduce
key concepts to get you started so you can focus your attention on more
important topics.

Data
Initial field Valid field Initial
Typ Meaning
length length value
e

Numeric types

I 4 4 0 Integer (whole number)

F 8 8 0 Floating point number

P 8 1 – 16 0 Packed number

Character types

C 1 1 – 65535 ‘ … ‘ Text field(alphanumeric characters)

D 8 8 ‘00000000’ Date field(Format: YYYYMMDD)

Numeric text field(numeric


N 1 1 – 65535 ‘0 … 0’
characters)

T 6 6 ‘000000’ Time field(format: HHMMSS)


Hexadecimal type

X 1 1 – 65535 X’0 … 0′ Hexadecimal field

Data Types
Syntax to declare a variable in ABAP –
DATA Variable_Name Type Variable_Type
Example:
DATA employee_number Type I.
The following is a list of Data Types supported by ABAP

Processing Data – Assigning Values


a=16.

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 spent most of your time as a developer
creating / modifying programs. Transaction SE38
SAP ABAP Data Dictionary (SE11)

What is Data Dictionary?


Data Dictionary is a central source of information for the data in a
information management system. Its main function is to support the
creation and management of data definitions (or “metadata”).

ABAP Dictionary 3 levels


Objects in the ABAP Dictionary resided on three levels that support their
re-usability. These levels are:

1. Tables and structures


2. Data elements
3. Domains
Lets look into them in detail –

Domains
 Describes the technical characteristics of a table field
 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
 Describes the role played by a field in a technical context
 Fields of same semantic meaning can refer to the same data
element
 Contains the field information
Ex. Purchasing document number (EBELN)

Tables
 Represent the Database Tables where data actually resides.
 Tables can be defined independently of the database in the ABAP
Dictionary.
 The fields of the table are defined with their (database-
independent) SAP ABAP data types and lengths.
Structures
 Are record declarations that do NOT correspond to a Database
Table.
 Just like user-defined data type.
 Defined like a table and can then be addressed from ABAP
programs.
 Structures contain data only during the runtime of a program.
Aggregated Objects of ABAP Dictionary
Aggregated means consisting of several components. In the ABAP
Dictionary, aggregated objects are objects which come from several
different transparent tables.

1. Views
2. Search Help
3. Lock Objects

Lets look into them in detail

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 more other 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

 SE11 : Data Dictionary Initial Screen (SE12 Display only)


 SE13 : ABAP Dictionary : Technical Settings
 SE14 : Database Utility
 SE15 : Repository Information System
 SE16 : Data Browser
 SE17 : General table Display
 SE55 : Table View Maintenance
 SM30 : Table Maintenance

Modularization in ABAP: Macro,


Subroutines & Function Modules
When you modularize source code, you place a sequence of ABAP
statements 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.

In this tutorial you will learn:

 SAP- ABAP Macro


 Include Programs
 Subroutines
 Function Modules
 Function Groups

Need of Modularization

 Improve the structure of the program.


 Easy to read the code
 Easy to maintain the code
 Avoid redundancy and promotes code reuse

Various Modularization Techniques

 Use of Macros
 Use of include files
 Subroutines
 Function Modules

Lets look into each of them in detail :

SAP- ABAP Macro


If you want to reuse the same set of statements more than once in a
program, you can include them in a macro.

You can only use a macro within the program in which it is defined, and
it can only be called in lines of the program following its definition.

Macros can be useful for long calculations or complex WRITE


statements.

Syntax
DEFINE <macro_name>

'Macro Statements

END-OF-DEFINITION
Macros can use Parameters  &N where N = 1,2,3…
Example:-
DATA: number1 TYPE I VALUE 1.

DEFINE increment.

ADD 1 to &1.

WRITE &1.

END-OF-DEFINITION.

Increment number1.

WRITE number1.
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 programs cannot call themselves.


 Include programs must contain complete statements.

Example:
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.

Syntax-
FORM <Subroutine> [<pass>].

<Statement block>.

ENDFORM.
<Subroutine> = Name of the subroutine

<pass> = Parameters being passed

Types of Subroutines

1. Internal
 Subroutine defined in same program being called.
 Can access all the data objects declared in the main ABAP/4
program.
2. External
 Subroutine defined outside the program being called.
 Need to use the <pass> option or declare data objects in
common parts of memory.

Calling a Subroutine

Internal Subroutines
PERFORM <subroutine> [<pass>]
<subroutine> = Name of the subroutine

<pass> = Parameters being passed

Data declared in main program is automatically available.

External Subroutines
PERFORM <subroutine>(<Program>) [<pass>].

PERFORM <subroutine> (<Program>) [<pass>] [IF FOUND].

PERFORM (<subroutine>) IN PROGRAM (<Program>) [<pass>] [IF FOUND].

PERFORM <index> OF <subroutine1> <subroutine2> <subroutine3> [<pass>].


Points to Note

 Nested calls are allowed in subroutines (i.e. PERFORM within a


FORM … ENDFORM ).
 Recursive calls are also possible.
 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-
FUNCTION <function module>

<Statements>

ENDFUNCTION.
Important information Associated with Function Module

 Administration
 Import/Changing/Export parameters.
 Table Parameters/Exceptions.
 Documentation
 Source code – L<fgrp>U01 .  <fgrp> is the Function Group
 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:

CALL FUNCTION <module>

[EXPORTING 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]

[EXCEPTIONS e1 = r 1.... e n = r n [ERROR_MESSAGE = r E]

[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

 Function Groups cannot be executed.


 The name of a function group can be up to 26 characters long.
 When you create a function group or function module, the main
program and include programs are generated automatically.
 Function groups encapsulate data.

How to create a Function Group


1. Goto Transaction SE80.
2. Select Program in the DropDown.
3. Write the name of the Function Group That you want to create.
Generally User made Function groups start with “Z”. e.g. –
<Z_FUNCTION_GROUP_NAME> . Hit Enter Key.
4. Note that The TOP Include is create by default if the user checks
the option of creating a TOP include.

How to create a Function Module

1. Create a function Group (say “ZCAL“).


2. Create a function module, set the attributes like (Function group,
Application, Short Text and Process Type) and Save.
3. Include file “LZCALU01” will have source code of first function
module.
4. Include file “LZCALTOP” will have global data.
5. Main program “SAPLZCAL” contains
 Global data Include file “LZCALTOP“
 Function modules include file “LZCALUXX“
 User defined Include files “LZCALF..”, “LZCALO..” and
“LZCALI..”
6. Define interface parameters and Exceptions
7. Write the source code
8. Activate Function Module
9. Testing the Function Module – Single Test & Debugging
10. Documenting and Releasing a Function Module

That’s all to Modularity in ABAP.

You might also like