Top Banner
Business Consulting Services © Copyright IBM Corporation 2005 ABAP Training Odin Lee 6/2005
132
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ABAP Training

Business Consulting Services

© Copyright IBM Corporation 2005

ABAP Training

Odin Lee6/2005

Page 2: ABAP Training

Page 2

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Agenda

- ABAP Program Flow ( 30 Mins )

- ABAP Dictionary – Data type ( 90 Mins )

- ABAP Program ( 300 Mins ) ABAP Editor ( 30 Mins ) Selection Screen ( 90 Mins ) Query Database ( 90 Mins ) ABAP List ( 90 Mins )

Page 3: ABAP Training

Page 3

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

- ABAP Program Flow ( 30 Mins )

- ABAP Dictionary – Data type ( 90 Mins )

- ABAP Program ( 300 Mins ) ABAP Editor ( 30 Mins ) Selection Screen ( 90 Mins ) Query Database ( 90 Mins ) ABAP List ( 90 Mins )

ABAP Program Flow

Page 4: ABAP Training

Page 4

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Client / Server Architecture

Page 5: ABAP Training

Page 5

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Report Program Flow – 1.Program Start

Program

Start

DatabaseTable

Repository

Page 6: ABAP Training

Page 6

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

2.System Load Program Context

Program

Start

Data Objects

ABAP

Processing

Block

ABAP Runtime System

ABAP Program

Selection Screen

Repository

DatabaseTable

Page 7: ABAP Training

Page 7

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

3.Runtime System Sends Selection screen

Program

Start

Data Objects

ABAP

Processing

Block

ABAP Runtime System

ABAP Program

Database

Table

Page 8: ABAP Training

Page 8

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

4.Selection Screen Entries Insert into Data Object

Program

Start

Data objects

ABAP

Processing

Block

ABAP Runtime System

ABAP Program

DatabaseTable

Page 9: ABAP Training

Page 9

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

5.Program Requests Data Record from Database

Program

Start

DatabaseTable

ABAP

Processing

Block

ABAP Runtime System

ABAP Program

Data objects

Page 10: ABAP Training

Page 10

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

6.Database Returns Data Record to Program

Program

Start

DatabaseTable

ABAP

Processing

Block

ABAP Runtime System

ABAP Program

Data objects

Program

Start

DatabaseTable

Data objects

ABAP

Processing

Block

ABAP Runtime System

ABAP Program

Page 11: ABAP Training

Page 11

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

7.Runtime System Sends List

Program

Start

DatabaseTable

Data objects

ABAP

Processing

Block

ABAP Runtime System

ABAP Program

Page 12: ABAP Training

Page 12

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

- ABAP Program Flow ( 30 Mins )

- ABAP Dictionary – Data type ( 90 Mins )

- ABAP Program ( 300 Mins ) ABAP Editor ( 30 Mins ) Selection Screen ( 90 Mins ) Query Database ( 90 Mins ) ABAP List ( 90 Mins )

ABAP Dictionary – Data Type

Page 13: ABAP Training

Page 13

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Data Types

Page 14: ABAP Training

Page 14

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Basic Types

Data Type Initialfield length

Validfield length

Initial value Meaning

Numeric types

I 4 4 0 Integer (whole number)

F 8 8 0 Floating point number

P 8 1 - 16 0 Packed number

Character types

C 1 1 - 65535 '   …   ' Text field (alphanumeric characters)

D 8 8 '00000000' Date field (Format: YYYYMMDD)

N 1 1 - 65535 '0 … 0' Numeric text field (numeric characters)

T 6 6 '000000' Time field (format: HHMMSS)

Hexadecimal type

X 1 1 - 65535 X'0 … 0' Hexadecimal field

Page 15: ABAP Training

Page 15

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Packed Number

1 2 3 4 5 6 7 8 +_

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +_

Declear length

Output length no decimals

Output length with decimals

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 . +_

Page 16: ABAP Training

Page 16

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Global and Local Data Types

ABAP

Program

ABAP

Source

Code Interface

Subroutine

Types can be defined locally in a program or centrally in the Dictionary

Local Types in program:

Technical Attributes Only

Global Types in ABAP Dictionary:

Technical and Semantic Attribute

ABAP Dictionary

Page 17: ABAP Training

Page 17

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

ABAP Dictionary

Page 18: ABAP Training

Page 18

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Function of ABAP Dictionary

DB table

Services

ScreenPoss. values

Type definitions

Structure

Table typeData elements

F4

DB objects

Table, View

HelpF1

Page 19: ABAP Training

Page 19

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Database Object in the ABAP Dictionary

Database

Table 1

ABAP Dictionary

Table 2

View

Objects are automatically

created in the DB and

adjusted to changes

View

Table 1 Table 2

Page 20: ABAP Training

Page 20

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Type Definition in the ABAP Dictionary

ZIP Town name Street House no.

Phone No.

Address Book

Name Address Telephone

First name Last name Town Address

There are three different type categories in the ABAP Dictionary:Data elements: Describe an elementary type by defining the data type, length and possibly decimal places.Structures: Consist of components that can have any type.Table types: Describe the structure of an internal table.

Page 21: ABAP Training

Page 21

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Internal table type

Page 22: ABAP Training

Page 22

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Internal table type – line type

輸入 table name或是structure name

Page 23: ABAP Training

Page 23

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Internal table type – table type

輸入想使用的 table access 方式

Page 24: ABAP Training

Page 24

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Internal table type - key

Page 25: ABAP Training

Page 25

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Services of the ABAP Dictionary

Carrier

Flight number

. . .

Maintenance of flights

LH

Code of the flight connection

Code defining a flight connection

between two cities, e.g. 0400

Frankfurt - New York.

F1

F4

Page 26: ABAP Training

Page 26

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Linking to the Development and Runtime Environment

ABAP

DictionaryRead type

definitions

Reads structure of

database objects

Runtime environment

Development environment

ABAP

Interpreter

Screen

Interpreter

ABAP

Editor

Screen

Painter

Database

interface

Page 27: ABAP Training

Page 27

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Global Data Type-Using Data Element

Data Element: Technical Type

Field Label

Field Documentation

(for F1 Help)

Search Help

(for F4 Help)

Input Field

Field Label

F1

Page 28: ABAP Training

Page 28

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Finding ABAP Dictionary Types

DATA wa_carrid TYPE S_CARR_ID.

Structure TypeSBC405_S_SFLIGHT

Fields Field type

CARRID CONNID...

S_CARR_ID

Data elementS_CARR_ID

Double-Click

Doubl

e-Clic

k

