‎2008 Aug 30 11:06 AM
hi friends,
i want to use hide statement for a report in which i am displaying different fields and i want to go next screen when i click on a particular field.
thanks in advance.
‎2008 Aug 30 11:55 AM
Hi
*Data Declarations ...................................................
*---------------------------------------------------------------------*
* Field String fs_spfli *
*---------------------------------------------------------------------*
DATA:
BEGIN OF fs_spfli,
carrid LIKE spfli-carrid, " Airline Code
connid LIKE spfli-connid, " Flight Connection Number
airpfrom LIKE spfli-airpfrom, " Departure airport
airpto LIKE spfli-airpto, " Destination airport
deptime LIKE spfli-deptime, " Departure time
arrtime LIKE spfli-arrtime, " Arrival time
END OF fs_spfli.
*Data Declarations ...................................................
*---------------------------------------------------------------------*
* Field String fs_sflight *
*---------------------------------------------------------------------*
DATA:
BEGIN OF fs_sflight,
carrid LIKE spfli-carrid, " Airline Code
connid LIKE spfli-connid, " Flight Connection Number
date LIKE sflight-fldate, " Flight date
seatsmax LIKE sflight-seatsmax, " Maximum capacity in economy
" class
seatsocc LIKE sflight-seatsocc, " Occupied seats in economy
" class
END OF fs_sflight.
*---------------------------------------------------------------------*
* Internal Table To Hold spfli Table Details *
*---------------------------------------------------------------------*
DATA:
t_spfli LIKE
STANDARD TABLE
OF fs_spfli.
*---------------------------------------------------------------------*
* Internal Table To Hold sflight Table Details *
*---------------------------------------------------------------------*
DATA:
t_sflight LIKE
STANDARD TABLE
OF fs_sflight.
DATA:
w_checkbox TYPE c,
w_lines TYPE i,
w_currentline TYPE i,
w_last_line TYPE i.
TOP-OF-PAGE.
PERFORM top_flight_data.
TOP-OF-PAGE DURING LINE-SELECTION.
PERFORM top_sflight_data.
*"--------------------------------------------------------------------*
* AT SELECTION-SCREEN EVENT *
*"--------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM get_flight_data.
*&---------------------------------------------------------------------*
*& Form TOP_FLIGHT_DATA
*---------------------------------------------------------------------*
* This subroutine DISPLAY to_flight_data *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM top_flight_data .
SKIP 2.
FORMAT COLOR 5 ON.
WRITE:
/5(15) 'Airline Code'(010),
(15) 'Flight Connection Number'(011),
(10) 'Departure airport'(012),
(10) 'Destination airport'(013),
(10) 'Departure time'(014),
(15) 'Arrival time'(015).
FORMAT COLOR OFF.
SKIP 2.
ENDFORM. " TOP_FLIGHT_DATA
*"--------------------------------------------------------------------*
* END-OF-SELECTION EVENT *
*"--------------------------------------------------------------------*
END-OF-SELECTION.
SET PF-STATUS 'MENU'.
PERFORM display_flight_data.
AT LINE-SELECTION.
IF sy-lsind EQ 1.
PERFORM get_sflight_data.
PERFORM display_sflight_data.
ENDIF. " IF SY-LSIND..
AT USER-COMMAND.
SET PF-STATUS space.
CASE sy-ucomm.
WHEN 'SELECTALL'.
w_checkbox = 'X'.
PERFORM modify_checkbox.
WHEN 'DSELECTALL'.
w_checkbox = ' '.
PERFORM modify_checkbox.
WHEN 'DISPLAY'.
PERFORM get_sflight_data1 .
ENDCASE. " CASE SY-UCOMM
*&---------------------------------------------------------------------*
*& Form GET_FLIGHT_DATA
*---------------------------------------------------------------------*
* This subroutine retrieves necessary data from SPFLI *
* *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM get_flight_data .
SELECT carrid " Airline Code
connid " Flight Connection Number
airpfrom " Departure airport
airpto " Destination airport
deptime " Departure time
arrtime " Arrival time
FROM spfli
INTO TABLE t_spfli.
ENDFORM. " GET_FLIGHT_DATA
*&---------------------------------------------------------------------*
*& Form DISPLAY_FLIGHT_DATA
*---------------------------------------------------------------------*
* This subroutine DISPLAY necessary data from SPFLI *
* *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM display_flight_data .
LOOP AT t_spfli INTO fs_spfli.
WRITE:
/02 w_checkbox AS CHECKBOX,
fs_spfli-carrid UNDER text-010,
fs_spfli-connid UNDER text-011,
fs_spfli-airpfrom UNDER text-012,
fs_spfli-airpto UNDER text-013,
fs_spfli-deptime UNDER text-014,
fs_spfli-arrtime UNDER text-015.
*HIDE:*
*fs_spfli-carrid,*
*fs_spfli-connid.*
ENDLOOP. " LOOP AT T_SPFLI INTO...
w_last_line = sy-linno.
ENDFORM. " DISPLAY_FLIGHT_DATA
*&---------------------------------------------------------------------*
*& Form GET_SFLIGHT_DATA
*---------------------------------------------------------------------*
* This subroutine retrieves necessary data from SFLIGHT *
* *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM get_sflight_data .
SELECT carrid " Airline Code
connid " Flight Connection Number
fldate " Flight date
seatsmax " Maximum capacity in economy
" class
seatsocc " Occupied seats in economy
" class
FROM sflight
INTO TABLE t_sflight
WHERE carrid EQ fs_spfli-carrid
AND connid EQ fs_spfli-connid.
ENDFORM. " GET_SFLIGHT_DATA
*&---------------------------------------------------------------------*
*& Form top_sflight_data
*---------------------------------------------------------------------*
* This subroutine to Display to_sflight_data *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
form top_sflight_data .
SKIP 2.
FORMAT COLOR 3 ON.
WRITE:
/1(15) 'Airline Code'(010) LEFT-JUSTIFIED,
15(15) 'Flight Connection Number'(011) LEFT-JUSTIFIED,
25(15) 'Flight date'(016) LEFT-JUSTIFIED,
38(17) 'Maximum capacity'(017) LEFT-JUSTIFIED,
48(15) 'Occupied seats'(018) LEFT-JUSTIFIED.
SKIP 2.
FORMAT COLOR OFF.
endform. " top_sflight_data
*&---------------------------------------------------------------------*
*& Form DISPLAY_SFLIGHT_DATA
*---------------------------------------------------------------------*
* This subroutine DISPLAY necessary data from SFLIGHT *
* *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM display_sflight_data .
LOOP AT t_sflight INTO fs_sflight.
WRITE:
/ fs_sflight-carrid UNDER TEXT-010,
fs_sflight-connid UNDER TEXT-011,
fs_sflight-date UNDER TEXT-016,
fs_sflight-seatsmax UNDER TEXT-017,
fs_sflight-seatsocc UNDER TEXT-018.
ENDLOOP. " LOOP AT T_SFLIGHT INTO...
ENDFORM. " DISPLAY_SFLIGHT_DATA
*&---------------------------------------------------------------------*
*& Form GET_SFLIGHT_DATA1
*---------------------------------------------------------------------*
* This subroutine retrieves necessary data from SFLIGHT
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM get_sflight_data1 .
DATA
lw_checkbox TYPE c.
DESCRIBE TABLE t_spfli LINES w_lines.
DO w_last_line TIMES.
w_currentline = 2 + sy-index.
CLEAR:
w_checkbox,
t_spfli.
READ LINE w_currentline FIELD VALUE
w_checkbox INTO lw_checkbox.
IF sy-subrc EQ 0.
IF lw_checkbox EQ 'X'.
PERFORM get_sflight_data .
PERFORM display_sflight_data .
ENDIF. " IF LW_CHECKBOX..
ENDIF. " IF SY-SUBRC..
ENDDO. " DO W_LAST_LINE
ENDFORM. " GET_SFLIGHT_DATA1
*&---------------------------------------------------------------------*
*& Form MODIFY_CHECKBOX
*---------------------------------------------------------------------*
* This subroutine MODIFIES accordingly
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM modify_checkbox .
CLEAR w_currentline.
WHILE w_currentline LE w_last_line.
READ LINE w_currentline.
MODIFY LINE w_currentline FIELD VALUE w_checkbox FROM w_checkbox.
ADD 1 TO w_currentline.
ENDWHILE. " WHILE w_line LE w_last_line.
ENDFORM. " MODIFY_CHECKBOXRegards,
Sravanthi
‎2008 Aug 30 11:10 AM
Hi Bhupi kaler ,
Please check this link
http://help.sap.com/saphelp_nw70/helpdata/en/9f/dba42335c111d1829f0000e829fbfe/content.htm
Best regards,
raam
‎2008 Aug 30 11:16 AM
Hi,
Check this link-
http://abaplovers.blogspot.com/2008/05/sap-abap-hide-technique.html
http://www.sapbrainsonline.com/ARTICLES/TECHNICAL/ABAP/HIDE_Technique.html
You can refer this sample code-
*"-------------------------------------------------------------------"*
*Table Type Structure Variable Declaration.
*"-------------------------------------------------------------------"*
TABLES:
sflight.
*"-------------------------------------------------------------------"*
*Field String Declaration To Hold Booking Details.
*"-------------------------------------------------------------------"*
DATA:
BEGIN OF fs_sbook,
carrid TYPE sbook-carrid, " Carrier ID.
connid TYPE sbook-connid, " Connection ID.
fldate TYPE sbook-fldate, " Flight Date.
bookid TYPE sbook-bookid, " Booing Number.
loccuram TYPE sbook-loccuram, " Local Currency Price.
order_date type sbook-order_date, " Booing Date.
END OF fs_sbook. " BEGIN OF fs_sbook.
*"-------------------------------------------------------------------"*
*Internal Table Declaration To Hold Flight Details.
*"-------------------------------------------------------------------"*
DATA:
t_sflight LIKE STANDARD TABLE " Flight Internal Table.
OF sflight.
*"-------------------------------------------------------------------"*
*Internal Table Declaration To Hold Flight Booking Details.
*"-------------------------------------------------------------------"*
DATA:
t_sbook LIKE STANDARD TABLE " Booking Details Internal Table
OF fs_sbook.
*"-------------------------------------------------------------------"*
*TOP-OF-PAGE DURING LINE SELECTION.
*"-------------------------------------------------------------------"*
TOP-OF-PAGE DURING LINE-SELECTION.
**Calling Subroutine***
PERFORM page_heading.
*"-------------------------------------------------------------------"*
*At PF13.
*"-------------------------------------------------------------------"*
AT PF13.
IF sy-lsind LE 1 AND sy-lilli GE 4.
**Calling Subroutine***
PERFORM get_data_sbook.
PERFORM display_data_sbook.
ELSEIF sy-lsind GT 1.
MESSAGE i004(zyh1151).
ELSE.
MESSAGE i003(zyh1151).
ENDIF. " IF sy-lsind LE .....
*"-------------------------------------------------------------------"*
*At PF14.
*"-------------------------------------------------------------------"*
AT PF14.
sy-lsind = 1.
PERFORM sort_by_date.
PERFORM display_data_sbook.
*"-------------------------------------------------------------------"*
*At PF16.
*"-------------------------------------------------------------------"*
AT PF16.
sy-lsind = 1.
PERFORM sort_by_loccuram.
PERFORM display_data_sbook.
*"-------------------------------------------------------------------"*
*START-OF-SELECTION.
*"-------------------------------------------------------------------"*
START-OF-SELECTION.
PERFORM get_data_sflight.
*"-------------------------------------------------------------------"*
*END-OF-SELECTION.
*"-------------------------------------------------------------------"*
END-OF-SELECTION.
**Calling Subroutine***
PERFORM display_data_sflight.
*&---------------------------------------------------------------------*
*& Form get_data_sflight
*&---------------------------------------------------------------------*
* SubRoutine To Fetch Data From SFLIGHT Table.
*----------------------------------------------------------------------*
* No Interface Parameter Passed
*----------------------------------------------------------------------*
FORM get_data_sflight .
SELECT *
FROM sflight
INTO TABLE t_sflight.
ENDFORM. " Form get_data_sflight.
*&---------------------------------------------------------------------*
*& Form display_data_sflight
*&---------------------------------------------------------------------*
* Subroutine To Display Flight Data.
*----------------------------------------------------------------------*
* No Interface Parameter Passed
*----------------------------------------------------------------------*
FORM display_data_sflight .
LOOP AT t_sflight INTO sflight.
AT FIRST.
WRITE:
/ 'Carrier ID'(001),
15 'Connection Id'(002),
30 'Flight Date'(003),
53 'Price'(004),
62 'Currency'(005),
72 'Planetype'(006),
85 'Seatsmax'(007),
95 'Seatsocc'(008).
ENDAT. " AT FIRST.
WRITE:
/5 sflight-carrid,
15 sflight-connid,
30 sflight-fldate,
40 sflight-price,
62 sflight-currency,
72 sflight-planetype,
80 sflight-seatsmax,
90 sflight-seatsocc.
HIDE:
sflight-carrid,
sflight-connid,
sflight-fldate.
ENDLOOP. " LOOP AT t_sflight INTO sflight
CLEAR sflight.
ENDFORM. " Form display_data_sflight
*&---------------------------------------------------------------------*
*& Form page_heading
*&---------------------------------------------------------------------*
* Subroutine To Print Page Header.
*----------------------------------------------------------------------*
* No Interface Parameter Passed
*----------------------------------------------------------------------*
FORM page_heading .
WRITE:
/40 'Secondary List With SBOOK Details'(009),
/ sy-uline(145),
/ 'Carrier ID'(001),
15 'Connection ID'(010),
30 'Flight Date'(003),
45 'Bookid'(011),
60 'Local Currency Price'(012),
85 'Booking Date'(013).
ENDFORM. " Form page_heading
*&---------------------------------------------------------------------*
*& Form get_data_sbook
*&---------------------------------------------------------------------*
* Subroutine To Fetch Data From SBOOK Table.
*----------------------------------------------------------------------*
* --> No Interface Parameter Passed.
*----------------------------------------------------------------------*
FORM get_data_sbook .
SELECT carrid " Carrier ID.
connid " Connection ID.
fldate " Flight Date.
bookid " Booking Number.
loccuram " Local Currency Price.
order_date " Booking Date.
FROM sbook
INTO TABLE t_sbook
WHERE carrid = sflight-carrid
AND connid = sflight-connid
AND fldate = sflight-fldate.
ENDFORM. " Form get_data_sbook.
*&---------------------------------------------------------------------*
*& Form display_data_sbook
*&---------------------------------------------------------------------*
* Subroutine To Display SBOOK Table Data.
*----------------------------------------------------------------------*
* No Interface Parameter Passed.
*----------------------------------------------------------------------*
FORM display_data_sbook .
LOOP AT t_sbook INTO fs_sbook.
WRITE:
/ fs_sbook-carrid,
15 fs_sbook-connid,
30 fs_sbook-fldate,
45 fs_sbook-bookid,
60 fs_sbook-loccuram,
85 fs_sbook-order_date.
ENDLOOP. " LOOP AT t_sbook INTO fs_sbook.
ENDFORM. " Form display_data_sbook
*&---------------------------------------------------------------------*
*& Form sort_by_date
*&---------------------------------------------------------------------*
* Subroutine To Sort Data By Flight Date.
*----------------------------------------------------------------------*
* No Interface Parameter Passed.
*----------------------------------------------------------------------*
FORM sort_by_date .
SORT t_sbook BY order_date.
ENDFORM. " Form sort_by_date.
*&---------------------------------------------------------------------*
*& Form sort_by_loccuram
*&---------------------------------------------------------------------*
* Subroutine To Sort By Local Currency Amount.
*----------------------------------------------------------------------*
* No Interface Parameter Passed.
*----------------------------------------------------------------------*
FORM sort_by_loccuram .
SORT t_sbook BY loccuram.
ENDFORM. " Form sort_by_loccuram.
*"-------------------------------------------------------------------"*
* End Of Program.
*"-------------------------------------------------------------------"*
regards,
sujit
‎2008 Aug 30 11:21 AM
Hi bhupi.
Here i am providing you Interactive reports which uses Hide statement.
go through it and ask me if you have any doubt in this.
REPORT Z3LEVEL_INTERACTIVE_REPORT LINE-SIZE 103 LINE-COUNT 35(5) NO STANDARD PAGE
HEADING.
*TABLES DECLARATION
TABLES : KNA1, VBAK, VBAP.
*SELECT OPTIONS
SELECT-OPTIONS: CUST_NO FOR KNA1-KUNNR.
*INITIALIZATION
INITIALIZATION.
CUST_NO-LOW = '01'.
CUST_NO-HIGH = '5000'.
CUST_NO-SIGN = 'I'.
CUST_NO-OPTION = 'BT'.
APPEND CUST_NO.
*SELECTION SCREEN VALIDATION
AT SELECTION-SCREEN ON CUST_NO.
LOOP AT SCREEN.
IF CUST_NO-LOW < 1 OR CUST_NO-HIGH > 5000.
MESSAGE E001(ZTJ1).
ENDIF.
ENDLOOP.
*BASIC LIST SELECTION
START-OF-SELECTION.
SELECT KUNNR NAME1 ORT01 LAND1 INTO
(KNA1-KUNNR, KNA1-NAME1,KNA1-ORT01,KNA1-LAND1)
FROM KNA1
WHERE KUNNR IN CUST_NO.
WRITE:/1 SY-VLINE,
KNA1-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,
16 SY-VLINE,
KNA1-NAME1 UNDER 'NAME',
61 SY-VLINE,
KNA1-ORT01 UNDER 'CITY',
86 SY-VLINE,
KNA1-LAND1 UNDER 'COUNTRY',
103 SY-VLINE.
*HIDE*: KNA1-KUNNR.
ENDSELECT.
ULINE.
*SECONDARY LIST ACCESS
AT LINE-SELECTION.
IF SY-LSIND = 1.
PERFORM SALES_ORD.
ENDIF.
IF SY-LSIND = 2.
PERFORM ITEM_DET.
ENDIF.
*TOP OF PAGE
TOP-OF-PAGE.
FORMAT COLOR 1.
WRITE : 'CUSTOMER DETAILS'.
FORMAT COLOR 1 OFF.
ULINE.
FORMAT COLOR 3.
WRITE : 1 SY-VLINE,
3 'CUSTOMER NO.',
16 SY-VLINE,
18 'NAME',
61 SY-VLINE,
63 'CITY',
86 SY-VLINE,
88 'COUNTRY',
103 SY-VLINE.
ULINE.
FORMAT COLOR 3 OFF.
*TOP OF PAGE FOR SECONDARY LISTS
TOP-OF-PAGE DURING LINE-SELECTION.
*TOP OF PAGE FOR 1ST SECONDARY LIST
IF SY-LSIND = 1.
ULINE.
FORMAT COLOR 1.
WRITE : 'SALES ORDER DETAILS'.
ULINE.
FORMAT COLOR 1 OFF.
FORMAT COLOR 3.
WRITE : 1 SY-VLINE,
3 'CUSTOMER NO.',
16 SY-VLINE,
18 'SALES ORDER NO.',
40 SY-VLINE,
42 'DATE',
60 SY-VLINE,
62 'CREATOR',
85 SY-VLINE,
87 'DOC DATE',
103 SY-VLINE.
ULINE.
ENDIF.
FORMAT COLOR 3 OFF.
*TOP OF PAGE FOR 2ND SECONDARY LIST
IF SY-LSIND = 2.
ULINE.
FORMAT COLOR 1.
WRITE : 'ITEM DETAILS'.
ULINE.
FORMAT COLOR 1 OFF.
FORMAT COLOR 3.
WRITE : 1 SY-VLINE,
3 'SALES ORDER NO.',
40 SY-VLINE,
42 'SALES ITEM NO.',
60 SY-VLINE,
62 'ORDER QUANTITY',
103 SY-VLINE.
ULINE.
ENDIF.
FORMAT COLOR 3 OFF.
*END OF PAGE
END-OF-PAGE.
ULINE.
WRITE :'USER :',SY-UNAME,/,'DATE :', SY-DATUM, 85 'END OF PAGE:',
SY-PAGNO.
SKIP.
*&---------------------------------------------------------------------*
*& Form SALES_ORD
*&
*& FIRST SECONDARY LIST FORM
*&---------------------------------------------------------------------*
FORM SALES_ORD .
SELECT KUNNR VBELN ERDAT ERNAM AUDAT INTO
(VBAK-KUNNR, VBAK-VBELN, VBAK-ERDAT, VBAK-ERNAM, VBAK-AUDAT)
FROM VBAK
WHERE KUNNR = KNA1-KUNNR.
WRITE:/1 SY-VLINE,
VBAK-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,
16 SY-VLINE,
VBAK-VBELN UNDER 'SALES ORDER NO.' HOTSPOT ON,
40 SY-VLINE,
VBAK-ERDAT UNDER 'DATE',
60 SY-VLINE,
VBAK-ERNAM UNDER 'CREATOR',
85 SY-VLINE,
VBAK-AUDAT UNDER 'DOC DATE',
103 SY-VLINE.
*HIDE* : VBAK-VBELN.
ENDSELECT.
ULINE.
ENDFORM. " SALES_ORD
*&---------------------------------------------------------------------*
*& Form ITEM_DET
*&
*& SECOND SECONDARY LIST FORM
*&---------------------------------------------------------------------*
FORM ITEM_DET .
SELECT VBELN POSNR KWMENG INTO
(VBAP-VBELN, VBAP-POSNR, VBAP-KWMENG)
FROM VBAP
WHERE VBELN = VBAK-VBELN.
WRITE : /1 SY-VLINE,
VBAP-VBELN UNDER 'SALES ORDER NO.',
40 SY-VLINE,
VBAP-POSNR UNDER 'SALES ITEM NO.',
60 SY-VLINE,
VBAP-KWMENG UNDER 'ORDER QUANTITY',
103 SY-VLINE.
ENDSELECT.
ULINE.
ENDFORM.Thanks and regards
‎2008 Aug 30 11:55 AM
Hi
*Data Declarations ...................................................
*---------------------------------------------------------------------*
* Field String fs_spfli *
*---------------------------------------------------------------------*
DATA:
BEGIN OF fs_spfli,
carrid LIKE spfli-carrid, " Airline Code
connid LIKE spfli-connid, " Flight Connection Number
airpfrom LIKE spfli-airpfrom, " Departure airport
airpto LIKE spfli-airpto, " Destination airport
deptime LIKE spfli-deptime, " Departure time
arrtime LIKE spfli-arrtime, " Arrival time
END OF fs_spfli.
*Data Declarations ...................................................
*---------------------------------------------------------------------*
* Field String fs_sflight *
*---------------------------------------------------------------------*
DATA:
BEGIN OF fs_sflight,
carrid LIKE spfli-carrid, " Airline Code
connid LIKE spfli-connid, " Flight Connection Number
date LIKE sflight-fldate, " Flight date
seatsmax LIKE sflight-seatsmax, " Maximum capacity in economy
" class
seatsocc LIKE sflight-seatsocc, " Occupied seats in economy
" class
END OF fs_sflight.
*---------------------------------------------------------------------*
* Internal Table To Hold spfli Table Details *
*---------------------------------------------------------------------*
DATA:
t_spfli LIKE
STANDARD TABLE
OF fs_spfli.
*---------------------------------------------------------------------*
* Internal Table To Hold sflight Table Details *
*---------------------------------------------------------------------*
DATA:
t_sflight LIKE
STANDARD TABLE
OF fs_sflight.
DATA:
w_checkbox TYPE c,
w_lines TYPE i,
w_currentline TYPE i,
w_last_line TYPE i.
TOP-OF-PAGE.
PERFORM top_flight_data.
TOP-OF-PAGE DURING LINE-SELECTION.
PERFORM top_sflight_data.
*"--------------------------------------------------------------------*
* AT SELECTION-SCREEN EVENT *
*"--------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM get_flight_data.
*&---------------------------------------------------------------------*
*& Form TOP_FLIGHT_DATA
*---------------------------------------------------------------------*
* This subroutine DISPLAY to_flight_data *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM top_flight_data .
SKIP 2.
FORMAT COLOR 5 ON.
WRITE:
/5(15) 'Airline Code'(010),
(15) 'Flight Connection Number'(011),
(10) 'Departure airport'(012),
(10) 'Destination airport'(013),
(10) 'Departure time'(014),
(15) 'Arrival time'(015).
FORMAT COLOR OFF.
SKIP 2.
ENDFORM. " TOP_FLIGHT_DATA
*"--------------------------------------------------------------------*
* END-OF-SELECTION EVENT *
*"--------------------------------------------------------------------*
END-OF-SELECTION.
SET PF-STATUS 'MENU'.
PERFORM display_flight_data.
AT LINE-SELECTION.
IF sy-lsind EQ 1.
PERFORM get_sflight_data.
PERFORM display_sflight_data.
ENDIF. " IF SY-LSIND..
AT USER-COMMAND.
SET PF-STATUS space.
CASE sy-ucomm.
WHEN 'SELECTALL'.
w_checkbox = 'X'.
PERFORM modify_checkbox.
WHEN 'DSELECTALL'.
w_checkbox = ' '.
PERFORM modify_checkbox.
WHEN 'DISPLAY'.
PERFORM get_sflight_data1 .
ENDCASE. " CASE SY-UCOMM
*&---------------------------------------------------------------------*
*& Form GET_FLIGHT_DATA
*---------------------------------------------------------------------*
* This subroutine retrieves necessary data from SPFLI *
* *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM get_flight_data .
SELECT carrid " Airline Code
connid " Flight Connection Number
airpfrom " Departure airport
airpto " Destination airport
deptime " Departure time
arrtime " Arrival time
FROM spfli
INTO TABLE t_spfli.
ENDFORM. " GET_FLIGHT_DATA
*&---------------------------------------------------------------------*
*& Form DISPLAY_FLIGHT_DATA
*---------------------------------------------------------------------*
* This subroutine DISPLAY necessary data from SPFLI *
* *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM display_flight_data .
LOOP AT t_spfli INTO fs_spfli.
WRITE:
/02 w_checkbox AS CHECKBOX,
fs_spfli-carrid UNDER text-010,
fs_spfli-connid UNDER text-011,
fs_spfli-airpfrom UNDER text-012,
fs_spfli-airpto UNDER text-013,
fs_spfli-deptime UNDER text-014,
fs_spfli-arrtime UNDER text-015.
*HIDE:*
*fs_spfli-carrid,*
*fs_spfli-connid.*
ENDLOOP. " LOOP AT T_SPFLI INTO...
w_last_line = sy-linno.
ENDFORM. " DISPLAY_FLIGHT_DATA
*&---------------------------------------------------------------------*
*& Form GET_SFLIGHT_DATA
*---------------------------------------------------------------------*
* This subroutine retrieves necessary data from SFLIGHT *
* *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM get_sflight_data .
SELECT carrid " Airline Code
connid " Flight Connection Number
fldate " Flight date
seatsmax " Maximum capacity in economy
" class
seatsocc " Occupied seats in economy
" class
FROM sflight
INTO TABLE t_sflight
WHERE carrid EQ fs_spfli-carrid
AND connid EQ fs_spfli-connid.
ENDFORM. " GET_SFLIGHT_DATA
*&---------------------------------------------------------------------*
*& Form top_sflight_data
*---------------------------------------------------------------------*
* This subroutine to Display to_sflight_data *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
form top_sflight_data .
SKIP 2.
FORMAT COLOR 3 ON.
WRITE:
/1(15) 'Airline Code'(010) LEFT-JUSTIFIED,
15(15) 'Flight Connection Number'(011) LEFT-JUSTIFIED,
25(15) 'Flight date'(016) LEFT-JUSTIFIED,
38(17) 'Maximum capacity'(017) LEFT-JUSTIFIED,
48(15) 'Occupied seats'(018) LEFT-JUSTIFIED.
SKIP 2.
FORMAT COLOR OFF.
endform. " top_sflight_data
*&---------------------------------------------------------------------*
*& Form DISPLAY_SFLIGHT_DATA
*---------------------------------------------------------------------*
* This subroutine DISPLAY necessary data from SFLIGHT *
* *
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM display_sflight_data .
LOOP AT t_sflight INTO fs_sflight.
WRITE:
/ fs_sflight-carrid UNDER TEXT-010,
fs_sflight-connid UNDER TEXT-011,
fs_sflight-date UNDER TEXT-016,
fs_sflight-seatsmax UNDER TEXT-017,
fs_sflight-seatsocc UNDER TEXT-018.
ENDLOOP. " LOOP AT T_SFLIGHT INTO...
ENDFORM. " DISPLAY_SFLIGHT_DATA
*&---------------------------------------------------------------------*
*& Form GET_SFLIGHT_DATA1
*---------------------------------------------------------------------*
* This subroutine retrieves necessary data from SFLIGHT
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM get_sflight_data1 .
DATA
lw_checkbox TYPE c.
DESCRIBE TABLE t_spfli LINES w_lines.
DO w_last_line TIMES.
w_currentline = 2 + sy-index.
CLEAR:
w_checkbox,
t_spfli.
READ LINE w_currentline FIELD VALUE
w_checkbox INTO lw_checkbox.
IF sy-subrc EQ 0.
IF lw_checkbox EQ 'X'.
PERFORM get_sflight_data .
PERFORM display_sflight_data .
ENDIF. " IF LW_CHECKBOX..
ENDIF. " IF SY-SUBRC..
ENDDO. " DO W_LAST_LINE
ENDFORM. " GET_SFLIGHT_DATA1
*&---------------------------------------------------------------------*
*& Form MODIFY_CHECKBOX
*---------------------------------------------------------------------*
* This subroutine MODIFIES accordingly
*---------------------------------------------------------------------**
* There are no interface parameters to be passed to this subroutine.
*----------------------------------------------------------------------*
FORM modify_checkbox .
CLEAR w_currentline.
WHILE w_currentline LE w_last_line.
READ LINE w_currentline.
MODIFY LINE w_currentline FIELD VALUE w_checkbox FROM w_checkbox.
ADD 1 TO w_currentline.
ENDWHILE. " WHILE w_line LE w_last_line.
ENDFORM. " MODIFY_CHECKBOXRegards,
Sravanthi