Sunteți pe pagina 1din 21

*&---------------------------------------------------------------------*

*& Report Z09LDB1


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z09LDB1.
DATA : FREE_SEATS LIKE sflight-seatsocc.
NODES : SPFLI, SFLIGHT, SBOOK.
GET SPFLI.
NEW-LINE.
WRITE : spfli-carrid,
spfli-connid,
spfli-cityfrom,
spfli-airpfrom,
spfli-cityto,
spfli-airpto.
GET SFLIGHT.
NEW-LINE.
free_seats = sflight-seatsmax - sflight-seatsocc.
WRITE : sflight-fldate,
sflight-price,
sflight-currency,
sflight-planetype,
sflight-seatsmax,
sflight-seatsocc,
free_seats.
GET SBOOK.
NEW-LINE.
WRITE : sbook-bookid,
sbook-customid,
sbook-smoker,
sbook-luggweight,
sbook-wunit.

*&---------------------------------------------------------------------*
*& Report Z09LDB2
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z09LDB2.
DATA : FREE_SEATS LIKE sflight-seatsocc.
NODES : SPFLI, SFLIGHT, SBOOK.
GET SPFLI.
NEW-LINE.
WRITE : spfli-carrid,
spfli-connid,
spfli-cityfrom,
spfli-airpfrom,
spfli-cityto,
spfli-airpto.
GET SFLIGHT.
NEW-LINE.
free_seats = sflight-seatsmax - sflight-seatsocc.
WRITE : sflight-fldate,
sflight-price,
sflight-currency,
sflight-planetype,
sflight-seatsmax,
sflight-seatsocc,
free_seats.
GET SBOOK.
CHECK s_temp.
NEW-LINE.
WRITE : sbook-bookid,
sbook-customid,
sbook-smoker,
sbook-luggweight UNIT sbook-wunit,
sbook-wunit.
GET SPFLI LATE.
ULINE.
NEW-PAGE.
GET SFLIGHT LATE.
ULINE.
SELECTION-SCREEN BEGIN OF BLOCK order WITH FRAME.
SELECT-OPTIONS: s_temp FOR sbook-customid.
SELECTION-SCREEN END OF BLOCK order.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_AUTHORITY_CHECK
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_AUTHORITY_CHECK.
PARAMETERS pa_input(2) OBLIGATORY TYPE c.
DATA wa_flight TYPE SBC400FOCC.
CONSTANTS actvt_display TYPE ACTIV_AUTH VALUE 03.
AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD pa_input
ID 'ACTVT' FIELD actvt_display.
IF sy-subrc EQ 0.
SELECT * FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_input.
IF sy-subrc EQ 0.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.
ELSE.
WRITE 'No Record Found'.
ENDIF.
ENDSELECT.
ELSE.
WRITE 'You are NOt Authorized'.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_COMPUTE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_COMPUTE.
PARAMETERS pa_int1 OBLIGATORY TYPE i.
PARAMETERS pa_int2 OBLIGATORY TYPE i.
PARAMETERS pa_op OBLIGATORY TYPE c.
DATA result TYPE p DECIMALS 2.
CASE pa_op.
WHEN '+'.
result = pa_int1 + pa_int2.
WHEN '-'.
result = pa_int1 - pa_int2.
WHEN '*'.
result = pa_int1 * pa_int2.
WHEN '/'.
IF pa_int2 EQ 0.
WRITE 'DIVISION NOT POSSIBLE'.
ELSE.
result = pa_int1 / pa_int2.
ENDIF.
WHEN OTHERS.
WRITE ' PLEASE ENTER A CORRECT OPERATOR ' COLOR 2.
ENDCASE.
WRITE : 'THE RESULT IS',
result.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_DETAIL_LIST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_DETAIL_LIST.
PARAMETERS pa_inp2 TYPE D.
DATA it_flight TYPE SBC400FOCC OCCURS 10.
DATA wa_flight TYPE SBC400FOCC.
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF wa_flight WHERE
fldate = pa_inp2.
IF sy-subrc EQ 0.
wa_flight-percentage = wa_flight-seatsocc * 100 / wa_flight-seatsmax.
"APPEND wa_flight TO it_flight.
INSERT wa_flight INTO TABLE it_flight.
ELSE.
WRITE 'No Record Found'.
ENDIF.
ENDSELECT.
PERFORM WRT_BASIC
USING
pa_inp2
it_flight.
PERFORM WRT_DETAIL
USING
pa_inp2
it_flight.
FORM WRT_BASIC
USING
f_fldate TYPE D
f_it_flight TYPE SBC400_T_SBC400FOCC.
ULINE.
WRITE 'BASIC DETAILS' COLOR 5.
WRITE : / 'FLIGHTS ON THE DATE', f_fldate ,'are'.
ULINE.
LOOP AT f_it_flight INTO wa_flight.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.

