Вы находитесь на странице: 1из 33

MINS298c

ABAP/4 Programming

Introduction to Data Types Chapter 4

Fall 1998

CSU Chico
SAP AG

Overview
Introduction Declaration

Data Types

elementary complex

Working with Data Types

CSU Chico
SAP AG

Data Objects
Data Object

Fixed

Variable

CSU Chico
SAP AG

Data Objects
Data Object

Fixed

Variable

Literals

Constants

CSU Chico
SAP AG

Fixed Data Objects

(Constants and Literals)


CONSTANTS: company_name(3) type c value SAP.

Literals are inside quotes


WRITE: Happiness is SAP.

CSU Chico
SAP AG

Hierarchy

Variable Data Objects


Table Record Field

Table is made up of Records(s) is made up of have a structure Field(s) is made up of characters have a type

CSU Chico
SAP AG

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

CSU Chico
SAP AG

Normal Scope
Line 1 2 Program DATA A, B, C Write A Write F Form DATA X, Y, Z Write A Write F Form DATA D, E, F Write A Write F

3 4

According to normal rules of scope, which Write statements are legal and which are not?

5 6

CSU Chico
SAP AG

Data Types

Pre-defined (p,i,f,c,n,d,t,x)

User defined

Elementary

Structured

Structured type

Table type

CSU Chico
SAP AG

Data Types

Pre-defined (p,i,f,c,n,d,t,x)

User defined

Elementary

Structured

Structured type

Table type

CSU Chico
SAP AG

Pre-defined Types
(with default length and value)

Character

Default 1 1 4 8 8 8 6 1 space 0 0 0 0.0 000000 00

Justify left left right right right left left

c n Numbers

i p f

Date (d) Time (t) Hexadecimal (x)

00000000 left

CSU Chico
SAP AG

Data Types

Pre-defined (p,i,f,c,n,d,t,x)

User defined

Elementary

Structured

Structured type

Table type

CSU Chico
SAP AG

Three Ways to Declare Types


pre-defined elementary types non-elementary types

existing fields

CSU Chico
SAP AG

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]

CSU Chico
SAP AG

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.

CSU Chico
SAP AG

What are the defaults here?


What are the default type and length of flag and of my_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.

CSU Chico
SAP AG

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.

CSU Chico
SAP AG

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.

CSU Chico
SAP AG

Numbers
i - cannot have explicit length

p - 15 digits, can explicitly define decimal places

DATA Dollars TYPE p DECIMALS 2.


f - handles exponential, subject to rounding errors sometimes (1.0/3.0)*3.0 is not 1.0

CSU Chico
SAP AG

Dates and Times


Date = d stored as YYYYMMDD with initial value of 00000000

Time = t stored as HHMMSS with 000000


Why store in this format?

CSU Chico
SAP AG

Which is easier to sort?


01/01/58 01/20/58 19580101 19580120

01/01/60
12/01/97 01/20/00

19600101
19971201 20000120

CSU Chico
SAP AG

Computations on Dates
DATA my_date LIKE sy-datum. MOVE 19580420 to my_date.

my_date = my_date - 1.
Write:\ my_date.

Displays 19580419

CSU Chico
SAP AG

Offset and Length Format


One may address sub-parts of elementary data objects by specifying the offset and length !!!

MOVE sy-datum+6(2) to hold_day

1 9
sy-datum(0)

8 0

sy-datum(6)

CSU Chico
SAP AG

Parameter Statement
Parameter statement creates a set of variable fields which are presented to the user for input on the selection screen. PARAMETERS var TYPE type [DEFAULT value]

CSU Chico
SAP AG

Data Types

Pre-defined (p,i,f,c,n,d,t,x)

User defined

Elementary

Structured

Structured type

Table type

CSU Chico
SAP AG

Records
records or structures are called field strings in ABAP use BEGIN OF and END OF

nesting is allowed
use TYPES command

CSU Chico
SAP AG

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?

CSU Chico
SAP AG

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.

MOVE Old_Address to New_Address.

CSU Chico
SAP AG

Using Field String Types


TYPES : BEGIN OF ADDRESS, street(20) type c, city(20) type c,
Old_Address Street City State Zip

state(10) type c,
zip type I, END OF ADDRESS. DATA: Old_Address TYPE Address, New_Address TYPE Address.
Old_Address-Zip Old_Address-City

CSU Chico
SAP AG

Data Types

Pre-defined (p,i,f,c,n,d,t,x)

User defined

Elementary

Structured

Structured type

Table type

CSU Chico
SAP AG

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 structure which will be allocated and maintained dynamically.

CSU Chico
SAP AG

Declarative Statements
DATA TYPE

CONSTANTS
PARAMETERS

CSU Chico
SAP AG

Assignments
Create program(s) to

demonstrate the justification difference between the n and c types determine whether or not our system has a rounding error in the fixed point arithmetic

find the difference between the current date and your birthday
prove that one day before 01/01/98 is 12/31/97 using the ABAP date types

use the parameter statement to interactively ask for two dates and display the difference between them.

CSU Chico
SAP AG

Вам также может понравиться