i need an urgeanrt assistance from someone who is more experience,this is my code but i want to calculate free seat and total free seat please i need you guys contribution.my professor said my free seat and total seat is wrong please i need help.every other part of the code is ok but i need assistance with total free seat and free seat.
TABLES: sscrfields,ZZ_2201_SVIEW.
DATA: BEGIN OF wa,
seatsmax TYPE sflight-seatsmax,
seatsmax_F TYPE sflight-seatsmax_F,
seatsmax_B TYPE sflight-seatsmax_B,
seatsocc TYPE sflight-seatsocc,
seatsocc_F TYPE sflight-seatsocc_F,
seatsocc_B TYPE sflight-seatsocc_B,
fldate TYPE sflight-fldate,
carrname TYPE scarr-carrname,
connid TYPE spfli-connid,
carrid TYPE spfli-carrid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
seatsfree TYPE I,
END OF wa.
DATA seatsfree TYPE I.
DATA: totalseats TYPE I.
DATA itab LIKE SORTED TABLE OF wa
WITH UNIQUE KEY fldate carrname connid .
DATA: wa_spfli TYPE spfli,
wa_sflight TYPE sflight.
DATA wa_myidea TYPE sbook.
DATA: fcode type sy-ucomm.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-004.
SELECTION-SCREEN COMMENT 1(50) TEXT-001 MODIF ID SC1.
SELECTION-SCREEN ULINE.
SELECT-OPTIONS: so_date FOR wa_sflight-fldate.
SELECTION-SCREEN COMMENT /1(60) COMM1.
SELECT-OPTIONS: key FOR wa_spfli-countryfr no INTERVALS,
city FOR wa_spfli-cityfrom no INTERVALS.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN COMMENT /1(60) COMM2.
SELECT-OPTIONS: fkey FOR wa_spfli-countryto no INTERVALS,
hcity FOR wa_spfli-cityto no INTERVALS.
SELECTION-SCREEN SKIP.
PARAMETERS class LIKE wa_myidea-CLASS OBLIGATORY .
SELECT-OPTIONS: airfare FOR wa_sflight-price.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN: begin of LINE,
PUSHBUTTON 3(21) button1 USER-COMMAND but1.
SELECTION-SCREEN POSITION POS_LOW.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
FORMAT COLOR 4.
ULINE AT /(120).
WRITE:/'|From',27 '|To ',57 '|Date',70 '|Free S ',86 '|Total S ',100 '|Airline ', 120'|'.
FORMAT RESET.
IF sy-subrc EQ 0.
SELECT ccarrname pcityfrom pcityto pconnid ffldate fseatsocc fseatsmax
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ( ( scarr AS c
INNER JOIN spfli AS p ON pcarrid = ccarrid
)
INNER JOIN sflight AS f ON fcarrid = pcarrid
AND fconnid = p~connid ).
seatsfree = wa_sflight-seatsmax + wa_sflight-seatsmax_b
+ wa_sflight-seatsmax_f
- wa_sflight-seatsocc - wa_sflight-seatsocc_b
- wa_sflight-seatsocc_f.
totalseats = seatsfree / wa_sflight-seatsmax * 100.
LOOP AT itab INTO wa.
ULINE AT /(120).
WRITE: / '|',wa-cityfrom UNDER 'From' LEFT-JUSTIFIED,' |' LEFT-JUSTIFIED,
wa-cityto UNDER 'To' LEFT-JUSTIFIED,' |' LEFT-JUSTIFIED,
wa-fldate UNDER 'Date' LEFT-JUSTIFIED,'|' LEFT-JUSTIFIED,
seatsfree UNDER 'free S' LEFT-JUSTIFIED,' |' LEFT-JUSTIFIED,
totalseats UNDER 'Total S' LEFT-JUSTIFIED,'|' LEFT-JUSTIFIED,
wa-carrname UNDER 'Airline' LEFT-JUSTIFIED,120'|'.
ENDLOOP.
ULINE AT /(120).
ELSEIF sy-subrc <> 0.
MESSAGE 'error' TYPE 'E'.
ENDIF.
AT selection-screen.
fcode = sy-ucomm.
if fcode = 'BUT1'.
REFRESH :so_date,key,city,fkey, hcity,airfare.
clear:class.
endif.
INITIALIZATION.
button1 = 'Delete input'.
comm1 ='where should the flight depart?'.
comm2 = ' which destination should the flight have?'.