Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

regarding check box

Former Member
0 Likes
1,126

how will create check box in basic list display.

when we select one check box basic list then we need to go second secondary list

could u plz explain clearly with code and comments.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,092

Hi..........

u can create check box on list as below

write check as checkbox.

go through the following code

*" Data Declaration..........................................

"----


DATA:

W_CHECK TYPE C , " Check Box

W_STAR TYPE C VALUE ''. " Star Variable

*" Declaration of Structures to hold Flight information.

"----


DATA:

BEGIN OF FS_SPFLI,

CARRID TYPE SPFLI-CARRID, " Carrier Id

CONNID TYPE SPFLI-CONNID, " Connection Id

AIRPFROM TYPE SPFLI-AIRPFROM, " Depatrure Airport

AIRPTO TYPE SPFLI-AIRPTO, " Destination Airport

DEPTIME TYPE SPFLI-DEPTIME, " Departure Time

ARRTIME TYPE SPFLI-ARRTIME, " Arrival Time

END OF FS_SPFLI.

*" Declaration of Structures to hold Flight information.

"----


DATA:

BEGIN OF FS_SSPFLI,

CARRID TYPE SPFLI-CARRID, " Carrier Id

CONNID TYPE SPFLI-CONNID, " Connection Id

END OF FS_SSPFLI.

*" Declaration of Structure to hold Seats Occupancy information

"----


DATA:

BEGIN OF FS_SFLIGHT,

FLDATE TYPE SFLIGHT-FLDATE, " Flight Date

SEATSMAX TYPE SFLIGHT-SEATSMAX," Maximum Seats

SEATSOCC TYPE SFLIGHT-SEATSOCC," Occupied Seats

END OF FS_SFLIGHT.

*" Tables Declaration to hold Flight information

"----


DATA:

T_SPFLI LIKE

STANDARD TABLE

OF FS_SPFLI.

*" Tables Declaration to hold Flight information

"----


DATA:

T_SSPFLI LIKE STANDARD TABLE OF FS_SPFLI.

*" Tables Declaration to hold Seats Occupancy information

"----


DATA:

T_SFLIGHT LIKE STANDARD TABLE OF FS_SFLIGHT.

*" START-OF-SELECTION EVENT..........................................

"----


START-OF-SELECTION.

PERFORM SELECT_SPFLI.

*" END-OF-SELECTION EVENT..........................................

"----


END-OF-SELECTION.

SET PF-STATUS 'FLIGHT'.

PERFORM DISPLAY_SPFLI.

*" AT USER-COMMAND EVENT..........................................

"----


AT USER-COMMAND.

CASE SY-UCOMM.

WHEN 'FLIGHT'.

PERFORM DISPLAY_SFLIGHT.

ENDCASE. " CASE SY-UCOMM..

----


  • Form SELECT_SPFLI

----


  • This subroutine selects the SPFLI details. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM SELECT_SPFLI .

SELECT CARRID " Carrier Id

CONNID " Connection Id

AIRPFROM " Depatrure Airport

AIRPTO " Destination Airport

DEPTIME " Departure Time

ARRTIME " Arrival Time

FROM SPFLI

INTO TABLE T_SPFLI.

IF SY-SUBRC NE 0.

MESSAGE ' NO DATA FOUND ' TYPE 'I'.

ENDIF. " IF SY-SUBRC EQ 0.

ENDFORM. " SELECT_SPFLI

----


  • Form DISPLAY_SPFLI

----


  • This subroutine displays the SPFLI details. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM DISPLAY_SPFLI .

WRITE:5'CarrID'(001),

15 'ConnID'(002),

30 'Des Airport'(003),

45 'Dept Airport'(004),

60 'Des Time'(005),

75 'Arr Time'(006).

SKIP.

LOOP AT T_SPFLI INTO FS_SPFLI.

WRITE:/ W_CHECK AS CHECKBOX.

WRITE:5 FS_SPFLI-CARRID,

15 FS_SPFLI-CONNID,

30 FS_SPFLI-AIRPFROM,

45 FS_SPFLI-AIRPTO,

60 FS_SPFLI-DEPTIME,

75 FS_SPFLI-ARRTIME.

WRITE:100 W_STAR.

ENDLOOP. " LOOP AT.....

ENDFORM. " DISPLAY_SPFLI

----


  • Form DISPLAY_SFLIGHT

