Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chapter 04 - ABAP Data Declarations

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 33

IBM Global Services

ABAP Data Declarations

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

IBM Global Services

Declaring Variables

DATA:

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

VALUE 10,

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

IBM Global 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

VALUE VALUE VALUE VALUE VALUE VALUE

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

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global 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

TYPE C VALUE Julius Erving, LIKE PLAYER, LIKE SY-DATUM.

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

IBM Global Services

Output Characteristic for Data Types


Standard Length C = defined length I = 12 P = (2 * defined length) + 1 F = 22 Justification C = left-justified I = right-justified P = right-justified F = right-justified

N = defined length
D = 10 T =8 X = (2 * defined length)

N = left-justified
D = left-justified T = left-justified X = left-justified

11

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global 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. 9.876543210000000E+03 987.654E+01 9876.54 12 12.0 32.00

These fields are not aligned because of the different standard output lengths of the numeric type fields.

12

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global Services

Demonstration
Declaring variables and constants.

13

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global Services

Practice
Declaring variables and constants.

14

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global 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 <field>. <field>. <value>. <value>.

DATA:

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

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

IBM Global 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.

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

17

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global Services

Date Calculations in ABAP

DATA: DAYSOLD TYPE P, DOB TYPE D, TODAY TYPE SYDATUM.


DOB TODAY = 19621230. = SY-DATUM. Date fields store values as YYYYMMDD.

DAYSOLD = TODAY - DOB. WRITE: You are, DAYSOLD, days old.

You are 12410 days old.

18

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global Services

Demonstration
Assigning values to the fields and doing calculations.

19

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global Services

Practice
Assigning values to the fields and doing calculations.

20

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

IBM Global Services

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

23

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global Services

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

24

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global Services

Working with Field Symbols in ABAP


DATA: NUM TYPE I VALUE 12. FIELD-SYMBOLS: <F1>, <F2> TYPE I, <F3> TYPE NUM. 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 12 32 12 32 12 32

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

25

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global Services

Demonstration
Working with Field Symbols.

26

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global Services

Practice
Working with Field Symbols.

27

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

IBM Global 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

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


29 ABAP Data Declarations | Dec-2008

List
2005 IBM Corporation

IBM Global Services

Demonstration
Dynamic assignment with the Field Symbol.

30

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global Services

Practice
Dynamic assignment with the Field Symbol.

31

ABAP Data Declarations |

Dec-2008

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

IBM Global 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

2005 IBM Corporation

You might also like