F1

Page 29: ABAP Training

Page 29

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Local Data Types in Program

Types: <user_defined_type> TYPE

DATA: <data_object>

Help for Local

Data Type Declaration

Navigates to Local

Data Type Declaration

or ABAP Dictionary

Type

Declaration

TYPE

F1

Keyword Documentation

for Built-In Types

TYPES

F1

Double-Click

<type>.

Double-Click<type>.DATA

Help for Local

Data Object Declaration

F1

Page 30: ABAP Training

Page 30

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

- ABAP Program Flow ( 30 Mins )

- ABAP Dictionary – Data type ( 90 Mins )

- ABAP Program ( 300 Mins ) ABAP Editor ( 30 Mins ) Selection Screen ( 90 Mins ) Query Database ( 90 Mins ) ABAP List ( 90 Mins )

ABAP Editor

Page 31: ABAP Training

Page 31

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

ABAP Editor

Page 32: ABAP Training

Page 32

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Create a Report Program

2

1

3

Page 33: ABAP Training

Page 33

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

REPORT yrep_create_01 .

DATA wa_flight TYPE sflight. " work area for SFLIGHT* read data from DB table SFLIGHTSELECT * FROM sflight INTO CORRESPONDING FIELDS OF wa_flight. NEW-LINE. WRITE : wa_flight-carrid, wa_flight-connid, wa_flight-fldate, wa_flight-seatsocc, wa_flight-seatsmax.ENDSELECT.

Comment and Chained Statement

Chained Statement

Comment

Comment

Page 34: ABAP Training

Page 34

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Navigation in the Editor and Keyword Documention

Definition of Database Table in the ABAP Dictionary

Definition of StructureIn the ProgramDouble Click

Keyword Documentation

Double Click

REPORT yrep_create_01 .

DATA wa_flight LIKE sflight.

SELECT * FROM sflight INTO CORRESPONDING FIELDS OF wa_flight. NEW-LINE. WRITE: wa_flight-carrid, wa_flight-connid, wa_flight-fldate, wa_flight-seatsocc, wa_flight-seatsmax.ENDSELECT.

F1

Page 35: ABAP Training

Page 35

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Defining Data Object

<user-defined-type>.

DATA: <varname> TYPE

<ABAP-dictionary-type>.

DATA: <varname> LIKE <data-object>.

Reference Data Object

ABAP Dictionary

ABAP Program

Page 36: ABAP Training

Page 36

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Declaring Data Objects

ABAP Program

carrid

counter

DATA: Carrid TYPE s_carr_id,

Tmp_carrid LIKE carrid.

carr

counter TYPE I,

Data Element

S_carr_idTmp_carrid

ABAP Basic Type

Data Object

Page 37: ABAP Training

Page 37

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Literals and Constants

'abdc', '2.17', '1.213E15', ‘HELLO', 'A''B'

Character sequence set off by single

quotation marks, 255 characters max.

Text literal

1234, -987

Whole number (a minus sign is

placed in front of negative numbers)

Numeric literal

CONSTANTS <constants> TYPE <type> VALUE <literal>.

CONSTANTS: C_PI TYPE P DECIMALS 4 VALUE '3.1415',

C_NAME(4) TYPE C VALUE 'Hugo'.

Page 38: ABAP Training

Page 38

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Concatenate Statement

CONCATENATE f1 ... fn INTO g.

DATA: ONE(10)   VALUE ' John ',       TWO(3)    VALUE 'F.',       THREE(10) VALUE ' Kennedy',

      NAME(20).       FIRST     TYPE STRING.

CONCATENATE ONE TWO THREE INTO NAME.

NAME then contains the value ' JohnF. Kennedy'.

J o h n F . K e n n e d y

J o h n

F .

K e n n e d y

Page 39: ABAP Training

Page 39

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Chang Variable Value – Copy and Initialization

ABAP Runtime System

ABAP Program

MOVE c_id TO d_id1

d_id2 = d_id1.

ADD 1 TO counter.

CLEAR: gd _carrid1,

gd _carrid2,

counter.

d_id1

CONSTANTS c_id TYPE s_carr_id VALUE 'AA‘ .

DATA: d_id1 TYPE s_carr_id ,

d_id2 TYPE s_carr_id VALUE 'LH ',

counter TYPE i .

Program Start

Data Declarations:

c_id AA

d_id2 counter

LH 0000

AA LH 0000

AA AA 0000

AA AA 0001

0000

MOVE

CLEAR

Page 40: ABAP Training

Page 40

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Debugger – Field Data Flow

Page 41: ABAP Training

Page 41

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Debugger - Watchpoint

Watchpoint

Page 42: ABAP Training

Page 42

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Defining Structure with Dictionary Type Reference

Structure Definition

ABAP Program

ABAP Source Code

DATA: w_spfli TYPE spfli.

TABLES: sdyn_conn.

wa _ spfli

Sdyn_conn_

Page 43: ABAP Training

Page 43

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Addressing Fields in Structures

ABAP

Program

ABAP Source Code

WA_SPFLI_

mandt carrid CONNID CITYFROM

Fields in structures are

always addressed by

<structure>-<field_name>

DATA: w_spfli TYPE spfli.

TABLES: sdyn_conn.

sdyn_conn-carrid = 'AA'.

SELECT * FROM spfli INTO w_spfli WHERE carrid = sdyn_conn-carrid.

WRITE: / w_spfli-connid, w_spfli-cityfrom, w_spfli-cityto.

ENDSELECT.

Page 44: ABAP Training

Page 44

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Moving Values Fields for Field

MOVE-CORRESPONDING <rec1> TO <rec2>.

DATA: wa _sflight TYPE sflight ,

wa _sbc400focc TYPE sbc400focc.

...

MOVE-CORRESPONDING wa _sflight TO wa _sbc400focc.

wa _sflight

CARRIDMANDT

401

CONNID

0400

CARRID CONNID

0400

FLDATE

20000513

...

...

20000513

MOVE-CORRESPONDING wa _sflight TO wa _sbc400focc.

SEATSMAX

280

SEATSOCC

100

PERCENTAGESEATSMAX

280

SEATSOCC

100

...

...LH

FLDATE

LH

Page 45: ABAP Training

Page 45

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Debugger - Structure

Double-Click

Page 46: ABAP Training

Page 46

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Internal Table

CARRID CONNID DISTANCECARRID CONNID DISTANCE Line TypeLine Type

Table KindTable Kind

AA 0017 2,572

QF 0005 10,000

SQ 0866 1,625

UA 0007 2,572

LH 0400 6,162

Access with Index

