You are on page 1of 7

*---------------------------------------------------------------------*

* REPORT ZPRJ0002
* MINI PROJECT :
*---------------------------------------------------------------------*
* DESCRIPTION : FLIGHT INFORMATION INQUIRY SYSTEM
* CREATION DATE : 20/05/2014
* AUTHOR : VIPIN KRISHNA.
* T-CODE : NONE
*---------------------------------------------------------------------*
REPORT ZPRJ0002 MESSAGE-ID ZMSGCLASS LINE-SIZE 136.
TABLES : SFLIGHT,SCUSTOM,SBOOK,SPFLI.
TYPES : BEGIN OF STRUCT_TEMP,
CARRID TYPE SBOOK-CARRID,
CONNID TYPE SBOOK-CONNID,
FLDATE TYPE SBOOK-FLDATE,
LUGWGT TYPE SBOOK-LUGGWEIGHT,
WUNIT TYPE SBOOK-WUNIT,
LOCCUR TYPE SBOOK-LOCCURAM,
CUSNAM TYPE SCUSTOM-NAME,
CUSTID TYPE SCUSTOM-ID,
FROMCT TYPE SPFLI-CITYFROM,
TOCITY TYPE SPFLI-CITYTO,
CARNAM TYPE SCARR-CARRNAME,
WEIGHT(8) TYPE P DECIMALS 4,
END OF STRUCT_TEMP,
IT_WORK TYPE TABLE OF STRUCT_TEMP,
BEGIN OF STRUCT_CUSTOMER,
NAME TYPE SCUSTOM-NAME,
FORM TYPE SCUSTOM-FORM,
STREET TYPE SCUSTOM-STREET,
POSTBOX TYPE SCUSTOM-POSTBOX,
POSTCODE TYPE SCUSTOM-POSTCODE,
CITY TYPE SCUSTOM-CITY,
COUNTRY TYPE SCUSTOM-COUNTRY,
END OF STRUCT_CUSTOMER.
* Carrier name | Connid | fldate | Booking ID | Price(LOCCURAM)
TYPES : BEGIN OF STR_CUSTDTL,
CustName TYPE SCUSTOM-name,
CustID TYPE SCUSTOM-id,
CustEm(29) TYPE C,
CustDOB TYPE SBOOK-passbirth,
CustCarrID TYPE SBOOK-CARRID,
CustCarrN TYPE SCARR-CARRNAME,
CustConn TYPE SBOOK-CONNID,
CustFlDat TYPE SBOOK-FLDATE,
CustBkId TYPE SBOOK-BOOKID,
CustLocC TYPE SBOOK-LOCCURAM,
END OF STR_CUSTDTL,
TBL_CUST TYPE TABLE OF STR_CUSTDTL.
DATA: WA_TEMP TYPE IT_WORK,
WA_DATA TYPE STRUCT_TEMP,
WA_FLDATE TYPE SBOOK-FLDATE,
COL TYPE I VALUE 0,
WA_WEIGHT TYPE F,
WA_CNAME TYPE SCUSTOM-NAME,
WA_CID TYPE SCUSTOM-ID,
WA_CUSTOMER TYPE STRUCT_CUSTOMER,
ST_CUSTDTL TYPE STR_CUSTDTL,
IT_CUSTDTL TYPE TBL_CUST.
DATA:
BEGIN OF LUGWEIGHT,
WEIGHT TYPE SBOOK-LUGGWEIGHT,
END OF LUGWEIGHT.
DATA WGHTS_TAB LIKE TABLE OF LUGWEIGHT.
SELECTION-SCREEN
BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TITLE1.
PARAMETERS: RB01 RADIOBUTTON GROUP GRUP USER-COMMAND CHECK ,
RB02 RADIOBUTTON GROUP GRUP.
SELECTION-SCREEN
END OF BLOCK BLOCK1.
SELECTION-SCREEN
BEGIN OF BLOCK BLOCK2 WITH FRAME TITLE TITLE2.
PARAMETERS: P_CARRID TYPE SFLIGHT-CARRID MODIF ID MD1,
P_CONNID TYPE SFLIGHT-CONNID MODIF ID MD1,
P_FLDATE TYPE SFLIGHT-FLDATE MODIF ID MD1.
SELECTION-SCREEN
END OF BLOCK BLOCK2.
SELECTION-SCREEN
BEGIN OF BLOCK BLOCK3 WITH FRAME TITLE TITLE3.
PARAMETERS P_CUSTID TYPE SCUSTOM-ID MODIF ID MD2.
SELECTION-SCREEN
END OF BLOCK BLOCK3.
INITIALIZATION.
TITLE1 = 'Please Select One Of The Following Option'.
TITLE2 = 'Flight Information :'.
TITLE3 = 'Customer Information:'.
RB01 = 'X '.

