Intro to ABAP/4 - Nelson Mandela Metropolitan University

Download Report

Transcript Intro to ABAP/4 - Nelson Mandela Metropolitan University

Introduction to ABAP/4
What is ABAP/4?

Advanced Business Application
Program
– Release 4

Why do we need to develop ABAP/4
applications in SAP R/3?
Why use ABAP?
ABAP/4 is the programming language
SAP developers use to build
transactions and customize SAP R/3.
 The main purpose of ABAP/4 is to
provide additional functionality to
existing SAP applications.
 We tend not to use ABAP/4 to develop
custom applications from scratch.

Purpose of ABAP/4

The two most common uses of ABAP/4
are:
– Producing custom reports
– Developing custom interfaces
Reports & Interfaces
Report - The ABAP program reads
specific data from the SAP database
and then displays this data on the
screen or writes it to a printer.
 Interface - The ABAP program reads
data from the SAP database and writes
it to an external file to be used by
another system (e.g. mainframe).

In this course we will?
Learn enough ABAP/4 to access the SAP
database using SQL.
 Write & format this data to a printer /
screen.
 Write this data to an external file
 SO YOU CAN:
 Write a Report program
 Write an Interface program

How we will proceed
We will learn various parts of an
ABAP/4 program first.
 We will then put these parts together to
develop a complete program.

Defining a program

REPORT program name

The report has various features to
format output to the screen or printer
we will talk about these features later.
Commenting your code

It is expected that you will have
sufficient comments in all the ABAP/4
programs you write. Why?
– It is EXPECTED of all PROFESSIONAL
software developers.
– Due to the high turnover rate of SAP R/3 &
ABAP/4 consultants, other people may be
stuck maintaining your program.
Adding comments in ABAP/4

1: To comment an entire line use an
asterisks (*).
* This program will…
Adding comments in ABAP

2: To comment part of a line use the
double quote (“)
– WRITE ‘HELLO’ “This statement will….
Variables and Constants

We have given the program a name
and added a description of the program
in the comments.

To manipulate and gather data for
processing we need variables, records,
and constants.
A variable is:

- A symbolic reference to a memory
location that stores information
temporarily. These variables persist only
during the execution of the program,
and the data they contain is lost when
the execution is complete - unless the
data is transferred to a database table
or system file.
Variables
MUST be declared before they are used.
 Can be declared anywhere in the
program, BUT for consistency they
should be declared at the beginning of
a program or subroutine.
 Begin each variable with a letter and
then a mixture of letters and numbers

Variables
Use the underscore (_) to separate
distinct words. DO NOT use the hyphen
( -) this has a special purpose that we
will discuss later.
 NO reserved words (the same name as
an ABAP command)

Variables

Standard SCOPE rules apply. Variables
defined at the program level are
considered global, variables in
subroutines are visible only to the
subroutine.
Declaring variables
DATA var[(LENGTH)] [TYPE type]
[DECIMALS number] [VALUE initial
value]
 var is the name of the variable
 [(length)] is the size of the variable


TYPE is the type of variable. The
possible data types for variables in
ABAP are:
Data types for ABAP/4
Type/Description/Example
 C Character
“hello world”
 D Date
“19990101”
 F Floating point #
3e4
 N Numeric text
10000
 P Packed Decimal
22.50
 T Time
104500
 H Hexadecimal
23A

We will only use:
C, D, P, I, T, and maybe N.
 The DECIMAL is the number of decimal
places for the packed decimal type.
 The size of the field = digits before the
decimal + digits after the decimal.

– IF A FIELD HAS 6 DIGITS BEFORE THE DECIMAL
AND 2 DIGITS AFTER , IT MUST BE DECLARED AS
A SIZE 8.

VALUE is the initial or default value for
the field at execution.
Example 1

Declare a variable that will hold the
persons job title, it should be 10
characters in length and be initialize to
MANAGER.
DATA JOB_TITLE (10) TYPE C VALUE
‘MANAGER’.
Example 2

Declare a variable to store the persons
date of birth. Initialize the value to
December 31, 1900.
DATA DATE_OF_BIRTH (8) TYPE D
VALUE ‘19901231’.
Your turn

Declare a variable that will store the
employee income. It is comprised of 8
digits before the decimal point and 2
digits following it. Initialize the variable
to 1 DOLLAR.
Answer

DATA EMP_INCOME (10) TYPE P
DECIMALS 2 VALUE ‘1.00’.
Constants
Data that doesn’t change its value
during program execution.
 Defines the same as DATA variables.
 Example:
 CONSTANTS PLANT_NUM TYPE I
VALUE ‘6523’.

Run-time Parameters

Allows us to pass data to the ABAP/4
program at run time.

PARAMETERS parameter name TYPE
type.

For all the options see page 16 in the
book.
ABAP/4 Statements

ABAP/4 does not care where a
statement begins on a line. - As a
result, you should indent sections of
code for readability.
ABAP/4 Statements
Multiple statements can be placed on a
single line. To improve readability this is
not recommended.
 Blank lines can be placed anywhere in
the program and should be used to
improve readability.
 ALL ABAP/4 statements (except

comments) must end with a period (.).
Coding Statements

We will now discuss how to display data
including:
– Moving data into a variable
– Moving data between variables
– Writing data to the report/screen
– Coding our first complete ABAP/4 program
MOVE

Move data into or between variables is
done using the move statement. There
are two forms of the move statement.
MOVE value TO var
 var = value

Moving data into a variable

MOVE ‘10’ TO PERSON_AGE.
– OR

PERSON_AGE = ‘10’.
Moving data from one
variable to another

Move the contents of PERSON_AGE to
DISPLAY_AGE:

MOVE PERSON_AGE TO DISPLAY_AGE
– or

DISPLAY_AGE = PERSON_AGE.
Computations

[COMPUTE] var = expression.
ADD value TO var.
 SUBTRACT value FROM var.
 MULTIPLY value BY var.
 DIVIDE value BY var.

Outputting text

To output data to the screen we use
the write command.
– WRITE ‘text’.
– WRITE field name.
WRITE
WRITE ‘Boyle’.
 WRITE LAST_NAME.