----


  • This subroutine displays the SFLIGHT details. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM DISPLAY_SFLIGHT .

DATA:

LW_LINES TYPE I, " No OF Lines

LW_LINENO TYPE I, " Line Number

LW_COUNT TYPE I. " Counter

DESCRIBE TABLE T_SPFLI LINES LW_LINES.

LW_LINES = LW_LINES + 5.

DO LW_LINES TIMES.

READ LINE LW_LINENO

FIELD VALUE W_CHECK INTO W_CHECK

FS_SPFLI-CARRID INTO FS_SPFLI-CARRID

FS_SPFLI-CONNID INTO FS_SPFLI-CONNID.

IF W_CHECK EQ 'X'.

W_STAR = '*'.

MODIFY LINE LW_LINENO FIELD VALUE W_STAR.

MODIFY LINE LW_LINENO FIELD FORMAT W_CHECK INPUT OFF .

ADD 1 TO LW_COUNT.

FS_SSPFLI-CARRID = FS_SPFLI-CARRID.

FS_SSPFLI-CONNID = FS_SPFLI-CONNID.

APPEND FS_SSPFLI TO T_SSPFLI.

CLEAR T_SPFLI.

ENDIF. " IF W_CHECKBOX.....

ADD 1 TO LW_LINENO.

ENDDO. " DO LW_LINES....

IF LW_LINENO EQ 0.

MESSAGE ' NO RECORDS SELECTED' TYPE 'I'.

ENDIF. " IF LW_LINENO.....

SELECT FLDATE " Flight date

SEATSMAX " Maximum Seats

SEATSOCC " Seats occupied

FROM SFLIGHT

INTO TABLE T_SFLIGHT

FOR ALL ENTRIES IN T_SSPFLI

WHERE CARRID EQ T_SSPFLI-CARRID

AND CONNID EQ T_SSPFLI-CONNID.

IF SY-SUBRC NE 0.

MESSAGE ' NO DATA FOUND ' TYPE 'I'.

ENDIF. " IF SY-SUBRC EQ 0.

WRITE:/ 'Flight date '(007),20' Max seats'(008),40'Occ seats'(009).

SKIP.

LOOP AT T_SFLIGHT INTO FS_SFLIGHT.

WRITE:/ FS_SFLIGHT-FLDATE,

20 FS_SFLIGHT-SEATSMAX,

40 FS_SFLIGHT-SEATSOCC.

ENDLOOP. " LOOP AT......

ENDFORM. " DISPLAY_SFLIGHT

Message was edited by:

Haritha

how will create check box in basic list display.

when we select one check box basic list then we need to go second secondary list

could u plz explain clearly with code and comments.

9 REPLIES 9
Read only

Former Member
0 Likes
1,093

Hi..........

u can create check box on list as below

write check as checkbox.

go through the following code

*" Data Declaration..........................................

"----


DATA:

W_CHECK TYPE C , " Check Box

W_STAR TYPE C VALUE ''. " Star Variable

*" Declaration of Structures to hold Flight information.

"----


DATA:

BEGIN OF FS_SPFLI,

CARRID TYPE SPFLI-CARRID, " Carrier Id

CONNID TYPE SPFLI-CONNID, " Connection Id

AIRPFROM TYPE SPFLI-AIRPFROM, " Depatrure Airport

AIRPTO TYPE SPFLI-AIRPTO, " Destination Airport

DEPTIME TYPE SPFLI-DEPTIME, " Departure Time

ARRTIME TYPE SPFLI-ARRTIME, " Arrival Time

END OF FS_SPFLI.

*" Declaration of Structures to hold Flight information.

"----


DATA:

BEGIN OF FS_SSPFLI,

CARRID TYPE SPFLI-CARRID, " Carrier Id

CONNID TYPE SPFLI-CONNID, " Connection Id

END OF FS_SSPFLI.

*" Declaration of Structure to hold Seats Occupancy information

"----


DATA:

BEGIN OF FS_SFLIGHT,

FLDATE TYPE SFLIGHT-FLDATE, " Flight Date

SEATSMAX TYPE SFLIGHT-SEATSMAX," Maximum Seats

SEATSOCC TYPE SFLIGHT-SEATSOCC," Occupied Seats

END OF FS_SFLIGHT.

*" Tables Declaration to hold Flight information

"----


DATA:

T_SPFLI LIKE