55

Access with Key

UA 0007UA 0007Data Access Type

KeyKey

LH 0400 6,162 Unique / Non-Unique Key

You do not have to determine the number of lines in your table;

the ABAP runtime system automatically determines this

at runtime (dynamic table expansion).

Key Fields

Sequence

Page 47: ABAP Training

Page 47

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Table Types

Access with

Index

Access withKey

Unique / NON- UNIQUE UNIQUE | NON-UNIQUE UNIQUE

Non-Unique Key

Access Using Mainly Index Mainly Keys Keys Only

nn nn

INDEX TABLEINDEX TABLE HASHED TABLEHASHED TABLE

STANDARD TABLESTANDARD TABLE

ANY TABLEANY TABLE

SORTED TABLESORTED TABLE

Page 48: ABAP Training

Page 48

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Defining Internal Table Reference to Dictionary Type

DATA it_flight TYPE

IT_flightABAP

Program

SBC405_T_SFLIGHT

Page 49: ABAP Training

Page 49

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Debugger – Internal Table

Page 50: ABAP Training

Page 50

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Processing Single Record

Append

Insert

Read

Change

Delete

APPEND wa_itab to itab.

INSERT wa_itab INTO itab <condition>.

READ TABLE itab INTO wa_itab <condition>.

MODIFY TABLE itab <condition>.

DELETE itab <condition>.

APPEND

INSERT

READ

MODIFY

DELETE

Page 51: ABAP Training

Page 51

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Example: Filling Internal Table Line by Line

It_flight

Wa_flight

* declaration of internal table and workareaDATA: it_flight TYPE sbc405_t_sflight.DATA: wa_flight TYPE sbc405_s_sflight.

** Filling structure wa_flight with valuesSELECT * FROM sflight INTO CORRESPONDING FIELDS OF wa_flight.

** Append wa_flight to internal table it_flight APPEND wa_flight TO it_flight.

ENDSELECT.

Page 52: ABAP Training

Page 52

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Example: Reading Using the Index

READ TABLE it_flight INTO wa_flight INDEX 5.IF sy-subrc = 0.

WRITE: / wa_flight-carrid, wa_flight-connid, wa_flight-fldate, wa_flight-seatsmax.

ENDIF.

Page 53: ABAP Training

Page 53

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Example: Reading Using Keys

READ TABLE it_flight INTO wa_flight WITH KEY carrid = 'LH' connid = '0401' fldate = '20030404'.IF sy-subrc = 0. WRITE: / wa_flight-carrid, wa_flight-connid, wa_flight-fldate, wa_flight-seatsmax.ENDIF.

Page 54: ABAP Training

Page 54

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Processing Sets of RecordsLoop:

For All OperationsLOOP AT itab INTO wa _itab .

ENDLOOP.

DELETE itab <condition>.

INSERT itab2 <condition2>

FROM itab1 <condition1>.

Delete

Insert

Multiple Lines

from an

Internal Table

LOOP

ENDLOOP.

DELETE

INSERT

Append

Multiple Lines

from an

Internal Table

INSERT itab2 <condition2>

FROM itab1 <condition1>.

APPEND

Page 55: ABAP Training

Page 55

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Other Process Options

Sort

Setting InternalTable Contentsto Initial

SORT itab <conditions>

CLEAR itab .CLEAR

SORT

Page 56: ABAP Training

Page 56

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Example: Reading Using a Loop

LOOP AT it_flight INTO wa_flight.

WRITE: / wa_flight-carrid, wa_flight-connid, wa_flight-fldate, wa_flight-seatsmax.

ENDLOOP.

Page 57: ABAP Training

Page 57

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Internal Table with Header Line

Report : YBC_REP_005Report : YBC_REP_005AA 0017

Internal Table <itab>

Work Area <wa>

LH 0400

Header Line <itab>

DATA < itab > TYPE < itabtype > [ WITH HEADER LINE

CARRIDCARRID CONNIDCONNID

AA 0017

Internal Table <itab>

LH 0400

CARRIDCARRID CONNIDCONNID

[WITH HEADER LINE] .

APPEND <WA> TO <itab>.MODIFY <ITAB> INDEX <n> FROM <WA>.

LOOP AT <ITAB> INTO <WA>. WRITE <WA>-<field>.ENDLOOP.

READ TABLE <ITAB> INDEX <n> INTO <WA>.

APPEND <itab>.MODIFY <ITAB> INDEX <n>.

LOOP AT <ITAB>. WRITE <ITAB>-<field>.ENDLOOP.

READ TABLE <ITAB> INDEX <n>.

Page 58: ABAP Training

Page 58

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

- ABAP Program Flow ( 30 Mins )

- ABAP Dictionary – Data type ( 90 Mins )

- ABAP Program ( 300 Mins ) ABAP Editor ( 30 Mins ) Selection Screen ( 90 Mins ) Query Database ( 90 Mins ) ABAP List ( 90 Mins )

Query Database

Page 59: ABAP Training

Page 59

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Querying the Database

ABAP

Processing

Block

ABAP Runtime System

ABAP Program

Data Objects

wawa_scarr_

Database

Interface

Open SQLSELECT ... Database SQLDatabase

Specific

Conversion

pa_car

scarrscarr

Page 60: ABAP Training

Page 60

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Reading database tables

Which columns?

Which table(s)?

Where?

Which lines?

SELECT <result>

FROM <table>

INTO <destination>

WHERE <condition>

Particular

Column

} Multiple Lines}

Single Line

Page 61: ABAP Training

Page 61

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Processing Single Records

Database

Table

SCARRABAP Processing Block

ABAP Runtime System

ABAP Program

Data Objects pa_carrid

DATA: p_carrid LIKE scarr-carrid.DATA: wa_scarr LIKE scarr.

******SELECT SINGLE * INTO wa_scarr FROM scarr WHERE carrid = p_carrid.IF sy-subrc = 0. WRITE: / wa_scarr-carrid, wa_scarr-carrname.ELSE. MESSAGE i006(bc405) WITH 'Data not found!'.ENDIF.

Database

Interface

scarrscarr

wawa_scarr_

SINGLE

Page 62: ABAP Training

Page 62

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

ABAP statement return code

Page 63: ABAP Training

Page 63

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Message

Table T100

MESSAGE XNNN WITH f1 ... f4

Page 64: ABAP Training

Page 64

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Runtime Behavior of Messages

A Termination Processing is terminated, the user must restart the transaction X Exit Like a termination message, but with short dump MESSAGE_TYPE_X E Error Runtime behavior depends on context W Warning Runtime behavior depends on context I Information Processing is interrupted, the message is displayed in a dialog box and the program is continued when the message has been confirmed with ENTER. S Status The message appears in the status bar on the next screen.

