Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *&---------------------------------------------------------------------*
- *& Report Z02SQL1
- *&---------------------------------------------------------------------*
- *& A program that gets and displays flight data from a variety of
- *& airlines.
- *&---------------------------------------------------------------------*
- REPORT Z02SQL1.
- * Layout for the information we want from the database.
- TYPES: BEGIN OF flight_data,
- mandt LIKE spfli-mandt, " Client ID
- carrid LIKE spfli-carrid, " Airline Carrier ID
- connid LIKE spfli-connid, " Connection ID
- cityfrom LIKE spfli-cityfrom, " Departure City
- airpfrom LIKE spfli-airpfrom, " Departure Airport
- cityto LIKE spfli-cityto, " Arrival City
- airpto LIKE spfli-airpto, " Arrival Airport
- distance LIKE spfli-distance, " Distance Travelled
- distid LIKE spfli-distid, " Distance ID (If KM or MI )
- END OF flight_data.
- * Variables.
- * Sets up the internal table to hold the data while processing.
- DATA:
- itab_flight_data TYPE STANDARD TABLE OF flight_data,
- wa_flight_data TYPE flight_data,
- dist_trav(9) TYPE p, " Variable to hold conversion to km.
- idvar(2) TYPE c. " Carrier Variable
- * Constants.
- CONSTANTS: con_mi2km(3) TYPE P DECIMALS 2 VALUE '1.609344'. " Conversion variable from MI to KM ( There are 1.609344 KM in 1 MI ).
- * Main Program Work.
- * User Chooses Relevant Data.
- PARAMETERS:
- par_aa RADIOBUTTON GROUP rad1,
- par_az RADIOBUTTON GROUP rad1,
- par_dl RADIOBUTTON GROUP rad1,
- par_lh RADIOBUTTON GROUP rad1,
- par_all RADIOBUTTON GROUP rad1 DEFAULT 'X'.
- * Assigns variable to set as the carrid for selection.
- IF par_aa = 'X'.
- idvar = 'AA'.
- ELSEIF par_az = 'X'.
- idvar = 'AZ'.
- ELSEIF par_dl = 'X'.
- idvar = 'DL'.
- ELSEIF par_lh = 'X'.
- idvar = 'LH'.
- ENDIF.
- * Grabs specific airline.
- SELECT mandt carrid connid cityfrom airpfrom cityto airpto distance distid
- FROM spfli INTO TABLE itab_flight_data
- WHERE carrid = idvar.
- * Grabs all airlines, over writes the specific airline pull.
- IF par_all = 'X'.
- SELECT mandt carrid connid cityfrom airpfrom cityto airpto distance distid
- FROM spfli INTO TABLE itab_flight_data.
- ENDIF.
- * Loop to push data to the screen.
- LOOP AT itab_flight_data into wa_flight_data.
- * Looks to see if DISTID is in MI or KM and converts to KM as needed.
- IF wa_flight_data-distid = 'MI'.
- dist_trav = wa_flight_data-distance * con_mi2km.
- ELSE.
- dist_trav = wa_flight_data-distance. " If already in KM, pushes existing data out.
- ENDIF.
- * Outputs [ Client | Carrier ID | Connection ID | Departure City | Airport From | Arrival City | Arrival Airport | Distance Travelled (KM) ]
- FORMAT COLOR 4.
- WRITE: /, wa_flight_data-mandt, wa_flight_data-carrid, wa_flight_data-connid, wa_flight_data-cityfrom,
- wa_flight_data-airpfrom, wa_flight_data-cityto, wa_flight_data-airpto, dist_trav.
- FORMAT COLOR OFF.
- ENDLOOP.
- * End of Program.
Add Comment
Please, Sign In to add comment