Business Consulting Services © Copyright IBM Corporation 2005 ABAP Training Odin Lee 6/2005
Business Consulting Services
© Copyright IBM Corporation 2005
ABAP Training
Odin Lee6/2005
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Client / Server Architecture
Page 5
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Report Program Flow – 1.Program Start
Program
Start
DatabaseTable
Repository
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
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
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
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
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Data Types
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
ABAP Dictionary
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Internal table type
Page 22
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Internal table type – line type
輸入 table name或是structure name
Page 23
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Internal table type – table type
輸入想使用的 table access 方式
Page 24
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Internal table type - key
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
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
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
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
ABAP Editor
Page 32
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Create a Report Program
2
1
3
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
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
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
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
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Debugger – Field Data Flow
Page 41
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Debugger - Watchpoint
Watchpoint
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Debugger - Structure
Double-Click
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Debugger – Internal Table
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
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
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
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
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
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
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
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
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
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
ABAP statement return code
Page 63
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Message
Table T100
MESSAGE XNNN WITH f1 ... f4
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
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
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
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
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
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
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
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
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
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
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Selection Screen
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
At selection-screen output
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
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
List
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
List Operations
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Addition Option Parameters
Page 109
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Setting the List Format
Page 110
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Page Headers
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Defining Line and Field Formats
Page 114
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Outputting Icons, Symbols, and Lines
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Detail List
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Example : A Simple Detail List
Page 120
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
System Variant : sy-lsind
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
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
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
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
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
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
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
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
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
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
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
Business Consulting Services
© Copyright IBM Corporation 2005IBM / Wistron ERP Project
Question & Answers