STANDARD TABLE

OF FS_SPFLI.

*" Tables Declaration to hold Flight information

"----


DATA:

T_SSPFLI LIKE STANDARD TABLE OF FS_SPFLI.

*" Tables Declaration to hold Seats Occupancy information

"----


DATA:

T_SFLIGHT LIKE STANDARD TABLE OF FS_SFLIGHT.

*" START-OF-SELECTION EVENT..........................................

"----


START-OF-SELECTION.

PERFORM SELECT_SPFLI.

*" END-OF-SELECTION EVENT..........................................

"----


END-OF-SELECTION.

SET PF-STATUS 'FLIGHT'.

PERFORM DISPLAY_SPFLI.

*" AT USER-COMMAND EVENT..........................................

"----


AT USER-COMMAND.

CASE SY-UCOMM.

WHEN 'FLIGHT'.

PERFORM DISPLAY_SFLIGHT.

ENDCASE. " CASE SY-UCOMM..

----


  • Form SELECT_SPFLI

----


  • This subroutine selects the SPFLI details. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM SELECT_SPFLI .

SELECT CARRID " Carrier Id

CONNID " Connection Id

AIRPFROM " Depatrure Airport

AIRPTO " Destination Airport

DEPTIME " Departure Time

ARRTIME " Arrival Time

FROM SPFLI

INTO TABLE T_SPFLI.

IF SY-SUBRC NE 0.

MESSAGE ' NO DATA FOUND ' TYPE 'I'.

ENDIF. " IF SY-SUBRC EQ 0.

ENDFORM. " SELECT_SPFLI

----


  • Form DISPLAY_SPFLI

----


  • This subroutine displays the SPFLI details. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM DISPLAY_SPFLI .

WRITE:5'CarrID'(001),

15 'ConnID'(002),

30 'Des Airport'(003),

45 'Dept Airport'(004),

60 'Des Time'(005),

75 'Arr Time'(006).

SKIP.

LOOP AT T_SPFLI INTO FS_SPFLI.

WRITE:/ W_CHECK AS CHECKBOX.

WRITE:5 FS_SPFLI-CARRID,

15 FS_SPFLI-CONNID,

30 FS_SPFLI-AIRPFROM,

45 FS_SPFLI-AIRPTO,

60 FS_SPFLI-DEPTIME,

75 FS_SPFLI-ARRTIME.

WRITE:100 W_STAR.

ENDLOOP. " LOOP AT.....

ENDFORM. " DISPLAY_SPFLI

----


  • Form DISPLAY_SFLIGHT

----


  • This subroutine displays the SFLIGHT details. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM DISPLAY_SFLIGHT .

DATA:

LW_LINES TYPE I, " No OF Lines

LW_LINENO TYPE I, " Line Number

LW_COUNT TYPE I. " Counter

DESCRIBE TABLE T_SPFLI LINES LW_LINES.

LW_LINES = LW_LINES + 5.

DO LW_LINES TIMES.

READ LINE LW_LINENO

FIELD VALUE W_CHECK INTO W_CHECK

FS_SPFLI-CARRID INTO FS_SPFLI-CARRID

FS_SPFLI-CONNID INTO FS_SPFLI-CONNID.

IF W_CHECK EQ 'X'.

W_STAR = '*'.

MODIFY LINE LW_LINENO FIELD VALUE W_STAR.

MODIFY LINE LW_LINENO FIELD FORMAT W_CHECK INPUT OFF .

ADD 1 TO LW_COUNT.

FS_SSPFLI-CARRID = FS_SPFLI-CARRID.

FS_SSPFLI-CONNID = FS_SPFLI-CONNID.

APPEND FS_SSPFLI TO T_SSPFLI.

CLEAR T_SPFLI.

ENDIF. " IF W_CHECKBOX.....

ADD 1 TO LW_LINENO.

ENDDO. " DO LW_LINES....

IF LW_LINENO EQ 0.

MESSAGE ' NO RECORDS SELECTED' TYPE 'I'.

ENDIF. " IF LW_LINENO.....

SELECT FLDATE " Flight date

SEATSMAX " Maximum Seats

SEATSOCC " Seats occupied

FROM SFLIGHT

INTO TABLE T_SFLIGHT

FOR ALL ENTRIES IN T_SSPFLI

WHERE CARRID EQ T_SSPFLI-CARRID