ENDLOOP.
ENDFORM.
FORM WRT_DETAIL
USING
f_fldate TYPE D
f_it_flight TYPE SBC400_T_SBC400FOCC.
ULINE.
WRITE 'COMPLETE DETAILS' COLOR 5.
WRITE : / 'FLIGHTS ON THE DATE', f_fldate ,'are'.
ULINE.
LOOP AT f_it_flight INTO wa_flight.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.
WRITE wa_flight-percentage.
ENDLOOP.
ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_DETAIL_LIST2
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_DETAIL_LIST2.
CONSTANTS actvt_display TYPE ACTIV_AUTH VALUE '03'.
PARAMETERS pa_inp TYPE s_carr_id.
DATA wa_flight TYPE SBC400FOCC.
DATA wa_sbook TYPE SBOOK.
START-OF-SELECTION.
AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD pa_inp
ID 'ACTVT' FIELD actvt_display.
CASE sy-subrc.
WHEN 0.
SELECT carrid connid fldate seatsmax seatsocc FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_inp.
wa_flight-percentage =
wa_flight-seatsocc * 100 / wa_flight-seatsmax.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.
WRITE wa_flight-percentage.
* THIS HIDE FIELD IS VERY IMPORTANT FOR THE SELECTION TO TAKE PLACE
HIDE : wa_flight-carrid, wa_flight-connid, wa_flight-fldate.
ENDSELECT.
IF sy-subrc NE 0.
WRITE : ' NO '.
ENDIF.
WHEN OTHERS.
WRITE ' Yahoooo!!!!'.
ENDCASE.
AT LINE-SELECTION.
IF sy-lsind = 1.

WRITE : / wa_flight-carrid,
wa_flight-connid,
wa_flight-fldate.
ULINE.
SKIP.
SELECT BOOKID CUSTOMID CUSTTYPE CLASS ORDER_DATE SMOKER CANCELLED
FROM SBOOK INTO CORRESPONDING FIELDS OF wa_sbook
WHERE carrid = wa_flight-carrid
AND connid = wa_flight-connid
AND fldate = wa_flight-fldate.
NEW-LINE.
WRITE : wa_sbook-bookid,
wa_sbook-customid,
wa_sbook-custtype,
wa_sbook-class,
wa_sbook-order_Date,
wa_sbook-smoker,
wa_sbook-cancelled.
ENDSELECT.
ENDIF.
CLEAR wa_flight.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_DETAIL_LIST3
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_DETAIL_LIST3.
CONSTANTS actvt_display TYPE ACTIV_AUTH VALUE '03'.
PARAMETERS pa_inp TYPE s_carr_id.
DATA wa_flight TYPE SBC400FOCC.
DATA wa_sbook TYPE SBOOK.
START-OF-SELECTION.
AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD pa_inp
ID 'ACTVT' FIELD actvt_display.
CASE sy-subrc.
WHEN 0.
SELECT carrid connid fldate seatsmax seatsocc FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_inp.
wa_flight-percentage =
wa_flight-seatsocc * 100 / wa_flight-seatsmax.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.
WRITE wa_flight-percentage.
* THIS HIDE FIELD IS VERY IMPORTANT FOR THE SELECTION TO TAKE PLACE
HIDE : wa_flight-carrid, wa_flight-connid, wa_flight-fldate.
ENDSELECT.
IF sy-subrc NE 0.
WRITE : ' NO '.
ENDIF.
WHEN OTHERS.
WRITE ' Yahoooo!!!!'.
ENDCASE.
AT LINE-SELECTION.