AT SELECTION-SCREEN OUTPUT.
IF RB01 = 'X'.
LOOP AT SCREEN.
CASE SCREEN-GROUP1.
WHEN 'MD1'.
SCREEN-ACTIVE = '1'.
WHEN 'MD2'.
SCREEN-ACTIVE = '0'.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
ELSEIF RB02 = 'X'.
LOOP AT SCREEN.
CASE SCREEN-GROUP1.
WHEN 'MD1'.
SCREEN-ACTIVE = '0'.
WHEN 'MD2'.
SCREEN-ACTIVE = '1'.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
AT SELECTION-SCREEN .
" IF RB01 = 'X'.
" IF P_CARRID EQ ' ' OR P_CONNID EQ ' ' .
" MESSAGE E000.
" ENDIF.
" ENDIF.
*BREAK-POINT.
START-OF-SELECTION.
IF RB01 ='X'.
* Join SBOOK , SCUSTOM , SPFLI , SCARR Tables to populate the List-1 View.
*
SELECT SBOOK~CARRID
SBOOK~CONNID
SBOOK~FLDATE
SBOOK~LUGGWEIGHT
SBOOK~WUNIT
SBOOK~LOCCURAM
SCUSTOM~NAME
SCUSTOM~ID
SPFLI~CITYFROM
SPFLI~CITYTO
SCARR~CARRNAME
INTO (WA_DATA-CARRID,
WA_DATA-CONNID,
WA_DATA-FLDATE,
WA_DATA-LUGWGT,
WA_DATA-WUNIT,
WA_DATA-LOCCUR,
WA_DATA-CUSNAM,
WA_DATA-CUSTID,
WA_DATA-FROMCT,
WA_DATA-TOCITY,
WA_DATA-CARNAM)
FROM SPFLI
INNER JOIN SBOOK ON SBOOK~CARRID = SPFLI~CARRID
AND SBOOK~CONNID = SPFLI~CONNID
INNER JOIN SCARR ON SCARR~CARRID = SPFLI~CARRID
INNER JOIN SCUSTOM ON SCUSTOM~ID = SBOOK~CUSTOMID
WHERE SBOOK~CARRID = P_CARRID
AND SBOOK~CONNID = P_CONNID
AND SBOOK~FLDATE = P_FLDATE. " DATE SHOULD CHECK IN THISFORMAT
> '20050928'.
WA_DATA-WEIGHT = WA_DATA-LUGWGT.
* Append the structure to Temp Table.
APPEND WA_DATA TO WA_TEMP.
ENDSELECT.
ELSEIF RB02 = 'X'.
* Join SCUSTOM , SBOOK ,, SCARR Tables to populate the Select-2 View.
select SCUSTOM~name
SCUSTOM~id
SCUSTOM~eMail
SBOOK~passbirth
SBOOK~CARRID
SBOOK~CONNID
SBOOK~FLDATE
SBOOK~BOOKID
SBOOK~LOCCURAM
SCARR~CARRNAME
INTO (ST_CUSTDTL-CustName,
ST_CUSTDTL-CustID,
ST_CUSTDTL-CustEm,
ST_CUSTDTL-CustDOB,
ST_CUSTDTL-CustCarrID,
ST_CUSTDTL-CustConn,
ST_CUSTDTL-CustFlDat,
ST_CUSTDTL-CustBkId,
ST_CUSTDTL-CustLocC,
ST_CUSTDTL-CustCarrN)
from SCUSTOM
inner join SBOOK on SBOOK~CUSTOMID = SCUSTOM~ID
inner join SCARR on SCARR~CARRID = SBOOK~CARRID
where SCUSTOM~ID = P_CUSTID.
* Append the structure to Temp Table.
APPEND ST_CUSTDTL TO IT_CUSTDTL.
"COLLECT ST_CUSTD
TL into IT_CUSTDTL.
ENDSELECT.
endif.
*
END-OF-SELECTION.
*
*PRINT REPORT HEADER.
* Format the List with Color.
* Header in Yellow Color.
* If Luggage weight > 10 then display in Red.
* If Luggage weight < 10 then display in Green.
IF RB01 = 'X'. " For Flight related information RADIO BUTTON = 1
FORMAT RESET.
COL = 3.
FORMAT COLOR COL_HEADING.
FORMAT COLOR = COL.
WRITE: SYST-ULINE,
SYST-VLINE, 'Carrier Name' INTENSIFIED OFF,
24 SYST-VLINE, 'City From' INTENSIFIED OFF,
37 SYST-VLINE, 'City To' INTENSIFIED OFF,
55 SYST-VLINE, 'Date' INTENSIFIED OFF,
70 SYST-VLINE, 'Passenger Name' INTENSIFIED OFF,
90 SYST-VLINE, 'Luggage Weight' INTENSIFIED OFF,
110 SYST-VLINE, 'UOM' INTENSIFIED OFF,
115 SYST-VLINE, 'Local Currency' INTENSIFIED OFF,
135 SYST-VLINE,
/ SYST-ULINE.
FORMAT RESET.
LOOP AT WA_TEMP INTO WA_DATA.
WRITE: /
SYST-VLINE, WA_DATA-CARNAM COLOR OFF,
24 SYST-VLINE, WA_DATA-FROMCT COLOR OFF,
37 SYST-VLINE, WA_DATA-TOCITY COLOR OFF,
55 SYST-VLINE, WA_DATA-FLDATE COLOR OFF,
70 SYST-VLINE, WA_DATA-CUSNAM HOTSPOT ON COLOR OFF.
* Hide the Customer-ID for List-2 Usage.
HIDE WA_DATA-CUSTID.
IF WA_DATA-LUGWGT > 10.
COL = 6.
FORMAT COLOR = COL.
WRITE : 90 SYST-VLINE,
WA_DATA-LUGWGT INTENSIFIED ON.
FORMAT RESET.
ELSEIF WA_DATA-LUGWGT < 10.
COL = 5.
FORMAT COLOR = COL.
WRITE : 90 SYST-VLINE,
WA_DATA-LUGWGT INTENSIFIED ON.
FORMAT RESET.
ENDIF.
WRITE :
110 SYST-VLINE, WA_DATA-WUNIT COLOR OFF,
115 SYST-VLINE, WA_DATA-LOCCUR COLOR OFF,
135 SYST-VLINE.", / SYST-ULINE => FOR TABULAR FORM.
* MOVE WA_DATA-LUGWGT TO WA_WEIGHT.
* BREAK-POINT.
AT LAST.
SUM.
ULINE / .
WRITE: /67 'Total Luggage Weight:'.
WRITE 88 WA_DATA-WEIGHT. "UNDER WA_DATA-LUGWGT.
ENDAT.
ENDLOOP.
WRITE: SYST-ULINE.
ELSEIF RB02 = 'X'. " For Customer related information RADIO BUTTON = 2
WRITE 'Customer Details'.
FORMAT RESET.
COL = 3.
FORMAT COLOR COL_HEADING.
FORMAT COLOR = COL.
"BREAK-POINT.
****** Page Heading = Customer Name: ****** / Customer ID: ***** / Date of Birt
h: **** / Email ID: *****
WRITE: / SYST-ULINE,
SYST-VLINE, 'Customer Name:' , ST_CUSTDTL-CustName INTENSIFIED OFF
,
SYST-VLINE, 'Customer ID:' , ST_CUSTDTL-CustId INTENSIFIE
D OFF,
SYST-VLINE, 'Date Of Birth:' , ST_CUSTDTL-CustDOB INTENSIFIED
OFF,
SYST-VLINE, 'Email ID:' , ST_CUSTDTL-CustEm INTENSIF
IED OFF,
136 SYST-VLINE,
SYST-ULINE,
/ SYST-VLINE, 'Carrier Name',
24 SYST-VLINE, 'Connection ID',
39 SYST-VLINE, 'Flight Date' ,
53 SYST-VLINE, 'Booking ID' ,
70 SYST-VLINE, 'Price (Local Currancy)',
136 SYST-VLINE,
SYST-ULINE.
FORMAT RESET.
LOOP AT IT_CUSTDTL INTO ST_CUSTDTL.
WRITE: /
SYST-VLINE, ST_CUSTDTL-CustCarrN COLOR OFF,
24 SYST-VLINE, ST_CUSTDTL-CustConn COLOR OFF,
39 SYST-VLINE, ST_CUSTDTL-CustFlDat COLOR OFF,
53 SYST-VLINE, ST_CUSTDTL-CustBkid COLOR OFF,
70 SYST-VLINE, ST_CUSTDTL-CustLocc COLOR OFF,
136 SYST-VLINE.
* Display Sub-Total of Price for each Carrier Name
AT END OF CustCarrN.
SUM.
WRITE : syst-uline, /70 'SubTotal=' , ST_CUSTDTL-CustLocC Color 6,
136 syst-vline, / syst-uline.
endat.
* Display Grand Total of price at the bottom of Report.
AT LAST.
SUM.
WRITE: / SYST-VLINE, 67 'Grand Total',
ST_CUSTDTL-CustLocC UNDER ST_CUSTDTL-CustLocC color 6,
136 SYST-VLINE.
ULINE /.
ENDAT.
ENDLOOP.
ENDIF.
*TOP-OF-PAGE.
* WRITE: 'Flight details'.
*END-OF-PAGE.
* WRITE: 'End of page' .
* Line Selection Block
AT LINE-SELECTION .
IF RB01 = 'X'.
* Read Line
READ LINE SYST-LILLI FIELD VALUE WA_DATA-CUSNAM INTO WA_CNAME.
WA_CID = WA_DATA-CUSTID.
"WRITE WA_CID.
* Get the Customer Details using the Hidden Customer-ID from List-1
SELECT SINGLE NAME
FORM
STREET
POSTBOX
POSTCODE
CITY
COUNTRY
FROM SCUSTOM
INTO WA_CUSTOMER
WHERE ID = WA_CID.
*Display List-2 with corresponding Customer details.
WRITE: SYST-ULINE,
SYST-VLINE, 'Customer Name',
29 SYST-VLINE, 'Form Of Address',
47 SYST-VLINE, 'Street',
70 SYST-VLINE, 'Post Box',
80 SYST-VLINE, 'Post Code',
93 SYST-VLINE, 'City',
126 SYST-VLINE, 'Country' ,
136 SYST-VLINE,
/ SYST-ULINE.
WRITE: / SYST-VLINE, WA_CUSTOMER-NAME,
29 SYST-VLINE, WA_CUSTOMER-FORM,
47 SYST-VLINE, WA_CUSTOMER-STREET,
70 SYST-VLINE, WA_CUSTOMER-POSTBOX,
80 SYST-VLINE, WA_CUSTOMER-POSTCODE,
93 SYST-VLINE, WA_CUSTOMER-CITY,
126 SYST-VLINE, WA_CUSTOMER-COUNTRY,
136 SYST-VLINE,
/ SYST-ULINE.
ENDIF.

You might also like