AND CONNID EQ T_SSPFLI-CONNID.

IF SY-SUBRC NE 0.

MESSAGE ' NO DATA FOUND ' TYPE 'I'.

ENDIF. " IF SY-SUBRC EQ 0.

WRITE:/ 'Flight date '(007),20' Max seats'(008),40'Occ seats'(009).

SKIP.

LOOP AT T_SFLIGHT INTO FS_SFLIGHT.

WRITE:/ FS_SFLIGHT-FLDATE,

20 FS_SFLIGHT-SEATSMAX,

40 FS_SFLIGHT-SEATSOCC.

ENDLOOP. " LOOP AT......

ENDFORM. " DISPLAY_SFLIGHT

Message was edited by:

Haritha

Read only

0 Likes
1,092

thanks a lot

Read only

former_member673464
Active Contributor
0 Likes
1,092

hi,

You can create check box using write statement in basic llist.On selecting checkbox it will internal store it as x.check box can have 'X' or ' '.Depending on the contents you can write code as follows.

TABLES: sflight.

DATA: box(1) TYPE c, lines TYPE i, free TYPE i.

START-OF-SELECTION.

SET PF-STATUS 'CHECK'.

GET sflight.

WRITE: box AS CHECKBOX, sflight-fldate.

HIDE: sflight-fldate, sflight-carrid, sflight-connid,

sflight-seatsmax, sflight-seatsocc.

END-OF-SELECTION.

lines = sy-linno - 1.

TOP-OF-PAGE.

WRITE: 'List of flight dates'.

ULINE.

TOP-OF-PAGE DURING LINE-SELECTION.

WRITE: 'Date:', sflight-fldate.

ULINE.

AT USER-COMMAND.

CASE sy-ucomm.

WHEN 'READ'.

box = space.

SET PF-STATUS 'CHECK' EXCLUDING 'READ'.

DO lines TIMES.

READ LINE sy-index FIELD VALUE box.

IF box = 'X'.

free = sflight-seatsmax - sflight-seatsocc.

IF free > 0.

NEW-PAGE.

WRITE: 'Company:', sflight-carrid,

'Connection: ',sflight-connid,

/ 'Number of free seats:', free.

ENDIF.

ENDIF.

ENDDO.

ENDCASE.

regards,

veeresh

Read only

Former Member
0 Likes
1,092

REPORT zprg1 NO STANDARD PAGE HEADING.

DATA :BEGIN OF w_ekko,

chk TYPE c.

INCLUDE STRUCTURE ekko.

DATA : END OF w_ekko.

DATA : t_ekko LIKE STANDARD TABLE OF w_ekko.

DATA : t_ekko1 LIKE t_ekko .

DATA : datlow TYPE sy-datum VALUE '20050201',

dathigh TYPE sy-datum VALUE '20050228'.

DATA : lineno TYPE sy-linno VALUE 1.

SELECT * FROM ekko INTO CORRESPONDING FIELDS OF TABLE t_ekko

WHERE aedat BETWEEN datlow AND dathigh.

LOOP AT t_ekko INTO w_ekko.

WRITE:/ w_ekko-chk AS CHECKBOX ,w_ekko-ebeln.

ENDLOOP.

SET PF-STATUS '001'.

AT USER-COMMAND.

CASE sy-ucomm.

WHEN 'CHEK'.

LOOP AT t_ekko INTO w_ekko.

READ LINE lineno FIELD VALUE w_ekko-chk INTO w_ekko-chk

w_ekko-ebeln INTO w_ekko-ebeln.

APPEND w_ekko TO t_ekko1.

lineno = lineno + 1.

ENDLOOP.

ENDCASE.

DELETE t_ekko1 WHERE chk IS INITIAL.

U need to create a pf status, by clicking on the button on selecting any menu option trigger the event to go to next list.

the above code may help u out.

Regards,

Sujatha.

Read only

Former Member
0 Likes
1,092

Hi Rajesh ,

You can get a check box in the primary list by the follwoeing

Write 😕 v_chk as checkbox.

but i am not sure whether you can trigger an event when a check box on a list is triggred , my feeling it is not possible.

What i would suggest is you add a button (add your custom status , set pf-status ), when the user click on it after checking the checkboox , then perform READ LINE TO get the line where the checkbox has been checked and do your further processing and go to secondary list.

Regards

Arun