IF sy-lsind = 1.
WRITE : / wa_flight-carrid,
wa_flight-connid,
wa_flight-fldate.
ULINE.
SKIP.
SELECT BOOKID CUSTOMID CUSTTYPE CLASS ORDER_DATE SMOKER CANCELLED
LOCCURAM LOCCURKEY
FROM SBOOK INTO CORRESPONDING FIELDS OF wa_sbook
WHERE carrid = wa_flight-carrid
AND connid = wa_flight-connid
AND fldate = wa_flight-fldate.
NEW-LINE.
WRITE : wa_sbook-bookid,
wa_sbook-customid,
wa_sbook-custtype,
wa_sbook-class,
wa_sbook-order_Date,
wa_sbook-smoker,
wa_sbook-cancelled,
wa_sbook-loccuram CURRENCY wa_sbook-loccurkey,
wa_sbook-loccurkey.
ENDSELECT.
ENDIF.
CLEAR wa_flight.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_GS_LIST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_GS_LIST.
DATA wa_flight TYPE sflight.
SELECT * FROM sflight INTO wa_flight.
NEW-LINE.
WRITE
WRITE
WRITE
WRITE
WRITE

wa_flight-carrid.
wa_flight-connid.
wa_flight-fldate.
wa_flight-seatsocc.
wa_flight-seatsmax.

ENDSELECT.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_ITAB_LOOP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_ITAB_LOOP.
DATA it_spfli TYPE SBC400_T_SPFLI.
DATA wa_spfli LIKE LINE OF it_spfli.
SELECT * FROM SPFLI INTO TABLE it_spfli.
IF sy-subrc EQ 0.
NEW-LINE.
LOOP AT it_spfli INTO wa_spfli.
WRITE : / wa_spfli-carrid,
wa_spfli-connid.
ENDLOOP.
ELSE.
WRITE 'Nothing'.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_SELECT_FLIGHT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_SELECT_FLIGHT.
PARAMETERS pa_input(2) OBLIGATORY TYPE c.
DATA wa_flight TYPE SBC400FOCC.
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF wa_flight WHERE
carrid = pa_input.
IF sy-subrc EQ 0.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.
ELSE.
WRITE 'No Record Found'.
ENDIF.
ENDSELECT.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_SELECT_FLIGHT2
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_SELECT_FLIGHT2.
PARAMETERS pa_input(2) OBLIGATORY TYPE c.
DATA wa_flight TYPE SBC400FOCC.
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF wa_flight WHERE
carrid = pa_input.
IF sy-subrc EQ 0.
wa_flight-percentage = wa_flight-seatsocc * 100 / wa_flight-seatsmax.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.
WRITE wa_flight-percentage.
WRITE '%'.
ELSE.
WRITE 'No Record Found'.
ENDIF.
ENDSELECT.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_SELECT_FLIGHT_ITAB
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_SELECT_FLIGHT_ITAB.
PARAMETERS pa_input(2) OBLIGATORY TYPE c.
DATA it_flight TYPE SBC400FOCC OCCURS 10.
DATA wa_flight TYPE SBC400FOCC.
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF wa_flight WHERE
carrid = pa_input.
IF sy-subrc EQ 0.
wa_flight-percentage = wa_flight-seatsocc * 100 / wa_flight-seatsmax.
INSERT wa_flight INTO TABLE it_flight.
ELSE.
WRITE 'No Record Found'.
ENDIF.
ENDSELECT.
LOOP AT it_flight INTO wa_flight.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.
WRITE wa_flight-percentage.
ENDLOOP.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_SELECT_FLIGHT_ITAB2
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_SELECT_FLIGHT_ITAB2.
PARAMETERS pa_input(2) OBLIGATORY TYPE c.
DATA it_flight TYPE SBC400FOCC OCCURS 10.
DATA wa_flight TYPE SBC400FOCC.
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF wa_flight WHERE
carrid = pa_input.
IF sy-subrc EQ 0.
wa_flight-percentage = wa_flight-seatsocc * 100 / wa_flight-seatsmax.
INSERT wa_flight INTO TABLE it_flight.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.
WRITE wa_flight-percentage.
WRITE '%'.
ELSE.
WRITE 'No Record Found'.
ENDIF.
ENDSELECT.
SORT it_flight BY percentage.
ULINE.
WRITE 'SORTED DATA AS PER OCCUPANCY'.
ULINE.
LOOP AT it_flight INTO wa_flight.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.

