Guest User

Untitled

a guest
Jun 20th, 2018
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 2.99 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Report  Z02SQL1
  3. *&---------------------------------------------------------------------*
  4. *& A program that gets and displays flight data from a variety of
  5. *& airlines.
  6. *&---------------------------------------------------------------------*
  7.  
  8. REPORT  Z02SQL1.
  9.  
  10. * Layout for the information we want from the database.
  11.  
  12. TYPES: BEGIN OF flight_data,
  13.   mandt     LIKE  spfli-mandt,    " Client ID
  14.   carrid    LIKE  spfli-carrid,   " Airline Carrier ID
  15.   connid    LIKE  spfli-connid,   " Connection ID
  16.   cityfrom  LIKE  spfli-cityfrom, " Departure City
  17.   airpfrom  LIKE  spfli-airpfrom, " Departure Airport
  18.   cityto    LIKE  spfli-cityto,   " Arrival City
  19.   airpto    LIKE  spfli-airpto,   " Arrival Airport
  20.   distance  LIKE  spfli-distance, " Distance Travelled
  21.   distid    LIKE  spfli-distid,   " Distance ID (If KM or MI )
  22.   END OF flight_data.
  23.  
  24. * Variables.
  25. * Sets up the internal table to hold the data while processing.
  26.   DATA:
  27.   itab_flight_data TYPE STANDARD TABLE OF flight_data,
  28.   wa_flight_data TYPE flight_data,
  29.  
  30.   dist_trav(9) TYPE p, " Variable to hold conversion to km.
  31.   idvar(2) TYPE c. " Carrier Variable
  32.  
  33. * Constants.
  34. 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 ).
  35.  
  36. * Main Program Work.
  37.  
  38. * User Chooses Relevant Data.
  39. PARAMETERS:
  40. par_aa RADIOBUTTON GROUP rad1,
  41. par_az  RADIOBUTTON GROUP rad1,
  42. par_dl  RADIOBUTTON GROUP rad1,
  43. par_lh  RADIOBUTTON GROUP rad1,
  44. par_all RADIOBUTTON GROUP rad1 DEFAULT 'X'.
  45.  
  46. * Assigns variable to set as the carrid for selection.
  47.     IF par_aa = 'X'.
  48.       idvar = 'AA'.
  49.     ELSEIF par_az = 'X'.
  50.       idvar = 'AZ'.
  51.     ELSEIF par_dl = 'X'.
  52.       idvar = 'DL'.
  53.     ELSEIF par_lh = 'X'.
  54.       idvar = 'LH'.
  55.     ENDIF.
  56.  
  57. * Grabs specific airline.
  58.        SELECT mandt carrid connid cityfrom airpfrom cityto airpto distance distid
  59.        FROM spfli INTO TABLE itab_flight_data
  60.        WHERE carrid = idvar.
  61.  
  62. * Grabs all airlines, over writes the specific airline pull.
  63.     IF par_all = 'X'.
  64.        SELECT mandt carrid connid cityfrom airpfrom cityto airpto distance distid
  65.        FROM spfli INTO TABLE itab_flight_data.
  66.     ENDIF.
  67.  
  68. * Loop to push data to the screen.
  69.     LOOP AT itab_flight_data into wa_flight_data.
  70.  
  71. * Looks to see if DISTID is in MI or KM and converts to KM as needed.
  72. IF wa_flight_data-distid = 'MI'.
  73.   dist_trav = wa_flight_data-distance * con_mi2km.
  74. ELSE.
  75.     dist_trav = wa_flight_data-distance. " If already in KM, pushes existing data out.
  76. ENDIF.
  77. * Outputs [ Client | Carrier ID | Connection ID | Departure City | Airport From | Arrival City | Arrival Airport | Distance Travelled (KM) ]
  78. FORMAT COLOR 4.
  79.         WRITE: /, wa_flight_data-mandt, wa_flight_data-carrid, wa_flight_data-connid, wa_flight_data-cityfrom,
  80.                   wa_flight_data-airpfrom, wa_flight_data-cityto, wa_flight_data-airpto, dist_trav.
  81. FORMAT COLOR OFF.
  82.    ENDLOOP.
  83. * End of Program.
Add Comment
Please, Sign In to add comment