Read only

Former Member
0 Likes
1,092

Hi,

Please check the code below.it was created to delete a record which is checked.u can change the code appropriately.

TABLES:MARA.

DATA:VAR,N TYPE SY-INDEX,MAT TYPE MARA-MATNR.

DATA:BEGIN OF GT_MARA OCCURS 0,

MATNR LIKE MARA-MATNR,

END OF GT_MARA,

GV_CB,

GV_CBV,

GV_LINES TYPE I,

INDEX TYPE I,

SY_INDEX TYPE I,

GV_LINES1 TYPE I,

MATNR LIKE MARA-MATNR.

SELECT-OPTIONS:S_MATNR FOR MARA-MATNR.

SELECT

MATNR FROM MARA

INTO TABLE GT_MARA

WHERE MATNR IN S_MATNR.

IF SY-SUBRC = 0.

DESCRIBE TABLE GT_MARA LINES GV_LINES.

ENDIF.

LOOP AT GT_MARA.

WRITE:/ GV_CB AS CHECKBOX,

GT_MARA-MATNR.

ENDLOOP.

CLEAR GT_MARA.

WRITE:'Total num of records is ',GV_LINES.

SET PF-STATUS 'DEL'.

AT USER-COMMAND.

IF SY-UCOMM = 'DEL' OR SY-UCOMM = 'PICK'.

DO 50 TIMES.

IF SY-INDEX > 2.

N = SY-INDEX - 2.

READ LINE SY-INDEX FIELD VALUE GV_CB INTO VAR.

READ LINE SY-INDEX FIELD VALUE GT_MARA-MATNR INTO MAT.

IF VAR = 'X'." AND MATNR IS NOT INITIAL.

delete gt_mara WHERE MATNR = MAT.

ENDIF.

CLEAR VAR.

ENDIF.

ENDDO.

DESCRIBE TABLE GT_MARA LINES GV_LINES1.

WRITE:'Total num of records is ',GV_LINES1.

CLEAR:GV_LINES .

LOOP AT GT_MARA.

WRITE:/ GT_MARA-MATNR.

ENDLOOP.

ENDIF.

Rgds,

Prajith

Read only

Former Member
0 Likes
1,092

Hi,

Look at the following code segment.

create a pf-status with 3 buttons <b>SFLIGHT,SELECTALL,DESELECTALL</b>

and simple copy paste this code then u will get an idea.

TABLES: spfli.

  • Select options.......................................................

"----


SELECTION-SCREEN BEGIN OF BLOCK schedule WITH FRAME TITLE schedule.

SELECT-OPTIONS:

s_carrid FOR spfli-carrid, " Carrier id

s_connid FOR spfli-connid. " Connection id

SELECTION-SCREEN END OF BLOCK schedule.

"----


  • Structure to hold Flight schedule information. *

"----


DATA:

BEGIN OF fs_schedule,

carrid TYPE spfli-carrid, " Carrier id

connid TYPE spfli-connid, " Connection id

airpfrom TYPE spfli-airpfrom, " Departure air port

airpto TYPE spfli-airpto, " Arrival air port

deptime TYPE spfli-deptime, " Departure time

arrtime TYPE spfli-arrtime, " Arrivel time

END OF fs_schedule.

"----


  • Structure to hold Flight information. *

"----


DATA:

BEGIN OF fs_flight,

carrid TYPE sflight-carrid, " Carrier id

connid TYPE sflight-connid, " Connection id

fldate TYPE sflight-fldate, " Flight date

seatsmax TYPE sflight-seatsmax, " Maximum seats

seatsocc TYPE sflight-seatsocc, " Occupied seats

END OF fs_flight.

"----


  • Internal table to hold schedule document information. *

"----


DATA:

t_schedule LIKE

STANDARD TABLE

OF fs_schedule.

"----


  • Internal table to hold schedule document item information. *

"----


DATA:

t_flight LIKE

STANDARD TABLE

OF fs_flight.

*" Data declarations...................................................

"----


  • Work variables *

"----


DATA:

w_checkbox TYPE c, " Checkbox

w_star TYPE c. " Asterisk

----


  • INITIALIZATION. *

----


INITIALIZATION.

PERFORM init.

----


  • START-OF-SELECTION. *

----


START-OF-SELECTION.

PERFORM selection.

----


  • END-OF-SELECTION. *

----