Page 65: ABAP Training

Page 65

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Evaluating Filed Contents

CASE <data object1>.

WHEN <data object2>.

WHEN <data object4> OR <data object5>.

WHEN OTHERS.

ENDCASE.

Statements

Statements

Statements

IF <logical expression>.

ELSEIF <logical expression>.

ELSEIF <logical expression>.

ELSE.

ENDIF.

Statements

Statements

Statements

Statements

Page 66: ABAP Training

Page 66

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Select loops

DatabaseTable

SFLIGHTABAP Processing Block

ABAP Runtime System

ABAP ProgramData Objects

pa_carrid

wa _sflight

DatabaseInterface

DATA: p_carrid LIKE scarr-carrid.DATA: wa_sflight LIKE sflight.

******SELECT * INTO wa_sflight FROM sflight WHERE carrid = p_carrid. WRITE: / wa_sflight-carrid, wa_sflight-connid, wa_sflight-fldate.ENDSELECT .IF sy-subrc <> 0. MESSAGE i006(bc405) WITH 'Data not found!'.ENDIF.

SELECT

ENDSELECT

Page 67: ABAP Training

Page 67

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

INTO Clauses

ABAP Program

DATA: wa_sbc405_sflight LIKE sbc405_s_sflight.******SELECT mandt carrid connid fldate price currency seatsmax seatsocc INTO wa_sbc405_sflight FROM sflight WHERE carrid = p_carrid. WRITE: / wa_sbc405_sflight-connid, wa_sbc405_sflight-fldate.ENDSELECT.IF sy-subrc <> 0. MESSAGE i006(bc405) WITH 'Data not found!'.ENDIF.

Same Type asColumn Read

Page 68: ABAP Training

Page 68

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

INTO CORRESPONDING FIELDS

ABAP Program

Same Name asColumn Read

DATA: wa_sdyn_conn LIKE sdyn_conn.******SELECT carrid connid seatsmax INTO CORRESPONDING FIELDS OF wa_sdyn_conn FROM sflight WHERE carrid = p_carrid. WRITE: / wa_sdyn_conn-connid, wa_sdyn_conn-seatsmax.ENDSELECT.IF sy-subrc <> 0. MESSAGE i006(bc405) WITH 'Data not found!'.ENDIF.

mandt carrid connid ... seatsmax

mandt carrid connid ... seatsmax

Page 69: ABAP Training

Page 69

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Array Fetch

Database

Table

SFLIGHT

ABAP Processing Block

ABAP Runtime System

Data Objects

pa_carid

it_flight_

Database

Interface

DATA: p_carrid LIKE scarr-carrid.DATA: it_sflight LIKE sflight OCCURS 0.

******SELECT * INTO TABLE it_sflight FROM sflight WHERE carrid = p_carrid.IF sy-subrc <> 0. MESSAGE i006(bc405) WITH 'Data not found!'.ENDIF.

ABAP Program

TABLE

Page 70: ABAP Training

Page 70

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Reading Multiple Database Tables

Database View in the ABAP DictionaryDatabase View in the ABAP Dictionary

INNER JOIN, OUTER JOININNER JOIN, OUTER JOIN

FOR ALL ENTRIESFOR ALL ENTRIES

Nested SELECT StatementsNested SELECT Statements

Page 71: ABAP Training

Page 71

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Reading Multiple Database Tables - View

Database View in the ABAP DictionaryDatabase View in the ABAP Dictionary

REPORT ZSAPBC405_GDAD_DB_VIEW

...

SELECT carrid connid cityfrom cityto fldate seatsmax seatsocc

INTO TABLE itab_flights

FROM dv_flights

WHERE cityfrom IN so_cityf AND cityto IN so_cityt AND seatsocc < dv_flights~seatsmax

ORDER BY carrid connid fldate.

...

Dictionary : Database view DV_FLIGHTS

Table Join conditions

View fields

Page 72: ABAP Training

Page 72

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Reading Multiple Database Tables – Inner Join

REPORT SAPBC405_GDAD_INNER_JOIN_2TAB

...

SELECT SPFLI~CARRID SPFLI~CONNID SPFLI~CITYFROM SPFLI~CITYTO SFLIGHT~FLDATE SFLIGHT~SEATSMAX SFLIGHT~SEATSOCC INTO TABLE ITAB_FLIGHTS FROM SPFLI INNER JOIN SFLIGHT ON SPFLI~CARRID = SFLIGHT~CARRID AND SPFLI~CONNID = SFLIGHT~CONNID WHERE SPFLI~CARRID IN SO_CARR AND SPFLI~CONNID IN SO_CONN.

...

INNER JOININNER JOIN

INNER JOIN

A

a1

a2

a3

B

b1

b2

b3

C

c1

c2

c3

A

a1

a3

a3

B

b1

b2

b3

D

d1

d2

d3

D

d1

d3

A

a1

a3

B

b1

b3

C

c1

c3

Page 73: ABAP Training

Page 73

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Reading Multiple Database Tables – Outer Join

REPORT SAPBC405_GDAD_OUTER_JOIN

...

SELECT SCARR~CARRID SCARR~CARRNAME SPFLI~CONNID SPFLI~CITYFROM SPFLI~CITYTO INTO TABLE ITAB_FLIGHTS FROM SCARR LEFT OUTER JOIN SPFLI ON SCARR~CARRID = SPFLI~CARRID ORDER BY SCARR~CARRID SPFLI~CONNID.

...

OUTER JOIN OUTER JOIN

LEFT OUTER JOIN

D

d1

d2

d3

E

e1

e2

e3

A

a1

a2

a3

B

b1

b2

b3

C

c1

c2

c3

A

a1

a3

a3

D

d1

d2

d3

E

e1

e2

e3

A

a1

a2

a3

a3

B

b1

b2

b3

b3

C

c1

c2

c3

c3

Page 74: ABAP Training

Page 74

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Alias Name

SELECT A~CARRID AS A1 A~CARRNAME AS B1 B~CONNID B~CITYFROM B~CITYTO INTO CORRESPONDING FIELDS OF TABLE ITAB_FLIGHTS FROM SCARR AS A LEFT OUTER JOIN SPFLI AS B ON A~CARRID = B~CARRID WHERE A~CARRID EQ P_CARRID ORDER BY A~CARRID B~CONNID.

FIELD ALIAS

Table ALIAS

Page 75: ABAP Training

