08-27-2008 1:53 PM
HI All,
How to get check boxes at the output list?
If I select 1 check box i.e .that record should be display in next level . How can I achieve the same?
Thanks In Advance.
08-27-2008 1:54 PM
HI
DATA :
w_c TYPE c,
w_line TYPE sy-lisel,
w_c1 type c.
WRITE :
w_c AS CHECKBOX , 'INDIA' .
AT LINE-SELECTION.
w_line = sy-lisel.
read line sy-lilli field value w_c into w_c1.
IF w_c1 IS INITIAL.
WRITE :
/ 'Not checked'.
ELSEIF w_c1 EQ 'X'.
WRITE :
/ 'Checked'.
ENDIF.
SY-LILLI is a system field which will capture the value of the selected line all you ave to do is loop the logic of course there need to be done some modifications to the logic but the main is READ LINE
Regards
Pavan
08-27-2008 1:54 PM
HI
DATA :
w_c TYPE c,
w_line TYPE sy-lisel,
w_c1 type c.
WRITE :
w_c AS CHECKBOX , 'INDIA' .
AT LINE-SELECTION.
w_line = sy-lisel.
read line sy-lilli field value w_c into w_c1.
IF w_c1 IS INITIAL.
WRITE :
/ 'Not checked'.
ELSEIF w_c1 EQ 'X'.
WRITE :
/ 'Checked'.
ENDIF.
SY-LILLI is a system field which will capture the value of the selected line all you ave to do is loop the logic of course there need to be done some modifications to the logic but the main is READ LINE
Regards
Pavan
08-27-2008 2:07 PM
if it is a alv report u can get it in fieldcatlog structure
after that to catch the particular check record use Read Line Statement
if it is ordinary report
write : w_checkbox as checkbox, '' .
Regards
Anbu B
08-27-2008 2:10 PM
Hello Pravin.
I would like to suggest my opinion in Addition to Pavan's post,
The output controlling factor is the list.
If you want to have check boxes in the Primary or Secondary list,
Make sure that the SY-LSIND field is maintained.
For Primary List - SY-LSIND = 0.
For Secondary List - SY-LSIND = 1 or more.
Hope that'll be fine.
Good Luck & Regards.
Harsh Dave
08-27-2008 2:11 PM
Here's an example for ur query ...
Cheers,
Antony.
Output of two checkbox fields and evaluation of the user inputs at the event AT LINE-SELECTION.
REPORT test NO STANDARD PAGE HEADING.
DATA: check1 TYPE c LENGTH 1 VALUE 'X',
check2 TYPE c LENGTH 1 VALUE ' '.
START-OF-SELECTION.
WRITE: / check1 AS CHECKBOX, 'Checkbox 1',
/ check2 AS CHECKBOX, 'Checkbox 2'.
AT LINE-SELECTION.
READ: LINE 1 FIELD VALUE check1,
LINE 2 FIELD VALUE check2.
08-27-2008 2:20 PM
Hii,
Check this sample code
REPORT z_sdn.
*" Data declarations...................................................
*"--------------------------------------------------------------------*
* Work variables *
*"--------------------------------------------------------------------*
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,
BEGIN OF fs_sflight,
carrid LIKE sflight-carrid, " Airline Code
connid LIKE sflight-connid, " Flight Connection Number
fldate LIKE sflight-fldate, " Flight date
seatsmax LIKE sflight-seatsmax, " Maximum seats in economy class
seatsocc LIKE sflight-seatsocc, " Occupied seats in economyclass
END OF fs_sflight,
w_checkbox TYPE c, " Variable for checkbox
w_currentline TYPE i, " Variable to display current
" line
w_lines TYPE i,
w_read TYPE c .
*"--------------------------------------------------------------------*
* Internal Table to hold flight schedule information *
*"--------------------------------------------------------------------*
DATA:
t_spfli LIKE
TABLE OF
fs_spfli.
*"--------------------------------------------------------------------*
* Internal Table to hold flight information *
*"--------------------------------------------------------------------*
DATA:
t_sflight LIKE
TABLE OF
fs_sflight,
t_sflight1 LIKE t_sflight.
*"--------------------------------------------------------------------*
* START-OF-SELECTION Event *
*"--------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM get_data_spfli.
*"--------------------------------------------------------------------*
* END-OF-SELECTION Event *
*"--------------------------------------------------------------------*
END-OF-SELECTION.
SET PF-STATUS 'MENU'.
PERFORM display_data_spfli.
*"--------------------------------------------------------------------*
* TOP-OF-PAGE Event *
*"--------------------------------------------------------------------*
TOP-OF-PAGE.
PERFORM header_table_spfli.
*"--------------------------------------------------------------------*
* AT LINE-SELECTION EVENT *
*"--------------------------------------------------------------------*
AT LINE-SELECTION.
SET PF-STATUS space.
IF sy-lsind EQ 1 AND sy-lilli GE 4.
PERFORM get_data_sflight.
PERFORM display_data_sflight.
PERFORM flag_line.
ENDIF. " IF sy-lsind EQ 1..
*"--------------------------------------------------------------------*
* AT USER-COMMAND *
*"--------------------------------------------------------------------*
AT USER-COMMAND.
IF sy-lsind EQ 1.
SET PF-STATUS space.
CASE sy-ucomm.
WHEN 'DISPLAY'.
PERFORM get_data_sflight1.
PERFORM display_data_sflight.
WHEN 'SELECTALL'.
PERFORM select_all.
PERFORM flag_line.
WHEN 'DESELECTAL'.
PERFORM deselect_all.
PERFORM flag_line.
ENDCASE. " CASE sy-ucomm
ENDIF. " IF sy-lsind EQ 1
*"--------------------------------------------------------------------*
* TOP-OF-PAGE DURING LINE-SELECTION *
*"--------------------------------------------------------------------*
TOP-OF-PAGE DURING LINE-SELECTION.
PERFORM sec_list_heading.
*&---------------------------------------------------------------------*
*& Form get_data_spfli
*&---------------------------------------------------------------------*
* This subroutine fetches the data from SPFLI
*----------------------------------------------------------------------*
* This subroutine does not have parameters to pass
*----------------------------------------------------------------------*
FORM get_data_spfli .
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_DATA_SPFLI
*&---------------------------------------------------------------------*
*& Form display_data_spfli
*&---------------------------------------------------------------------*
* This subroutine displays the data of SPFLI
*----------------------------------------------------------------------*
* This subroutine does not have parameters to pass
*----------------------------------------------------------------------*
FORM display_data_spfli .
LOOP AT t_spfli INTO fs_spfli.
WRITE: /02 w_checkbox AS CHECKBOX,
05 w_read,
fs_spfli-carrid UNDER text-001,
fs_spfli-connid UNDER text-002,
fs_spfli-airpfrom UNDER text-003,
fs_spfli-airpto UNDER text-004,
fs_spfli-deptime UNDER text-005,
fs_spfli-arrtime UNDER text-006.
HIDE:
fs_spfli-carrid,
fs_spfli-connid.
ENDLOOP. " LOOP AT t_spfli..
ENDFORM. " DISPLAY_DATA_SPFLI
*&---------------------------------------------------------------------*
*& Form header_table_spfli
*&---------------------------------------------------------------------*
* This subroutine diplays the headings of table spfli
*----------------------------------------------------------------------*
* This subroutine does not have parameters to pass
*----------------------------------------------------------------------*
FORM header_table_spfli .
WRITE: /10 text-001 COLOR 4,
25 text-002 COLOR 4,
40 text-003 COLOR 4,
55 text-004 COLOR 4,
70 text-005 COLOR 4,
85 text-006 COLOR 4.
ENDFORM. " HEADER_TABLE
*&---------------------------------------------------------------------*
*& Form get_data_sflight
*&---------------------------------------------------------------------*
* This subroutine fetches the data from SFLIGHT
*----------------------------------------------------------------------*
* This subroutine does not have interface parameters to pass
*----------------------------------------------------------------------*
FORM get_data_sflight .
SELECT carrid " Airline Code
connid " Flight Connection Number
fldate " Flight date
seatsmax " Maximum seats in economy class
seatsocc " Occupied seats in economyclass
FROM sflight
INTO TABLE t_sflight
WHERE carrid EQ fs_spfli-carrid
AND connid EQ fs_spfli-connid.
ENDFORM. " GET_DATA_SFLIGHT
*&---------------------------------------------------------------------*
*& Form display_data_sflight
*&---------------------------------------------------------------------*
* This subroutine displays the SFLIGHT data
*----------------------------------------------------------------------*
* This subroutine does not have interface parameters to pass
*----------------------------------------------------------------------*
FORM display_data_sflight .
LOOP AT t_sflight INTO fs_sflight.
WRITE: / fs_sflight-carrid UNDER text-001,
fs_sflight-connid UNDER text-002,
fs_sflight-fldate UNDER text-007,
fs_sflight-seatsmax UNDER text-008 LEFT-JUSTIFIED,
fs_sflight-seatsocc UNDER text-009 LEFT-JUSTIFIED.
ENDLOOP.
CLEAR: fs_sflight.
ENDFORM. " DISPLAY_DATA_sflight
*&---------------------------------------------------------------------*
*& Form sec_list_heading
*&---------------------------------------------------------------------*
* This subroutine diplays the headings of table spfli
*----------------------------------------------------------------------*
* This subroutine does not have interface parameters to pass
*----------------------------------------------------------------------*
FORM sec_list_heading .
WRITE: /2 text-001 COLOR 4,
15 text-002 COLOR 4,
33 text-007 COLOR 4,
45 text-008 COLOR 4,
60 text-009 COLOR 4.
ENDFORM. " SEC_LIST_HEADING
*&---------------------------------------------------------------------*
*& Form get_data_sflight1
*&---------------------------------------------------------------------*
* This subroutine displays the data from SFLIGHT according to checkbox
* clicked.
*----------------------------------------------------------------------*
* This subroutine does not have interface parameters to pass
*----------------------------------------------------------------------*
FORM get_data_sflight1 .
DATA:
lw_checkbox TYPE c.
DESCRIBE TABLE t_spfli LINES w_lines.
DO w_lines TIMES.
w_currentline = 3 + sy-index.
CLEAR:
w_checkbox,
fs_spfli.
READ LINE w_currentline FIELD VALUE
w_checkbox INTO lw_checkbox
fs_spfli-carrid INTO fs_spfli-carrid
fs_spfli-connid INTO fs_spfli-connid.
IF sy-subrc EQ 0.
IF lw_checkbox EQ 'X'.
SELECT carrid " Airline Code
connid " Flight Connection Number
fldate " Flight Date
seatsmax " Max Seats
seatsocc " Occupied Seats
FROM sflight
INTO TABLE t_sflight1
WHERE carrid EQ fs_spfli-carrid
AND connid EQ fs_spfli-connid.
IF sy-subrc EQ 0.
APPEND LINES OF t_sflight1 TO t_sflight.
ENDIF. " IF sy-subrc EQ 0.
ENDIF. " IF lw_checkbox EQ 'X'
ENDIF. " IF sy-subrc EQ 0.
ENDDO. " DO w_lines TIMES
ENDFORM. " GET_DATA_SFLIGHT1
*&---------------------------------------------------------------------*
*& Form select_all
*&---------------------------------------------------------------------*
* This subroutine selects all the records of SPFLI
*----------------------------------------------------------------------*
* This subroutine does not have interface parameters to pass
*----------------------------------------------------------------------*
FORM select_all .
DESCRIBE TABLE t_spfli LINES w_lines.
DO w_lines TIMES.
w_currentline = sy-index + 3.
READ LINE w_currentline FIELD VALUE
w_checkbox INTO w_checkbox.
IF sy-subrc = 0.
MODIFY LINE w_currentline FIELD VALUE
w_checkbox FROM 'X'.
ENDIF. " IF sy-subrc = 0.
ENDDO. " DO lw_line TIMES.
ENDFORM. " SELECT_ALL
*&---------------------------------------------------------------------*
*& Form deselect_all
*&---------------------------------------------------------------------*
* This subroutine deselects all the records of SPFLI
*----------------------------------------------------------------------*
* This subroutine does not have interface parameters to pass
*----------------------------------------------------------------------*
FORM deselect_all .
DESCRIBE TABLE t_spfli LINES w_lines.
DO w_lines TIMES.
w_currentline = sy-index + 3.
READ LINE w_currentline FIELD VALUE
w_checkbox INTO w_checkbox.
IF sy-subrc = 0.
MODIFY LINE w_currentline FIELD VALUE
w_checkbox FROM ' '.
ENDIF. " IF sy-subrc = 0.
ENDDO. " DO lw_line TIMES.
ENDFORM. " DESELECT_ALL
*&---------------------------------------------------------------------*
*& Form flag_line
*&---------------------------------------------------------------------*
* This subroutine flags the line which has been read
*----------------------------------------------------------------------*
* This subroutine does not have interface parameters to pass
*----------------------------------------------------------------------*
FORM flag_line .
DESCRIBE TABLE t_spfli LINES w_lines.
DO w_lines TIMES.
w_checkbox = 'X'.
READ LINE sy-lilli FIELD VALUE
w_read INTO w_read
w_checkbox INTO w_checkbox.
IF sy-subrc EQ 0.
MODIFY CURRENT LINE
FIELD FORMAT w_checkbox INPUT OFF
FIELD VALUE w_read FROM '*'.
ENDIF. " IF sy-subrc EQ 0
ENDDO. " DO w_lines TIMES
ENDFORM. " FLAG_LINE
Regards
Abhijeet
08-27-2008 2:36 PM
Hello There.
Sample Code for Flight Details,
REPORT Z_FLIGHT_EIN NO STANDARD PAGE HEADING.
TABLES: sflight, spfli.
PARAMETERS:
p_carrid LIKE spfli-carrid.
DATA:
BEGIN OF fs_spflis,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
airpfrom LIKE spfli-airpfrom,
airpto LIKE spfli-airpto,
deptime LIKE spfli-deptime,
arrtime LIKE spfli-arrtime,
END OF fs_spflis.
DATA:
BEGIN OF fs_sflights,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
seatsmax LIKE sflight-seatsmax,
seatsocc LIKE sflight-seatsocc,
END OF fs_sflights.
DATA:
t_spflis LIKE
STANDARD TABLE
OF fs_spflis.
DATA:
t_sflights LIKE
STANDARD TABLE
OF fs_sflights.
DATA:
box(1) TYPE c,
w_linno LIKE sy-linno.
START-OF-SELECTION.
SET PF-STATUS 'CHECK'.
SELECT carrid
connid
airpfrom
airpto
deptime
arrtime
FROM spfli
INTO TABLE
t_spflis
WHERE carrid = p_carrid.
WRITE:/5 'Carrier id'(001) COLOR 1 INTENSIFIED,
25 'Connect id'(002) COLOR 2 INTENSIFIED,
45 'Deptr Airpt'(003) COLOR 3 INTENSIFIED,
65 'Destn Airpt'(004) COLOR 4 INTENSIFIED,
85 'Deptr Time'(005) COLOR 5 INTENSIFIED,
105 'Arriv Time'(006) COLOR 6 INTENSIFIED.
SKIP 1.
LOOP AT t_spflis INTO fs_spflis.
WRITE:/ box AS CHECKBOX,
fs_spflis-carrid UNDER text-001,
fs_spflis-connid UNDER text-002,
fs_spflis-airpfrom UNDER text-003,
fs_spflis-airpto UNDER text-004,
fs_spflis-deptime UNDER text-005,
fs_spflis-arrtime UNDER text-006.
HIDE: fs_spflis-carrid, fs_spflis-connid.
ENDLOOP.
END-OF-SELECTION.
w_linno = sy-linno - 1.
TOP-OF-PAGE.
WRITE: 'List of flight details'.
ULINE.
AT USER-COMMAND.
SELECT carrid
connid
fldate
seatsmax
seatsocc
FROM sflight
INTO TABLE
t_sflights.
WRITE:/5 'Carrier id'(001) COLOR 1 INTENSIFIED,
25 'Connect id'(002) COLOR 2 INTENSIFIED,
45 'Flight date'(009) COLOR 3 INTENSIFIED,
60 'Max seats'(007) COLOR 4 INTENSIFIED,
75 'Occp seats'(008) COLOR 5 INTENSIFIED.
SKIP 1.
CASE sy-ucomm.
WHEN 'READ'.
box = space.
SET PF-STATUS 'CHECK' EXCLUDING 'READ'.
DO w_linno TIMES.
READ LINE sy-index FIELD VALUE box INTO box.
IF box = 'X'.
LOOP AT t_sflights INTO fs_sflights
WHERE carrid = fs_spflis-carrid
AND connid = fs_spflis-connid.
WRITE:/ fs_sflights-carrid UNDER text-001,
fs_sflights-connid UNDER text-002,
fs_sflights-fldate UNDER text-009,
fs_sflights-seatsmax UNDER text-007,
fs_sflights-seatsocc UNDER text-008.
ENDLOOP.
ENDIF.
ENDDO.
ENDCASE.
Hope this works out well.
Good Luck & Regards.
Harsh Dave