Sunteți pe pagina 1din 33

IBM Global Business Services

ABAP Data Declarations

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Objectives
The participants will be able to :
List ABAP elementary data types
Declaring variables
List user-defined data types
Use arithmetic expressions
List field-symbols

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

ABAP Elementary Data Types

C: Character Text

N: Numeric Text

I: Integer

D: Date

P: Packed #

T: Time

F: Floating Point #

X: Hexadecimal #

STRING

XSTRING

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

ABAP Elementary Data Types (Contd.)

C: Character Text

N: Numeric Text

I: Integer

D: Date

P: Packed #

T: Time

F: Floating Point #

X: Hexadecimal #

STRING

XSTRING

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Declaring Variables

DATA:

ABAP Data Declarations |

PLAYER(35) TYPE C,
NICKNAME(35),
POINTS
TYPE I,
GAMES
TYPE I
AVERAGE(5) TYPE P,
STARTER,
ACQUIRED TYPE D.

VALUE 10,

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Initial Values

C: (blank)

N: zeroes

I: zero

D: 00000000

P: zero

T: 000000

F: zeroes

X: 00

The CLEAR statement sets a field back to its


initial value, not its default value.
6

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Assigning Default Values

DATA:

PLAYER(35) TYPE C,
NICKNAME(35)
POINTS
TYPE I
GAMES
TYPE I
AVERAGE(5) TYPE P
STARTER
ACQUIRED TYPE D

ABAP Data Declarations |

VALUE Dr. J,
VALUE 255,
VALUE 10,
VALUE 25.5,
VALUE Yes,
VALUE 19760610.

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Declaring Like Fields

DATA:

PLAYER(35) TYPE C VALUE Julius Erving,


NICKNAME(35),
ACQUIRED TYPE D.

Use the LIKE addition to declare fields with


the same format (i.e., data type and length)

DATA:

PLAYER(35)
NICKNAME
ACQUIRED

ABAP Data Declarations |

TYPE C VALUE Julius Erving,


LIKE PLAYER,
LIKE SY-DATUM.

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Declaring Constants

The VALUE addition is required.

CONSTANTS: TEAM1(20)
TYPE C
VALUE 76ers,
TEAM2
TYPE TEAM1
VALUE Celtics,
TOT_GAMES TYPE I
VALUE 82.

If you attempt to change the value of a


constant, a syntax error will occur.

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

User-Defined Data Types

TYPES:

NAME(35)
TEAMS(20)
DATA:
PLAYER
NICKNAME
CONSTANTS: TEAM1
TEAM2

TYPE C,
TYPE C.
TYPE NAME VALUE Troy Aikman,
TYPE PLAYER.
TYPE TEAMS VALUE Cowboys,
TYPE TEAM1
VALUE Packers.

A user-defined data type created with the TYPES statement


is used to specify a fields data type in the TYPE addition
of the DATA or CONSTANTS statements.

10

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Output Characteristic for Data Types


Standard Length

11

Justification

C = defined length

C = left-justified

I = 12

I = right-justified

P = (2 * defined length) + 1

P = right-justified

F = 22

F = right-justified

N = defined length

N = left-justified

D = 10

D = left-justified

T =8

T = left-justified

X = (2 * defined length)

X = left-justified

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Output for Numeric Fields


DATA:

FLOAT
PACK
INT

TYPE F
TYPE P
TYPE I

VALUE 98.7654321E2,
VALUE 12,
VALUE 32.

WRITE: / FLOAT,
/ FLOAT EXPONENT 1 DECIMALS 3,
/ FLOAT EXPONENT 0 DECIMALS 2,
/ PACK,
/ PACK DECIMALS 1,
/ INT DECIMALS 2.

These fields are not aligned


because of the different
standard output lengths of
the numeric type fields.

12

ABAP Data Declarations |

9.876543210000000E+03
987.654E+01
9876.54
12
12.0
32.00

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Demonstration
Declaring variables and constants.

13

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Practice
Declaring variables and constants.

14

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Assigning Values to Fields


MOVE <value> TO <field>.
[COMPUTE] <field> = <value or expression>.
ADD
<value> TO
SUBTRACT <value> FROM
MULTIPLY <field> BY
DIVIDE
<field> BY
DATA:

<field>.
<field>.
<value>.
<value>.

TITLE(25),
SALARY TYPE P,
CNVSALARY TYPE SALARY,

MOVE President TO TITLE.


COMPUTE SALARY = 5000000.
CNVSALARY = SALARY * 3.
ADD 1000 TO SALARY.

15

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Arithmetic Expressions
Operators
+ - * / **
DIV and MOD

Functions
SQRT, EXP, LOG,
SIN, COS, STRLEN, . . .