Page 75

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Reading Multiple Database Tables – FOR ALL ENTRIES

FOR ALL ENTRIESFOR ALL ENTRIES

REPORT SAPBC405_GDAD_FOR_ALL_ENTRIES

... .

SELECT carrid connid cityfrom airpfrom cityto airpto deptime arrtime INTO TABLE itab_spfli FROM spfli WHERE cityfrom IN so_cityf AND cityto IN so_cityt.

* Check, if at least one dataset is found DESCRIBE TABLE itab_spfli LINES itab_lines. IF sy-subrc <> 0. EXIT. ENDIF.

* Delete Duplicates SORT itab_spfli. DELETE ADJACENT DUPLICATES FROM itab_spfli.

SELECT carrid connid fldate seatsmax seatsocc INTO TABLE itab_sflight FROM sflight FOR ALL ENTRIES IN itab_spfli WHERE carrid = itab_spfli-carrid AND connid = itab_spfli-connid.

.... .

itab_spfli

where ( carrid = 'LH'

and connid = '0400')

or ( carrid = 'LH'

and connid = '0402')

or ( . . .

Executed according to:

LH

LH

0400 ...

0402 ...

Page 76: ABAP Training

Page 76

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

- ABAP Program Flow ( 30 Mins )

- ABAP Dictionary – Data type ( 90 Mins )

- ABAP Program ( 300 Mins ) ABAP Editor ( 30 Mins ) Selection Screen ( 90 Mins ) Query Database ( 90 Mins ) ABAP List ( 90 Mins )

Selection Screen

Page 77: ABAP Training

Page 77

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Selection Screen

Page 78: ABAP Training

Page 78

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

The Selection Screen Function

ValueValue

EntryEntry

Multilingual CapacityMultilingual Capacity

......

VariantsVariants

Search HelpSearch Help

Type checksType checks

Page 79: ABAP Training

Page 79

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Entering Selections

SELECT-OPTIONS ...

PARAMETERS ...

Multiple single values,

Intervals,

Single value exclusion,

Interval exclusion

Page 80: ABAP Training

Page 80

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Selection text

Source Code Text elements

Title/Headers

Program

Text symbols

SO_CARR

PA_CITY

Selection Texts

EN Airline carrierDE

EN Departing from

DE...

Departing from

Airline Carrier LH to

Multilingual CapacityMultilingual Capacity

REPORT bc400td_selection_screen. :SELECT-OPTIONS so_ carr FOR ...PARAMETERS pa_city TYPE ...

Page 81: ABAP Training

Page 81

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Search Help

DATA: WA_SPFLI TYPE LINE_TYPE_SPFLI.SELECT-OPTIONS: SO_CARID FOR WA_SPFLI-CARRID DEFAULT 'AA' TO 'LH', SO_CONID FOR WA_SPFLI-CONNID.

Search HelpSearch Help

ABAP Dictionary

Search Help Check Tables

Data element

Table fieldStructure Field

Page 82: ABAP Training

Page 82

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Variants

...

Departing from

Airline Carrier AA LHto

Variant

CARRIER_AA_TO_LH:

Airlines AA to LH

Hide input field

Departing from

Page 83: ABAP Training

Page 83

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Parameters

PARAMETERS p_carid TYPE s_carr_id.

ABAP Runtime System

ABAP Program

PARAMETERSPARAMETERS

ABAP

Processing

Block

p_carid

Locally Defined Types and Fields

Selection

Screen

reference

ABAP Dictionary

s_carr_id

Page 84: ABAP Training

Page 84

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Data Transport

PARAMETERS pa _car TYPE s_carr_id.

ABAP Runtime System

ABAP Program

ABAP

Processing

Block

pa_car

Locally Defined Types and Fields

Selection

Screen

Selection

Screen

p_car

p_car

Page 85: ABAP Training

Page 85

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Declaring Fields with PARAMETERSPARAMETERS: <f>[TYPE <type>][DECIMALS <n>][LIKE <f1>][MEMORY ID < pid >] [OBLIGATORY][DEFAULT < wert >] [AS CHECKBOX] [RADIOBUTTON GROUP < grp >]

REPORT SAPBC405_SSCD_CHECKBOX_RADIOB .

... .

PARAMETERS: PA_CARR LIKE SFLIGHT-CARRID DEFAULT 'AA', PA_NAME AS CHECKBOX DEFAULT 'X',

PA_CURR AS CHECKBOX DEFAULT 'X',

PA_LIM_1 RADIOBUTTON GROUP LIM,

PA_LIM_2 RADIOBUTTON GROUP LIM,

PA_LIM_3 RADIOBUTTON GROUP LIM .

Page 86: ABAP Training

Page 86

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Using Parameters in Select Statement

REPORT ...

DATA wa _spfli TYPE spfli.

PARAMETERS pa_car TYPE s_ carr _id.

...

SELECT carrid connid cityfrom cityto ...

FROM spfli

INTO CORRESPONDING FIELDS OF wa _spfli

WHERE carrid = pa_car.

WRITE: / wa _spfli-carrid, wa _spfli- connid ,

wa _spfli- fldate , ... .

ENDSELECT.

WHERE carrid = pa_car

SELECT

ENDSELECT

Page 87: ABAP Training

Page 87

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Select-Options

ABAP Runtime System

ABAP Program

ABAP

Processing

Block

so_ carr

Selection

Screen

gd _carrid

DATA gd _carrid TYPE s_carr_id .SELECT-OPTIONS so_ carr FOR gd_carrid.

Locally Defined Types and Fields

SELECT-OPTIONSSELECT-OPTIONS

Sign low highoption

Page 88: ABAP Training

Page 88

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Data Transport

ABAP Runtime System

ABAP Program

ABAP

Processing

Block

so_ carr

Selection

Screen

Selection

Screen

wa_scarr

DATA gd _carrid TYPE s_ carr _id.SELECT-OPTIONS so_ carr FOR gd _carrid.

Locally Defined Types and Fields

so_so_ carrcarr

gd_carrid

so_so_ carrcarr

Page 89: ABAP Training

Page 89

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Selection Screen with select-options

Internal Table

S_VBELN

sign option low high

I EQ 003000497

Page 90: ABAP Training

Page 90

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Syntax of the SELECT-OPTIONS Statement

SELECT-OPTIONS < seltab > FOR <Data Object>

DEFAULT <value>

DEFAULT <value1> TO <value2> OPTION < xx > SIGN <x>

MEMORY ID < pid >

LOWER CASE

OBLIGATORY

NO-EXTENSION

NO INTERVALS.

Page 91: ABAP Training

Page 91

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Selection Options and Multiple Selections

Selection options

Multiple selections

Sign Option Low High

I EQ AA

I BT DL LH

Page 92: ABAP Training

Page 92

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Using select-options in the SELECT Statement

REPORT ZTEST.

DATA: WA_SPFLI TYPE SPFLI.

SELECT-OPTIONS S_CARR FOR WA_SPLFLI-CARRID.

SELECT CARRID CONNID CITYFROM CITYTO FROM SPFLI INTO CORRESPONDING FIELDS OF WA_SPFLI WHERE CARRID IN S_CARR. WRITE: / WA_SPFLI-CARRID, WA_SPFLI-CONNID, WA_SPFLI-CITYFROM, WA_SPFLI-CITYTO.ENDSELECT.

Page 93: ABAP Training

Page 93

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Designing the Selection Screen I

SELECTION-SCREEN BEGIN OF BLOCK <block >

WITH FRAME TITLE <text>

SELECTION-SCREEN END OF BLOCK <block>

REPORT sapbc405_sscd_sel_screen_i.

...

* Block with frame SELECTION-SCREEN BEGIN OF BLOCK CARR WITH FRAME. SELECT-OPTIONS: SO_CARR FOR WA_SFLIGHT-CARRID. SELECTION-SCREEN END OF BLOCK CARR.

* Block with frame and title SELECTION-SCREEN BEGIN OF BLOCK LIMIT WITH FRAME TITLE TEXT-001. PARAMETERS: PA_LIM_1 RADIOBUTTON GROUP LIM, PA_LIM_2 RADIOBUTTON GROUP LIM, PA_LIM_3 RADIOBUTTON GROUP LIM. SELECTION-SCREEN END OF BLOCK LIMIT.

...

Price ...

Page 94: ABAP Training

Page 94

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Designing the Selection Screen II

REPORT SAPBC405_SSCD_SEL_SCREEN_II.

...

* Nested blocks with frame and title* Radiobutton group SELECTION-SCREEN BEGIN OF BLOCK OUT_PUT WITH FRAME TITLE TEXT-S01.* Radiobutton group with frame and frame text SELECTION-SCREEN BEGIN OF BLOCK SEATS WITH FRAME TITLE TEXT-S02. PARAMETERS PA_OCC RADIOBUTTON GROUP SEAT. PARAMETERS PA_FRE RADIOBUTTON GROUP SEAT. PARAMETERS PA_ALL RADIOBUTTON GROUP SEAT. SELECTION-SCREEN END OF BLOCK SEATS.* Parameters displayed in one line SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(20) TEXT-S03. SELECTION-SCREEN COMMENT POS_LOW(8) TEXT-S04. PARAMETERS PA_COL AS CHECKBOX. SELECTION-SCREEN COMMENT POS_HIGH(8) TEXT-S05. PARAMETERS PA_ICO AS CHECKBOX. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF BLOCK OUT_PUT.

...

SELECTION-SCREEN:

END OF LINE

COMMENT pos (len ) <text> [FOR FIELD <f>]

POSITION pos

BEGIN OF LINE

Seats ...

Output ...

Page 95: ABAP Training

Page 95

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Selection Screen Events

ABAP Runtime System

ABAP Program

INITIALIZATION.

START-OF-SELECTION

AT SELECTION-SCREEN.

No

Yes

Program

Start

AT SELECTON-SCREEN OUTPUT.

Page 96: ABAP Training

Page 96

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Initializing the Selection Screen

INITIALIZATION.

REPORT SAPBC405_SSCD_INITIALIZATION.

...

...

INITIALIZATION.

MOVE: MARK TO PA_ALL.

MOVE: 'I' TO SO_CARR-SIGN, 'BT' TO SO_CARR-OPTION, 'AA' TO SO_CARR-LOW, 'LH' TO SO_CARR-HIGH. APPEND SO_CARR. CLEAR SO_CARR. MOVE: 'E' TO SO_CARR-SIGN, 'EQ' TO SO_CARR-OPTION, 'DL' TO SO_CARR-LOW. APPEND SO_CARR.

Page 97: ABAP Training

Page 97

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

At selection-screen output

Page 98: ABAP Training

Page 98

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Input Checks:AT SELECTION-SCREEN

REPORT sapbc405_sscd_at_sel_screen.

...

* Check of selection criterion SO_DEPTAT SELECTION-SCREEN ON so_dept.

IF ( so_dept-low LT '060000' OR so_dept-high LT '060000' ) OR ( so_dept-low GE '220000' OR so_dept-high GE '220000' ) AND airp_fr EQ 'FRA'. MESSAGE e002(bc405). ENDIF.

...

AT SELECTION-SCREEN

ON BLOCK <block>ON RADIOBUTTON GROUP <grp>

ON <f> ON <seltab>

Page 99: ABAP Training

Page 99

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Error Dialogs in AT SELECTION-SCREEN

Program

Start

ABAP Runtime System

ABAP Program

INITIALIZATION.

START-OF-SELECTION

AT SELECTION-SCREEN.

MESSAGE e001.

No

Yes

MESSAGE e001.

Page 100: ABAP Training

Page 100

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

At Selection-Screen Syntax

PARAMETERS: pa_car TYPE s_ carr _id.

* First event processed after leaving the selection screen

AT SELECTION-SCREEN.

AUTHORITY-CHECK OBJECT 'S_CARRID'

ID 'CARRID' FIELD pa_car

ID 'ACTVT' FIELD actvt _display.

IF sy -subrc <> 0.

* Show selection screen again and show message in status bar

MESSAGE e045(bc400) WITH pa_car.

ENDIF.

AT SELECTION-SCREEN.

MESSAGE e045(bc400) WITH pa_car.

Page 101: ABAP Training

Page 101

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

- ABAP Program Flow ( 30 Mins )

- ABAP Dictionary – Data type ( 90 Mins )

- ABAP Program ( 300 Mins ) ABAP Editor ( 30 Mins ) Selection Screen ( 90 Mins ) Query Database ( 90 Mins ) ABAP List ( 90 Mins )

ABAP List

Page 102: ABAP Training

Page 102

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

List

Page 103: ABAP Training

Page 103

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Purpose of List

CA ID PRICE

AA 2602 2400

AA 2602 2500

Total 7800

ScreenScreen

PrintPrint

Multilingual CapacityMultilingual Capacity

Page 104: ABAP Training

Page 104

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

List Operations

Page 105: ABAP Training

Page 105

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Basic list Process

Program

Start

DatabaseTable

Data Objects

ABAP Runtime System

ABAP Program

List

buffer

START-OF-SELECTION

Page 106: ABAP Training

Page 106

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Generating a List

REPORT SAPBC405_FOLD_LIST_CREATION.

DATA: WA_SPFLI LIKE SPFLI.

SELECT CARRID CONNID CITYFROM CITYTO DEPTIME ARRTIME INTO CORRESPONDING FIELDS OF WA_SPFLI FROM SPFLI.

WRITE: / WA_SPFLI-CARRID, WA_SPFLI-CONNID, WA_SPFLI-CITYFROM, WA_SPFLI-CITYTO, WA_SPFLI-DEPTIME, WA_SPFLI-ARRTIME.

ENDSELECT.

Page 107: ABAP Training

Page 107

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

WRITE Statement :General Syntax

REPORT sapbc405_fold_write ...

* constants for positions of outputsCONSTANTS: pos TYPE i VALUE 72, pos2 TYPE i VALUE 12, len_fdt TYPE i VALUE 10, "sflight-fldate len_max TYPE i VALUE 6, "sflight-seatsmax len_pri TYPE i VALUE 11, "sflight-price len_cur TYPE i VALUE 8. "sflight-currency

WRITE [AT] [/< pos(len )>] <f> <option1> <option2> ...

WRITE AT: / sy-vline, pos2(len_fdt) wa_sflight-fldate COLOR COL_KEY, (len_max) wa_sflight-seatsmax, (len_max) wa_sflight-seatsocc, (len_max) seatsfree COLOR COL_POSITIVE, (len_pri) wa_sflight-price CURRENCY wa_sflight-currency, (len_cur) wa_sflight-currency.

.... . . …

.... . . …

Page 108: ABAP Training

Page 108

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Addition Option Parameters

Page 109: ABAP Training

Page 109

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Setting the List Format

Page 110: ABAP Training

Page 110

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Page Headers

Page 111: ABAP Training

Page 111

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Multilingual Capability

REPORT ...

WRITE:/ SY-VLINE, 'Flight'(001), 'Starting city'(002), 'Dest . city'(003), ...

REPORT ...

WRITE:/ SY-VLINE, 'Flight'(001), 'Starting city'(002), 'Dest . city'(003), ...

Source text Text elements

Title/Headings

Program

Text symbols

DE Flugverbindungen

EN Flight Connections

FR ...

DE Flug

EN Flight

FR .....

:

DE Startort

001

002

List header

Start the extended syntax check: Error if text elements are not maintained.Reconciliation: Program text symbols possible.Determine text lengths with character list for other languages.

Page 112: ABAP Training

Page 112

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Event Overview

* Basic list

START-OF-SELECTION.

END-OF-PAGE

.END-OF-SELECTION.

TOP-OF-PAGE.

* Detail lists

AT LINE-SELECTION.

AT USER-COMMAND.

TOP-OF-PAGE DURING LINE-SELECTION .

Page 113: ABAP Training

Page 113

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Defining Line and Field Formats

Page 114: ABAP Training

Page 114

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Outputting Icons, Symbols, and Lines

Page 115: ABAP Training

Page 115

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Additional Statements for Page Layout

SET BLANK LINES ON|OFF }.