END-OF-SELECTION.

PERFORM output.

SET PF-STATUS 'DEMO'.

----


  • AT LINE-SELECTION. *

----


AT LINE-SELECTION.

IF sy-lsind EQ 1 AND sy-lilli GE 3.

IF fs_schedule-carrid NE ' '.

PERFORM read_and_display.

ELSE.

MESSAGE 'Select currect position'(003) TYPE 'W'.

ENDIF.

ELSE.

MESSAGE 'Select the appropriate line'(004) TYPE 'S'.

ENDIF. " IF sy-lsind EQ 1...........

----


  • AT USER COMMAND. *

----


AT USER-COMMAND.

CASE sy-ucomm.

WHEN 'SFLIGHT'.

PERFORM read_display_flight_details.

WHEN 'SELECTALL'.

PERFORM select_flight_details.

WHEN 'DESELECT'.

PERFORM deselect_flight_details.

ENDCASE.

----


  • Form init *

----


  • This subroutine initializes titles to block schedule. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM init.

MOVE 'Flight schedule'(001) TO schedule.

ENDFORM. " Init

----


  • Form selection *

----


  • This subroutine retrive data from SFLIGHT. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM selection .

SELECT carrid " Carrier id

connid " Connection id

airpfrom " Departure air port

airpto " Arrival air port

deptime " Departure time

arrtime " Arrivel time

INTO TABLE t_schedule

FROM spfli

WHERE carrid IN s_carrid AND

connid IN s_connid.

IF sy-subrc NE 0.

WRITE 'No records found'(002).

ENDIF. " IF sy-subrc NE 0.

ENDFORM. " Selection

----


  • Form output *

----


  • This subroutine prints the output at basic list. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM output.

LOOP AT t_schedule INTO fs_schedule.

SKIP.

WRITE: /20 w_checkbox AS CHECKBOX,

fs_schedule-carrid,

fs_schedule-connid,

fs_schedule-airpfrom,

fs_schedule-airpto,

fs_schedule-deptime,

fs_schedule-arrtime,

w_star.

HIDE: fs_schedule-carrid,

fs_schedule-connid.

ENDLOOP. " LOOP AT t_schedule...

ENDFORM. " Output

----


  • Form read_and_display *

----


  • This subroutine prints the output in secondary list. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM read_and_display .

SELECT carrid " Carrier id

connid " Connection id

fldate " Flight date

seatsmax " Maximum seats

seatsocc " Occupied seats

FROM sflight

INTO TABLE t_flight

WHERE carrid EQ fs_schedule-carrid AND

connid EQ fs_schedule-connid.

IF sy-subrc EQ 0.

WRITE /3 sy-uline(65).

LOOP AT t_flight INTO fs_flight.

WRITE: /3 sy-vline, 6 fs_flight-carrid,

16 sy-vline, 18 fs_flight-connid,

28 sy-vline, 31 fs_flight-fldate,

41 sy-vline, 44 fs_flight-seatsmax,

54 sy-vline, 57 fs_flight-seatsmax,

67 sy-vline.

WRITE /3 sy-uline(65).

ENDLOOP. " LOOP AT t_flight...

ELSE.

WRITE 'No records found'(002).

ENDIF. " IF sy-subrc EQ 0.

CLEAR t_flight.

  • fs_schedule-carrid = ' '.

  • fs_schedule-connid = ' '.

ENDFORM. " Read_and_display

----


  • Form read_display_flight_details. *

----


  • This subroutine prints the output in secondary list. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM read_display_flight_details.

DATA:

BEGIN OF fs_spfli,

carrid LIKE spfli-carrid, " Carrier id

connid LIKE spfli-connid, " Connection id

END OF fs_spfli.

DATA:

lt_spfli LIKE

STANDARD TABLE

OF fs_spfli.

DATA:

lw_lines TYPE i, " Number of lines

lw_lineno TYPE i VALUE 3, " Index

lw_count TYPE i. " Counter

DESCRIBE TABLE t_schedule LINES lw_lines.

DO lw_lines TIMES.

READ LINE lw_lineno

FIELD VALUE w_checkbox INTO w_checkbox

fs_schedule-carrid INTO fs_schedule-carrid

fs_schedule-connid INTO fs_schedule-connid .

IF sy-subrc EQ 0.

IF w_checkbox EQ 'X'.

ADD 1 TO lw_count.