COUNTER = COUNTER + 1.
SALARY = BASE * BONUS_PERCENT.
LENGTH = STRLEN( NAME ).
ANSWER = ( 10 + SQRT( NUM1 ) ) / ( NUM2 - 10 ).

Spacing is very important when using arithmetic expressions!!!

16

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Sub-Fields in ABAP

DATA: CUSTOMER(10) TYPE C,


INV_DATE TYPE SYDATUM.
CUSTOMER = 1234567890.
INV_DATE = 19960626.

Use an offset and length to


display or change portions of a
field.

WRITE: / CUSTOMER+8(2), xx,


INV_DATE(4).
* Start of Month
INV_DATE+6(2) = 01.
CUSTOMER+6(4) = ABCD.
WRITE: / CUSTOMER, ------, INV_DATE.

17

ABAP Data Declarations |

90 xx 1996
123456ABCD ----- 06/01/1996

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Date Calculations in ABAP

DATA: DAYSOLD TYPE P,


DOB TYPE D,
TODAY TYPE SYDATUM.
DOB
TODAY

Date fields store values as


YYYYMMDD.

= 19621230.
= SY-DATUM.

DAYSOLD = TODAY - DOB.


WRITE: You are, DAYSOLD, days old.

You are 12410 days old.

18

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Demonstration
Assigning values to the fields and doing calculations.

19

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Practice
Assigning values to the fields and doing calculations.

20

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Declaring Fields with PARAMETERS

PARAMETERS:

NUM TYPE I,
NAME(20) DEFAULT AARON.

ADD 10 TO NUM.
WRITE: / NUM,
----,
NAME.

Selection Screen
21

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Selection Texts

These selection texts


will be used on the
selection screen
instead of the
parameter names.

Selection Screen With the parameter description


22

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Demonstration
Creation of a selection screen and displaying the value in the report.

23

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Practice
Creation of a selection screen and displaying the value in the report.

24

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Working with Field Symbols in ABAP


DATA: NUM TYPE I VALUE 12.
FIELD-SYMBOLS:
<F1>,
<F2> TYPE I,
<F3> TYPE NUM.

A field symbol is a
pointer that assumes a
fields address, not a
fields value.

ASSIGN: NUM TO <F1>,


NUM TO <F2>,
NUM TO <F3>.
WRITE: / Line 1:, NUM, <F1>, <F2>, <F3>.
<F1> = 32.
WRITE: / Line 2:, NUM, <F1>, <F2>, <F3>.
Line 1: 12
Line 2: 32
25

ABAP Data Declarations |

12
32

12
32
Dec-2008

12
32
IBM Corporation 2013

IBM Global Business Services

Demonstration
Working with Field Symbols.

26

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Practice
Working with Field Symbols.

27

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Dynamic Assignment of Partial Strings


DATA:

TEXT_LINE(30) VALUE ABCDEFGHIJK.

FIELD-SYMBOLS <FSYMBOL>.
ASSIGN TEXT_LINE+2(5) TO <FSYMBOL>.
* this assigns 5 characters of text_line starting at
* position 3 to the field string.
WRITE: / Text Line =, TEXT_LINE.
ULINE.
WRITE: / Field Symbol=, <FSYMBOL>.
ULINE.
<FSYMBOL> = 1234567890.
WRITE: / Field Symbol =, <FSYMBOL>.
ULINE.
WRITE: / Text Line =, TEXT_LINE.

28

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Dynamic Field Assignment


PARAMETERS FIELD(8) DEFAULT SY-UZEIT.
FIELD-SYMBOLS <FSYMBOL>.
ASSIGN (FIELD) TO <FSYMBOL>.
IF SY-SUBRC = 0.
WRITE: / The contents of field, FIELD, <FSYMBOL>.
ELSE.
WRITE: / Failure assigning field, FIELD, to field symbol.
ENDIF.

FIELD

SY-UZEIT

Selection Screen

List

The contents of field SY-UZEIT 12:32:06


29

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Demonstration
Dynamic assignment with the Field Symbol.

30

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Practice
Dynamic assignment with the Field Symbol.

31

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Summary
DATA statement is used to declare a variable (or field) in an ABAP program
"LIKE" and "TYPE" statements are used to declare fields with reference to other
variables or fields
CONSTANTS statement is used to declare a constant
Text elements can be used to maintain a programs title and column headings,
selection texts, and text symbols. These text elements can be maintained in
multiple languages
A field symbol does not reserve space for the field, but points to the field
ASSIGN statement associates a field to a field symbol at runtime
The system carries out automatic type conversion if variables are not of the same
type
ABAP allows to display and change portions of a field by specifying an offset and
length

32

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Questions
What are the different types of data types?
What is a field symbol ? What is the advantage of using it in the program?
How to create a selection screen with the selection screen text?

33

ABAP Data Declarations |

Dec-2008

IBM Corporation 2013

S-ar putea să vă placă și