0% found this document useful (0 votes)
145 views21 pages

Sap - Abap - ZBC400 09

This document contains definitions for several ABAP reports that perform various operations like selecting and displaying flight data, performing calculations, and looping through internal tables. The reports demonstrate concepts like parameters, selections, authorities, and forms.

Uploaded by

dipaklive7
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
145 views21 pages

Sap - Abap - ZBC400 09

This document contains definitions for several ABAP reports that perform various operations like selecting and displaying flight data, performing calculations, and looping through internal tables. The reports demonstrate concepts like parameters, selections, authorities, and forms.

Uploaded by

dipaklive7
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 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

You might also like