CLEAR w_checkbox.

fs_spfli-carrid = fs_schedule-carrid.

fs_spfli-connid = fs_schedule-connid.

APPEND fs_spfli TO lt_spfli.

CLEAR fs_schedule.

ENDIF. " IF w_checkbox EQ 'X'.

ENDIF. " IF sy-subrc EQ 0.

ADD 1 TO lw_lineno.

ENDDO. " DO lw_lines TIMES.

IF lw_count EQ 0.

MESSAGE 'Select atleast one record'(005) TYPE 'I'.

ELSE.

SELECT carrid " Carrier id

connid " Connection id

fldate " Flight date

seatsmax " Maximum seats

seatsocc " Occupied seats

FROM sflight

INTO TABLE t_flight

FOR ALL ENTRIES

IN lt_spfli

WHERE carrid EQ lt_spfli-carrid

AND connid EQ lt_spfli-connid.

IF sy-subrc EQ 0.

WRITE /3 sy-uline(65).

LOOP AT t_flight INTO fs_flight.

WRITE: /3 sy-vline, 6 fs_flight-carrid,

16 sy-vline, 18 fs_flight-connid,

28 sy-vline, 31 fs_flight-fldate,

41 sy-vline, 44 fs_flight-seatsmax,

54 sy-vline, 57 fs_flight-seatsmax,

67 sy-vline.

WRITE /3 sy-uline(65).

ENDLOOP. " LOOP AT t_flight...

ELSE.

WRITE 'No records found'(002).

ENDIF. " IF sy-subrc EQ 0.

DESCRIBE TABLE t_schedule LINES lw_lines.

lw_lines = 2 * lw_lines + 2.

DO lw_lines TIMES.

READ LINE sy-index FIELD VALUE w_checkbox.

IF w_checkbox = 'X'.

w_checkbox = space.

w_star = '*'.

MODIFY LINE sy-index

FIELD VALUE w_checkbox

w_star

FIELD FORMAT w_checkbox INPUT OFF

COLOR 6 INVERSE ON.

ENDIF. " IF w_checkbox = 'X'.

ENDDO. " Do lw_lines times.

ENDIF. " IF lw_count EQ 0.

ENDFORM. " Read_display_flight_details

----


  • Form select_flight_details . *

----


  • This subroutine select all entries. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM select_flight_details .

DATA:

lw_lines TYPE i.

  • lw_lines = sy-linno.

DESCRIBE TABLE t_schedule LINES lw_lines.

lw_lines = 2 * lw_lines + 2.

DO lw_lines TIMES.

READ LINE sy-index FIELD VALUE w_checkbox w_star.

IF w_checkbox = space AND w_star NE '*'.

w_checkbox = 'X'.

MODIFY LINE sy-index

FIELD VALUE w_checkbox.

ENDIF. " IF w_checkbox = space...

ENDDO. " Do lw_lines times.

ENDFORM. " Select_flight_details

----


  • Form deselect_flight_details . *

----


  • This subroutine deselect all entries. *

----


  • There are no interface parameters to be passed to this subroutine. *

----


FORM deselect_flight_details .

DATA lw_lines TYPE i.

  • lw_lines = sy-linno.

DESCRIBE TABLE t_schedule LINES lw_lines.

lw_lines = 2 * lw_lines + 2.

DO lw_lines TIMES.

READ LINE sy-index FIELD VALUE w_checkbox.

IF w_checkbox = 'X'.

w_checkbox = space.

MODIFY LINE sy-index

FIELD VALUE w_checkbox.

ENDIF. " IF w_checkbox = 'X'.

ENDDO. " Do lw_lines times.

ENDFORM. " Deselect_flight_details

Regards,

Sandhya<b></b>

Read only

Former Member
0 Likes
1,092

Hi raj,

I think it is only,possible on SELECTION SCREEN but not on the LIST,unless you press F2(Double click) or you have any user buttons.

Regards,

V.Raghavender

Read only

Former Member
0 Likes
1,092

Hi rajareddy....

you can display the checkbox on basic list like this:

<b>data check type .

write check as checkbox .

</b>

but if u want to get the secondary list when u check this check box, you need to assign a pf-status for ur basic list

let me know if u have any more doubts

you can see the following link:

http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/dba2c435c111d1829f0000e829fbfe/frameset.htm

Reward points if useful......

Suresh......