REPORT zstr4_09 MESSAGE-ID zstr_msg_09.
TABLES:spfli, sflight.
TYPES: BEGIN OF ty_spfli,
carrid TYPE spfli-carrid,
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityfto TYPE spfli-cityfrom,
END OF ty_spfli.
TYPES: BEGIN OF ty_sfli,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
seatsmax TYPE sflight-seatsmax,
seatsocc TYPE sflight-seatsocc,
END OF ty_sfli.
DATA: it_spfli TYPE TABLE OF ty_spfli,
wa_spfli LIKE LINE OF it_spfli,
it_sfli TYPE TABLE OF ty_sfli,
wa_sflight LIKE LINE OF it_sfli,
seatsfree TYPE i.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: p_carrid FOR spfli-carrid.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: p_spfli RADIOBUTTON GROUP g1 DEFAULT 'X',
p_sflig RADIOBUTTON GROUP g1.
SELECTION-SCREEN END OF BLOCK b2.
CONSTANTS mark VALUE 'X'.
IF mark = p_spfli.
SELECT carrid connid cityfrom cityto FROM spfli INTO TABLE it_spfli WHERE carrid IN p_carrid.
IF sy-subrc = 0.
MESSAGE i002.
LOOP AT it_spfli INTO wa_spfli.
WRITE:/ wa_spfli-carrid,wa_spfli-connid.
ENDLOOP.
ELSE.
MESSAGE 'No Records Found!' TYPE 'I'.
MESSAGE s001.
ENDIF.
ELSEIF mark = p_sflig.
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE it_sfli WHERE carrid IN p_carrid.
IF sy-subrc = 0.
MESSAGE 'Records are being fetced... PLz. click continue' TYPE 'i'.
LOOP AT it_sfli INTO wa_sflight.
seatsfree = wa_sflight-seatsmax - wa_sflight-seatsocc.
WRITE:/ wa_sflight-carrid,wa_sflight-connid,wa_sflight-fldate,
wa_sflight-seatsmax,wa_sflight-seatsocc,seatsfree.
ENDLOOP.
ELSE.
MESSAGE 'No Records Found!' TYPE 'I'.
MESSAGE s001.
ENDIF.
ENDIF.
TABLES:spfli, sflight.
TYPES: BEGIN OF ty_spfli,
carrid TYPE spfli-carrid,
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityfto TYPE spfli-cityfrom,
END OF ty_spfli.
TYPES: BEGIN OF ty_sfli,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
seatsmax TYPE sflight-seatsmax,
seatsocc TYPE sflight-seatsocc,
END OF ty_sfli.
DATA: it_spfli TYPE TABLE OF ty_spfli,
wa_spfli LIKE LINE OF it_spfli,
it_sfli TYPE TABLE OF ty_sfli,
wa_sflight LIKE LINE OF it_sfli,
seatsfree TYPE i.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: p_carrid FOR spfli-carrid.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: p_spfli RADIOBUTTON GROUP g1 DEFAULT 'X',
p_sflig RADIOBUTTON GROUP g1.
SELECTION-SCREEN END OF BLOCK b2.
CONSTANTS mark VALUE 'X'.
IF mark = p_spfli.
SELECT carrid connid cityfrom cityto FROM spfli INTO TABLE it_spfli WHERE carrid IN p_carrid.
IF sy-subrc = 0.
MESSAGE i002.
LOOP AT it_spfli INTO wa_spfli.
WRITE:/ wa_spfli-carrid,wa_spfli-connid.
ENDLOOP.
ELSE.
MESSAGE 'No Records Found!' TYPE 'I'.
MESSAGE s001.
ENDIF.
ELSEIF mark = p_sflig.
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE it_sfli WHERE carrid IN p_carrid.
IF sy-subrc = 0.
MESSAGE 'Records are being fetced... PLz. click continue' TYPE 'i'.
LOOP AT it_sfli INTO wa_sflight.
seatsfree = wa_sflight-seatsmax - wa_sflight-seatsocc.
WRITE:/ wa_sflight-carrid,wa_sflight-connid,wa_sflight-fldate,
wa_sflight-seatsmax,wa_sflight-seatsocc,seatsfree.
ENDLOOP.
ELSE.
MESSAGE 'No Records Found!' TYPE 'I'.
MESSAGE s001.
ENDIF.
ENDIF.
No comments:
Post a Comment