WRITE wa_flight-percentage.
WRITE '%'.
ENDLOOP.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_SEL_SCREEN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_SEL_SCREEN.
CONSTANTS actvt_display TYPE ACTIV_AUTH VALUE '03'.
PARAMETERS pa_inp TYPE s_carr_id.
DATA wa_flight TYPE SBC400FOCC.
DATA wa_sbook TYPE SBOOK.
START-OF-SELECTION.
AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD pa_inp
ID 'ACTVT' FIELD actvt_display.
CASE sy-subrc.
WHEN 0.
SELECT carrid connid fldate seatsmax seatsocc FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_inp.
wa_flight-percentage =
wa_flight-seatsocc * 100 / wa_flight-seatsmax.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.
WRITE wa_flight-percentage.
* THIS HIDE FIELD IS VERY IMPORTANT FOR THE SELECTION TO TAKE PLACE
HIDE : wa_flight-carrid, wa_flight-connid, wa_flight-fldate.
ENDSELECT.
IF sy-subrc NE 0.
WRITE : ' NO '.
ENDIF.
WHEN OTHERS.
WRITE ' Yahoooo!!!!'.
ENDCASE.

AT LINE-SELECTION.
IF sy-lsind = 1.
WRITE : / wa_flight-carrid,
wa_flight-connid,
wa_flight-fldate.
ULINE.
SKIP.
SELECT BOOKID CUSTOMID CUSTTYPE CLASS ORDER_DATE SMOKER CANCELLED
FROM SBOOK INTO CORRESPONDING FIELDS OF wa_sbook
WHERE carrid = wa_flight-carrid
AND connid = wa_flight-connid
AND fldate = wa_flight-fldate.
NEW-LINE.
WRITE : wa_sbook-bookid,
wa_sbook-customid,
wa_sbook-custtype,
wa_sbook-class,
wa_sbook-order_Date,
wa_sbook-smoker,
wa_sbook-cancelled.
ENDSELECT.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_SUBROUTINE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_SUBROUTINE.
PARAMETERS pa_input(2) OBLIGATORY TYPE c.
DATA it_flight TYPE SBC400FOCC OCCURS 10.
DATA wa_flight TYPE SBC400FOCC.
PERFORM WRITE_LIST
USING
pa_input.
*&--------------------------------------------------------------------*
*&
Form WRITE_LIST
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM WRITE_LIST
USING
f_carrid.
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF wa_flight WHERE
carrid = f_carrid.
IF sy-subrc EQ 0.
wa_flight-percentage = wa_flight-seatsocc * 100 / wa_flight-seatsmax.
INSERT wa_flight INTO TABLE it_flight.
ELSE.
WRITE 'No Record Found'.
ENDIF.
ENDSELECT.
LOOP AT it_flight INTO wa_flight.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.

WRITE wa_flight-seatsmax.
WRITE wa_flight-percentage.
ENDLOOP.
ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZBC400_09_SUBROUTINE2
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC400_09_SUBROUTINE2.
PARAMETERS pa_input(2) OBLIGATORY TYPE c.
DATA it_flight TYPE SBC400FOCC OCCURS 10.
DATA wa_flight TYPE SBC400FOCC.
ULINE.
WRITE 'DATA BEFORE SORTING'.
ULINE.
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF wa_flight WHERE
carrid = pa_input.
IF sy-subrc EQ 0.
wa_flight-percentage = wa_flight-seatsocc * 100 / wa_flight-seatsmax.
INSERT wa_flight INTO TABLE it_flight.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.
WRITE wa_flight-percentage.
ELSE.
WRITE 'No Record Found'.
ENDIF.
ENDSELECT.
PERFORM WRITE_LIST
USING
it_flight.
*&--------------------------------------------------------------------*
*&
Form WRITE_LIST
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*

FORM WRITE_LIST
USING
f_it_flight TYPE SBC400_T_SBC400FOCC.
SORT f_it_flight BY percentage.
ULINE.
WRITE 'DATA AFTER SORTING BY PERCENTAGE'.
WRITE / 'PASSING AN ENTIRE TABLE' COLOR 5.
ULINE.
LOOP AT f_it_flight INTO wa_flight.
NEW-LINE.
WRITE wa_flight-carrid.
WRITE wa_flight-connid.
WRITE wa_flight-fldate.
WRITE wa_flight-seatsocc.
WRITE wa_flight-seatsmax.
WRITE wa_flight-percentage.
ENDLOOP.
ENDFORM.

"WRITE_LIST

S-ar putea să vă placă și