POSITION <n>.

BACK.

SKIP [TO LINE] <n>.

NEW-LINE.

RESERVE <n> LINES.

Page 116: ABAP Training

Page 116

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

System Fields in List Creation

1

2

SY

-LIN

CT

SY-SCOLS

SY

-SR

OW

S

1122

33

SY-COLNO

SY-LINNO

SY-PAGNO

SY-LINSZ

Page 117: ABAP Training

Page 117

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Detail List

Page 118: ABAP Training

Page 118

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Events for Detail List

* Basic list

START-OF-SELECTION.

GET ... .

END-OF-SELECTION.

TOP-OF-PAGE.

* Detail lists

AT LINE-SELECTION.

AT USER-COMMAND.

TOP-OF-PAGE DURING LINE-SELECTION .

Page 119: ABAP Training

Page 119

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Example : A Simple Detail List

Page 120: ABAP Training

Page 120

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

System Variant : sy-lsind

Page 121: ABAP Training

Page 121

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Create a detail List I

REPORT sapbc405_ilbd_interact_list_1.

...

SET CURSOR LINE 2. pos = 3 * sy-lsind. len = sy-linsz - pos - 21. WRITE: 'Das ist eine Verzweigungliste'(001) COLOR COL_TOTAL. FORMAT COLOR COL_NEGATIVE. WRITE: / 'Listenstufe: '(002) NO-GAP COLOR COL_NORMAL, sy-lsind COLOR COL_NORMAL, AT (pos) space. IF sy-lsind = 19. pos = pos + 19. WRITE AT pos(len) icon_message_error AS ICON COLOR COL_NORMAL RIGHT-JUSTIFIED. ELSEIF sy-lsind = 20. pos = pos + 19. WRITE AT pos(len) icon_alarm AS ICON COLOR COL_NORMAL RIGHT-JUSTIFIED. ENDIF.

