Download - abap part3
-
7/29/2019 abap part3
1/33
SAP AG
CSU
Chico
MINS298c
ABAP/4 Programming
Introduction to Data Types
Chapter 4
Fall 1998
-
7/29/2019 abap part3
2/33
SAP AG
CSU
Chico
Overview
Introduction
Declaration
Data Types
elementary
complex
Working with Data Types
-
7/29/2019 abap part3
3/33
SAP AG
CSU
Chico
Data Objects
Data Object
VariableFixed
? ?
-
7/29/2019 abap part3
4/33
SAP AG
CSU
Chico
Data Objects
Data Object
VariableFixed
Literals Constants
-
7/29/2019 abap part3
5/33
SAP AG
CSU
Chico
Fixed Data Objects
(Constants and Literals)
CONSTANTS: company_name(3) type c value SAP.
Literals are inside quotes
WRITE: Happiness is SAP.
-
7/29/2019 abap part3
6/33
SAP AG
CSU
Chico
Hierarchy
Variable Data Objects
Table Record Field
Table is made up ofRecords(s) is made up of
have a structure
Field(s) is made up of characters
have a type
-
7/29/2019 abap part3
7/33
SAP AG
CSU
Chico
Fields are Variables
may be declared at any point within the program
may use up to 30 characters in name
may use hyphen, but prefer dash for readability
may not use an ABAP reserved word follow rules of scope definition
-
7/29/2019 abap part3
8/33 SAP AG
CSU
Chico
Normal Scope
ProgramDATA A, B, C
FormDATA X, Y, Z
FormDATA D, E, F
Write A
Write F
Write A
Write F
Write A
Write F
According to normal
rules of scope, which
Write statements arelegal and which are not?
Line1
2
3
4
56
-
7/29/2019 abap part3
9/33 SAP AG
CSU
Chico
Data Types
User definedPre-defined
(p,i,f,c,n,d,t,x)
Elementary Structured
Structured type Table type
-
7/29/2019 abap part3
10/33 SAP AG
CSU
Chico
Data Types
User definedPre-defined
(p,i,f,c,n,d,t,x)
Elementary Structured
Structured type Table type
-
7/29/2019 abap part3
11/33 SAP AG
CSU
Chico
Pre-defined Types(with default length and value)
Character Default Justify
c 1 space left n 1 0 left
Numbers
i 4 0 right
p 8 0 right
f 8 0.0 right
Date (d) 8 00000000 left
Time (t) 6 000000 left
Hexadecimal (x) 1 00 left
-
7/29/2019 abap part3
12/33 SAP AG
CSU
Chico
Data Types
User definedPre-defined
(p,i,f,c,n,d,t,x)
Elementary Structured
Structured type Table type
-
7/29/2019 abap part3
13/33 SAP AG
CSU
Chico
Three Ways to Declare Types
pre-defined elementary types
non-elementary types
existing fields
-
7/29/2019 abap part3
14/33 SAP AG
CSU
Chico
Types and Data Statement
DATA var[(length)] [TYPE type] [DECIMALS num] [VALUE
init]
TYPES BEGIN OF rec-name
[fieldname]END OF rec-name
DATA var LIKE table-field [VALUE init]
-
7/29/2019 abap part3
15/33 SAP AG
CSU
Chico
Similar Declarations
Data: customer_name(25) type c,
vendor_name(25) type c.
TYPES name(25) type c.
DATA: customer_name type name,
vendor_name type name.
DATA: customer_name(25) type c,vendor_name LIKE customer_name.
-
7/29/2019 abap part3
16/33 SAP AG
CSU
Chico
What are the defaults here?
What are the default type and length of flag and ofmy_number?
DATA: flag, my_number.
What is contained in c_alpha and n_alpha?
DATA: c_alpha(3) type c value 5,
n_alpha(3) type n value 5.
-
7/29/2019 abap part3
17/33 SAP AG
CSU
Chico
Character: C vs N
C = justifies left and has trailing blanks
N = justifies right and has leading zeroes
What happens with:
DATA: var-1(4) type c value 1234,var-2(4) type n value 1234.
WRITE:/ var-1, var-2.
-
7/29/2019 abap part3
18/33 SAP AG
CSU
Chico
What are the defaults here?
What is contained in c_alpha and n_alpha?
DATA: c_alpha(3) type c value 5,
n_alpha(3) type n value 5.
-
7/29/2019 abap part3
19/33
-
7/29/2019 abap part3
20/33 SAP AG
CSU
Chico
Dates and Times
Date = d stored as YYYYMMDD with initial value of00000000
Time = t stored as HHMMSS with 000000
Why store in this format?
-
7/29/2019 abap part3
21/33 SAP AG
CSU
Chico
Which is easier to sort?
01/01/58
01/20/58
01/01/60
12/01/97
01/20/00
19580101
19580120
19600101
19971201
20000120
-
7/29/2019 abap part3
22/33 SAP AG
CSU
Chico
Computations on Dates
DATA my_date LIKE sy-datum.
MOVE 19580420 to my_date.
my_date = my_date - 1.
Write:\ my_date.
Displays 19580419
-
7/29/2019 abap part3
23/33 SAP AG
CSU
Chico
Offset and Length Format
One may address sub-parts of elementary data objectsby specifying the offset and length !!!
MOVE sy-datum+6(2) to hold_day
1 9 5 8 0 4 2 0
sy-datum(0) sy-datum(6)
-
7/29/2019 abap part3
24/33 SAP AG
CSU
Chico
Parameter Statement
Parameter statement creates a set of variable fieldswhich are presented to the user for input on theselection screen.
PARAMETERS var TYPE type [DEFAULT value]
-
7/29/2019 abap part3
25/33 SAP AG
CSU
Chico
Data Types
User definedPre-defined
(p,i,f,c,n,d,t,x)
Elementary Structured
Structured type Table type
-
7/29/2019 abap part3
26/33 SAP AG
CSU
Chico
Records
records or structures are called field strings in ABAP
use BEGIN OF and END OF
nesting is allowed
use TYPES command
-
7/29/2019 abap part3
27/33
SAP AG
CSU
Chico
Field String Types
TYPES : BEGIN OF ADDRESS,
street(20) type c,
city(20) type c,
state(10) type c,
zip type I,
END OF ADDRESS.
How large (in characters) is the record ADDRESS?
-
7/29/2019 abap part3
28/33
-
7/29/2019 abap part3
29/33
SAP AG
CSU
Chico
Using Field String Types
TYPES : BEGIN OF ADDRESS,
street(20) type c,city(20) type c,
state(10) type c,
zip type I,
END OF ADDRESS.
DATA: Old_Address TYPE Address,
New_Address TYPE Address.
Old_Address
Street City State Zip
Old_Address-Zip
Old_Address-City
-
7/29/2019 abap part3
30/33
SAP AG
CSU
Chico
Data Types
User definedPre-defined
(p,i,f,c,n,d,t,x)
Elementary Structured
Structured type Table type
-
7/29/2019 abap part3
31/33
SAP AG
CSU
Chico
Creating Tables
Use the occurs statement
not necessary to identify the amount, may use zero (0).
Format
TYPES tablename TYPE type OCCURS 0. Example
TYPES Address_Table TYPE ADDRESS OCCURS 0.
Really creates the structurewhich will be allocated andmaintained dynamically.
-
7/29/2019 abap part3
32/33
SAP AG
CSU
Chico
Declarative Statements
DATA
TYPE
CONSTANTS
PARAMETERS
-
7/29/2019 abap part3
33/33
CSU
Chico
Assignments
Create program(s) to
demonstrate the justification difference between the nand c types
determine whether or not our system has a roundingerror in the fixed point arithmetic
find the difference between the current date and yourbirthday
prove that one day before 01/01/98 is 12/31/97 using theABAP date types
use the parameter statement to interactively ask for twodates and display the difference between them.