|
* Create list:
WRITE: / wa_flight-carrid, wa_flight-connid, wa_flight-fldate, wa_flight-seatsmax, wa_flight-seatsocc,
wa_flight-percentage, ’%’.
ENDSELECT.
IF sy-subrc NE 0.
WRITE: ’No ’, pa_car, ’flights found!’. ENDIF.
153 Exercise 9: Data Retrieval and Buffering in an Internal Table
Exercise Duration: 35 Minutes
Exercise Objectives
After completing this exercise, you will be able to:
• Fill an internal table with data from a database table
• Sort the content of an internal table
Business Example
Enhance your ABAP program for outputting required flight schedules in such a way that the percentage occupancy can be output in ascending order.
System Data
System: Will be assigned Client: Will be assigned User ID: Will be assigned Password: Will be assigned
Set up instructions: No special instructions when using a standard training
system
Task 1:
Retrieve data and fill an internal table
1. Copy your program ZBC400_##_SELECT_SFLIGHT (solution to first exercise in this lesson) or the template SAPBC400DDS_SELECT_SFLIGHT to the new name ZBC400_##_SELECT_SFLIGHT_ITAB.
2. Define an internal table (name proposal: it_flight) using a global table type that has the global structure SBC400FOCC as the row type.
Hint: From SBC400FOCC use the where-used list to find a suitable table type, which might exist already.
3. Each SFLIGHT row that is read should not be output directly but inserted into an internal table (INSERT statement).
Continued on next page
Task 2:
Sort and output the internal table
1. Sort the internal table according to occupancy (ascending).
2. Use a LOOP to display the contents of the internal table.
Solution 9: Data Retrieval and Buffering in an Internal Table
Task 1:
Retrieve data and fill an internal table
1. Copy your program ZBC400_##_SELECT_SFLIGHT (solution to first exercise in this lesson) or the template SAPBC400DDS_SELECT_SFLIGHT to the new name ZBC400_##_SELECT_SFLIGHT_ITAB.
a) Carry out this step as usual.
2. Define an internal table (name proposal: it_flight) using a global table type that has the global structure SBC400FOCC as the row type.
Hint: From SBC400FOCC use the where-used list to find a suitable table type, which might exist already.
a) Carry out this step as usual.
3. Each SFLIGHT row that is read should not be output directly but inserted into an internal table (INSERT statement).
a) See source code excerpt in the model solution.
Task 2:
Sort and output the internal table
1. Sort the internal table according to occupancy (ascending). a) See source code excerpt in the model solution.
2. Use a LOOP to display the contents of the internal table. a) See source code excerpt in the model solution.
Result
Source code excerpt: SAPBC400DDS_SELECT_SFLIGHT_TAB
REPORT sapbc400dds_select_sflight_tab. DATA: it_flight TYPE sbc400_t_sbc400focc,
wa_flight LIKE LINE OF it_flight.
Continued on next page
PARAMETERS pa_car TYPE s_carr_id.
* Select all flights belonging to PA_CAR: SELECT carrid connid fldate seatsmax seatsocc
FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_car.
* Calculate occupation of flight wa_flight-percentage =
100 * wa_flight-seatsocc / wa_flight-seatsmax.
* Insert flight into internal table
Дата добавления: 2015-11-16; просмотров: 71 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ENDLOOP. ENDIF. | | | INSERT wa_flight INTO TABLE it_flight. |