AT LINE-SELECTION.AT LINE-SELECTION.AT LINE-SELECTION.

User action sy-ucomm = PICK

Page 122: ABAP Training

Page 122

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Creating Detail Lists II

REPORT sapbc405_ilbd_interact_lists_2.

AT LINE-SELECTION.

AT LINE-SELECTION.* Creation of detail lists FORMAT COLOR COL_TOTAL. CASE sy-lsind. WHEN '1'.* Detail list 1 WRITE: 'Verzweigungsliste: 1'(001), /'SY-LSIND: '(000), 19 sy-lsind . WHEN '2'.* Detail list 2 WRITE: 'Verzweigungsliste: 2'(002), /'SY-LSIND: '(000), 19 sy-lsind . ENDCASE.

Detail list: 1sy-lsind: 1

Detail list: 2sy-lsind: 2

PICK

PICK

Basic listsy-lsind: 0

PICK

AT LINE-SELECTION.AT LINE-SELECTION.

Page 123: ABAP Training

Page 123

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

The HIDE Area

REPORT sapbc400udd_example_2. ...START-OF-SELECTION. SELECT * FROM spfli INTO wa _spfli. WRITE:/ wa _spfli-carrid, wa _spfli- connid , wa _spfli- airpfrom , wa _spfli- airpto , wa _spfli- deptime . HIDE: wa _spfli-carrid, wa _spfli- connid . ENDSELECT.

HIDE area

HIDE <data object>.

Basic list buffer

LH 0400 FRA JFK 10:10:00

LH 0402 FRA JFK 13:30:00...SQ 0002 SIN SFO 09:30:00

