abap part3

download abap part3

of 33

Transcript of 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.