Line

...5

6...

11

Line

...5

6...

11

wa _spfli-

carrid...

LHLH

...SQ

wa _spfli-

connid...

04000402

...0002

HIDE: wa _spfli-carrid, wa _spfli- connid .

Page 124: ABAP Training

Page 124

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Line Selection

REPORT sapbc400udd_example_2.

AT LINE-SELECTION.

WRITE: text-001,

wa_spfli-carrid,

wa_spfli- connid .

Flight From To Departing atLH 0400 FRA JFK 10:10:00LH 0402 FRA JFK 13:30:00...SQ 0002 SIN SFO 09:30:00

HIDE area

Line

...

5

6

...

11

wa _spfli-carrid

...

LH

LH

...

SQ

wa _spfli- connid

...

0400

0402

...

0002

wa _spfliLH 0402 ?? ?? ????

Text symbols:

001 Flights for connection

AT LINE-SELECTION.

Page 125: ABAP Training

Page 125

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Line Selection:The Hide Technique

DEMO: Data Transport: Hide Technique--------------------------------------------------------AA NEW YORK SAN FRANCIAZ ROME FRANKFURTAZ TOKYO ROME LH FRANKFURT NEW YORK

SY-LILLI

REPORT SAPBC405_ILBD_HIDE .

AT LINE-SELECTION.

SELECT ... WHERE carrid = spfli -carrid

AND connid = spfli -connid .

1

4

3

2 5

DEMO: Data Transport: Hide Technique--------------------------------------------------------LH 400 02/01/2000 1,332.00 DEM

03/28/2000 1,332.00 DEM04/17/2000 1,332.00 DEM

Line 3

3456:

Field name

spfli -carridspfli -carridspfli -carridspfli -carrid :

Value

AAAZAZLH

Field name

spfli -connidspfli -connidspfli -connidspfli -connid :

Value

0017055507890400

Hide area of list level 0

6

AT LINE-SELECTION.AT LINE-SELECTION.

LH

Page 126: ABAP Training

Page 126

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Line Selection Syntax

REPORT sapbc400udd_example_2.

...

AT LINE-SELECTION.

IF sy -lsind = 1.

WRITE: text-001,

wa _spfli-carrid,

wa _spfli- connid .

SELECT fldate seatsmax seatsocc

FROM sflight

INTO CORRESPONDING FIELDS OF wa _sflight

WHERE carrid = wa _spfli-carrid

AND connid = wa _spfli- connid .

WRITE:/ wa _sflight -fldate ,

wa _sflight -seatsmax ,

wa _sflight -seatsocc .

ENDSELECT.

ENDIF.

Text symbols:

001 Flights for connectionAT LINE-SELECTION.

Page 127: ABAP Training

Page 127

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Valid Line Selection

REPORT sapbc405_ilbd_valid_line_sel.

...

GET spfli FIELDS ...

WRITE ...

HIDE: spfli-carrid, spfli-connid.

END-OF-SELECTION.

CLEAR spfli-carrid.

AT LINE-SELECTION.

CHECK NOT spfli-carrid IS INITIAL.

...

CLEAR spfli-carrid.

HIDE area

CLEAR spfli-carrid.CLEAR spfli-carrid.

CHECK NOT spfli-carrid IS INITIAL.CHECK NOT spfli-carrid IS INITIAL.

CLEAR spfli-carrid.CLEAR spfli-carrid.

DEMO: Data Transport: Hide Technique

--------------------------------------------------------

LH 400

01.02.00 1.332,00 DEM

28.03.00 1.332,00 DEM

17.04.00 1.332,00 DEM

Page 128: ABAP Training

Page 128

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Data Buffering in a List System

Basic list DL 1 DL 2

HIDE area

Basic list

. . .

HIDE area

Detail List

List buffer

Basic list

List buffer

Detail List

List buffer

Detail List

HIDE area

Detail List

Display Display Display

Page 129: ABAP Training

Page 129

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Page Headings for Detail Lists

TOP-OF-PAGE DURING LINE-SELECTION .

REPORT sapbc405_ilbd_heading_i_lists

NO STANDARD PAGE HEADING.

TOP-OF-PAGE.

TOP-OF-PAGE DURING LINE-SELECTION .

FORMAT COLOR COL_HEADING. ULINE. WRITE: sy-vline, 'Flight dates'(t05), AT pos_nr sy-pagno, AT line_size sy-vline. ULINE.

TOP-OF-PAGE DURING LINE-SELECTIONTOP-OF-PAGE DURING LINE-SELECTION ..

Page 130: ABAP Training

Page 130

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Field Selection

GET CURSOR FIELD <feld1>

[VALUE <feld2>].

REPORT SAPBC405_ILBD_FIELD_SELECTION.

AT LINE-SELECTION.* Cursor information GET CURSOR FIELD field_name VALUE field_value.

CASE field_name. WHEN 'SPFLI-CARRID'. SELECT carrname INTO wa_carrname FROM scarr WHERE carrid = spfli-carrid. WRITE: field_value, ':', wa_carrname. ENDSELECT. WINDOW STARTING AT 15 10 ENDING AT 50 15.

WHEN 'SPFLI-CONNID'. FORMAT COLOR COL_HEADING. WRITE: spfli-carrid, field_value. SELECT fldate INTO wa_fldate FROM sflight WHERE carrid = spfli-carrid AND connid = spfli-connid. FORMAT RESET. WRITE: /4 wa_fldate. ENDSELECT. WINDOW STARTING AT 15 10 ENDING AT 50 15. ENDCASE.

DATA: ... ,

field_name (30), field_value...

field_name(30), field_value(50).field_name(30), field_value(50).

Page 131: ABAP Training

Page 131

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

System Fields for Interactive Lists

SY-CUROWSY-CUROW

2 SY-CPAGESY-CPAGE

1 SY-PAGNOSY-PAGNO

SY-CUCOLSY-CUCOL

3

SY-LILLISY-LILLI

1234

1234

5678

5678

910

910

1234

1234

SY-LINNOSY-LINNO

Basic list

. . .SY-LSIND = 0SY-LSIND = 0

SY-LISTI = 0SY-LISTI = 0

DL 2DL 1

SY-LSIND = 1SY-LSIND = 1

SY-LISTI = 0SY-LISTI = 0SY-LSIND = 2SY-LSIND = 2

SY-LISTI = 1SY-LISTI = 1

Page 132: ABAP Training

Page 132

Business Consulting Services

© Copyright IBM Corporation 2005IBM / Wistron ERP Project

Question & Answers