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

about checkbox

Former Member
0 Likes
744

hi,

pls tell me in my selection screen number checkboxes , how to validate that check box.

if it is in the list how to do the same for the secondary list.

pls help me

6 REPLIES 6
Read only

Former Member
0 Likes
717

HI

Check this

SELECTION-SCREEN BEGIN OF BLOCK CHG0 WITH FRAME TITLE TEXT-001.
   PARAMETERS : XCHG1 AS CHECKBOX DEFAULT 'X',
                XCHG2 AS CHECKBOX DEFAULT 'X',
                XCHG3 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK CHG0.

Reward all helpfull answers

Regards

Pavan

Read only

0 Likes
717

another sample report for check box

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS session RADIOBUTTON GROUP ctu.  "create session
SELECTION-SCREEN COMMENT 3(20) text-s07 FOR FIELD session.
SELECTION-SCREEN POSITION 45.
PARAMETERS ctu RADIOBUTTON GROUP ctu.     "call transaction
SELECTION-SCREEN COMMENT 48(20) text-s08 FOR FIELD ctu.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) text-s01 FOR FIELD group.
SELECTION-SCREEN POSITION 25.
PARAMETERS group(12).                      "group name of session
SELECTION-SCREEN COMMENT 48(20) text-s05 FOR FIELD ctumode.
SELECTION-SCREEN POSITION 70.
PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'.

"A: show all dynpros
"E: show dynpro on error only
"N: do not display dynpro

SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 48(20) text-s06 FOR FIELD cupdate.
SELECTION-SCREEN POSITION 70.
PARAMETERS cupdate LIKE ctu_params-updmode DEFAULT 'L'.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) text-s03 FOR FIELD keep.
SELECTION-SCREEN POSITION 25.

PARAMETERS: keep AS CHECKBOX.       "' ' = delete session if finished
"'X' = keep   session if finished
SELECTION-SCREEN COMMENT 48(20) text-s09 FOR FIELD e_group.
SELECTION-SCREEN POSITION 70.
PARAMETERS e_group(12).             "group name of error-session
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 51(17) text-s03 FOR FIELD e_keep.
SELECTION-SCREEN POSITION 70.
<b>PARAMETERS: e_keep AS CHECKBOX.</b>     "' ' = delete session if finished
"'X' = keep   session if finished

SELECTION-SCREEN END OF LINE.
PARAMETERS:p_file LIKE rlgrap-filename.

reward all helpfull answers

Regards

Pavan

Read only

seshatalpasai_madala
Product and Topic Expert
Product and Topic Expert
0 Likes
717

Hi,

You can chekc them at event blocks

AT SELECTION-SCREEN.

Here check if chkbox = 'X' " condition for checked.

and

AT LINE-SELECTION (For lists).

Regards,

Sesh

Read only

Former Member
0 Likes
717

report <report name> no standard page-heading.

*"Table declarations...................................................

TABLES:

SPFLI. " Flight Information

*"Selection screen elements............................................

SELECT-OPTIONS:

S_CARRID FOR SPFLI-CARRID OBLIGATORY," Carrier ID

S_CONNID FOR SPFLI-CONNID. " Flight Connection ID

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

"----


  • Work variables *

"----


DATA:

BEGIN OF FS_SPFLI,

CARRID TYPE SPFLI-CARRID, " Carrier ID

CONNID TYPE SPFLI-CONNID, " Flight Connection ID

COUNTRYFR TYPE SPFLI-COUNTRYFR, " Country From

CITYFROM TYPE SPFLI-CITYFROM, " City From

AIRPFROM TYPE SPFLI-AIRPFROM, " Airport From

COUNTRYTO TYPE SPFLI-COUNTRYTO, " Country To

CITYTO TYPE SPFLI-CITYTO, " City To

AIRPTO TYPE SPFLI-AIRPTO, " Airport To

END OF FS_SPFLI.

DATA:

BEGIN OF FS_CONTENTS,

FIELD(15) TYPE C,

POS TYPE C,

ORDER TYPE C,

END OF FS_CONTENTS.

DATA:

BEGIN OF FS_WINDOW,

FIELD(15) TYPE C,

END OF FS_WINDOW.

DATA:

W_FIELD(200) TYPE C,

W_CHECKBOX TYPE C,

W_POS TYPE C,

W_ORDER TYPE C,

W_LINNO TYPE I.

"----


  • Internal table to hold Flight data *

"----


DATA:

T_SPFLI LIKE

STANDARD TABLE

OF FS_SPFLI.

DATA:

T_WINDOW LIKE

STANDARD TABLE

OF FS_WINDOW.

DATA:

T_CONTENTS LIKE

STANDARD TABLE

OF FS_CONTENTS.

****************************************

FS_WINDOW-FIELD = 'CARRID'.

APPEND FS_WINDOW-FIELD TO T_WINDOW.

CLEAR FS_WINDOW-FIELD.

FS_WINDOW-FIELD = 'CONNID'.

APPEND FS_WINDOW-FIELD TO T_WINDOW.

CLEAR FS_WINDOW-FIELD.

FS_WINDOW-FIELD = 'COUNTRYFR'.

APPEND FS_WINDOW-FIELD TO T_WINDOW.

CLEAR FS_WINDOW-FIELD.

FS_WINDOW-FIELD = 'CITYFROM'.

APPEND FS_WINDOW-FIELD TO T_WINDOW.

CLEAR FS_WINDOW-FIELD.

FS_WINDOW-FIELD = 'AIRPFROM'.

APPEND FS_WINDOW-FIELD TO T_WINDOW.

CLEAR FS_WINDOW-FIELD.

FS_WINDOW-FIELD = 'COUNTRYTO'.

APPEND FS_WINDOW-FIELD TO T_WINDOW.

CLEAR FS_WINDOW-FIELD.

FS_WINDOW-FIELD = 'CITYTO'.

APPEND FS_WINDOW-FIELD TO T_WINDOW.

CLEAR FS_WINDOW-FIELD.

FS_WINDOW-FIELD = 'AIRPTO'.

APPEND FS_WINDOW-FIELD TO T_WINDOW.

CLEAR FS_WINDOW-FIELD.

*************************************************

AT SELECTION-SCREEN.

SELECT SINGLE

CARRID " Carrier ID

CONNID " Flight Connection ID

COUNTRYFR " Country From

CITYFROM " City From

AIRPFROM " Airport From

COUNTRYTO " Country To

CITYTO " City To

AIRPTO " Airport To

INTO FS_SPFLI

FROM SPFLI

WHERE CARRID IN S_CARRID

AND CONNID IN S_CONNID. " SELECT

IF SY-SUBRC <> 0.

MESSAGE 'Invalid entry' TYPE 'E'.

ENDIF.

"----


  • START-OF-SELECTION EVENT *

"----


START-OF-SELECTION.

PERFORM SELECT_SPFLI.

PERFORM DISPLAY_SPFLI.

*"----


  • END-OF-SELECTION EVENT

*"----


END-OF-SELECTION.

SET PF-STATUS 'SPFLI'.

AT USER-COMMAND.

CASE SY-UCOMM.

WHEN 'SORT'.

PERFORM SORT_SPFLI.

WHEN 'SORTDATABY'.

PERFORM WINDOW_SPFLI.

WHEN 'SORTVALUE'.

PERFORM READ_CONTENTS.

ENDCASE.

*&----


*

*& Form SELECT_SPFLI

*&----


*

  • text

*----


*

  • --> p1 text

  • <-- p2 text

*----


*

FORM SELECT_SPFLI .

SELECT CARRID " Carrier ID

CONNID " Flight Connection ID

COUNTRYFR " Country From

CITYFROM " City From

AIRPFROM " Airport From

COUNTRYTO " Country To

CITYTO " City To

AIRPTO " Airport To

INTO TABLE T_SPFLI

FROM SPFLI

WHERE CARRID IN S_CARRID

AND CONNID IN S_CONNID. " SELECT

IF SY-SUBRC <> 0.

ENDIF.

ENDFORM. " SELECT_SPFLI

*&----


*

*& Form DISPLAY_SPFLI

*&----


*

  • text

*----


*

  • --> p1 text

  • <-- p2 text

*----


*

FORM DISPLAY_SPFLI .

IF SY-SUBRC = 0.

WRITE:

/10 'Carrid',

20 'Connid',

30 'Countryfr',

40 'Cityfrom',

50 'Airpfrom',

60 'Countryto',

80 'Cityto',

95 'Airpto'.

ULINE.

LOOP AT T_SPFLI INTO FS_SPFLI.

WRITE:

/10 FS_SPFLI-CARRID,

20 FS_SPFLI-CONNID,

30 FS_SPFLI-COUNTRYFR,

40 FS_SPFLI-CITYFROM,

50 FS_SPFLI-AIRPFROM,

60 FS_SPFLI-COUNTRYTO,

80 FS_SPFLI-CITYTO,

95 FS_SPFLI-AIRPTO.

ENDLOOP.

ELSE.

MESSAGE I027(ZTRAINEES_MESSAGES).

ENDIF.

ENDFORM. " DISPLAY_SPFLI

*&----


*

*& Form SORT_SPFLI

*&----


*

  • text

*----


*

  • --> p1 text

  • <-- p2 text

*----


*

FORM SORT_SPFLI .

DATA:

W_FIELD(200) TYPE C.

GET CURSOR FIELD W_FIELD.

W_FIELD = W_FIELD+9(20).

IF W_FIELD = ' '.

MESSAGE E024(ZTRAINEES_MESSAGES).

ELSE.

SORT T_SPFLI BY (W_FIELD).

WRITE:

/10 'Carrid',

20 'Connid',

30 'Countryfr',

40 'Cityfrom',

50 'Airpfrom',

60 'Countryto',

80 'Cityto',

95 'Airpto'.

ULINE.

LOOP AT T_SPFLI INTO FS_SPFLI.

WRITE:

/10 FS_SPFLI-CARRID,

20 FS_SPFLI-CONNID,

30 FS_SPFLI-COUNTRYFR,

40 FS_SPFLI-CITYFROM,

50 FS_SPFLI-AIRPFROM,

60 FS_SPFLI-COUNTRYTO,

80 FS_SPFLI-CITYTO,

95 FS_SPFLI-AIRPTO.

ENDLOOP.

ENDIF.

SY-LSIND = SY-LSIND - 1.

ENDFORM. " SORT_SPFLI

*&----


*

*& Form WINDOW_SPFLI

*&----


*

  • text

*----


*

  • --> p1 text

  • <-- p2 text

*----


*

FORM WINDOW_SPFLI .

SET PF-STATUS 'WINDOW'.

WINDOW STARTING AT 10 10 ENDING AT 90 90.

LOOP AT T_WINDOW INTO FS_WINDOW.

WRITE:

/10 FS_WINDOW-FIELD,

20 W_POS INPUT ON,

30 W_ORDER INPUT ON.

ENDLOOP.

W_LINNO = SY-LINNO.

ENDFORM. " WINDOW_SPFLI

&----


*& Form READ_CONTENTS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM READ_CONTENTS .

DO W_LINNO TIMES.

READ LINE SY-INDEX FIELD VALUE FS_WINDOW-FIELD INTO FS_CONTENTS-FIELD

W_POS INTO FS_CONTENTS-POS

W_ORDER INTO FS_CONTENTS-ORDER.

IF FS_CONTENTS-ORDER CO 'ADad '.

IF FS_CONTENTS-POS CO '12345678'.

APPEND FS_CONTENTS TO T_CONTENTS.

  • ENDIF.

ELSEIF FS_CONTENTS-POS EQ ' ' AND FS_CONTENTS-ORDER EQ 'A' OR

FS_CONTENTS-ORDER EQ 'a' OR

FS_CONTENTS-ORDER EQ 'D' OR

FS_CONTENTS-ORDER EQ 'd'.

REFRESH T_CONTENTS.

MESSAGE 'Enter Position' TYPE 'E'.

SKIP.

ENDIF.

ELSE.

MESSAGE 'Invalid Order' TYPE 'E'.

ENDIF.

ENDDO.

DELETE ADJACENT DUPLICATES FROM T_CONTENTS COMPARING POS.

IF SY-SUBRC EQ 0.

REFRESH T_CONTENTS.

MESSAGE 'Donot enter duplicate values' TYPE 'E'.

ENDIF.

  • LOOP AT T_CONTENTS INTO FS_CONTENTS.

  • WRITE:

  • / FS_CONTENTS-FIELD,

  • FS_CONTENTS-POS,

  • FS_CONTENTS-ORDER.

  • ENDLOOP.

DATA W_LINES TYPE I.

DESCRIBE TABLE T_CONTENTS LINES W_LINES.

IF W_LINES = 0.

REFRESH T_CONTENTS.

MESSAGE 'Enter values in atleast 1 value in POS' TYPE 'E'.

ENDIF.

SORT T_CONTENTS BY POS DESCENDING.

READ TABLE T_CONTENTS INTO FS_CONTENTS INDEX 1.

IF FS_CONTENTS-POS GT W_LINES.

REFRESH T_CONTENTS.

MESSAGE 'Invald Entry' TYPE 'E'.

ENDIF.

LOOP AT T_CONTENTS INTO FS_CONTENTS.

IF FS_CONTENTS-ORDER = 'A' OR FS_CONTENTS-ORDER = 'a' OR

FS_CONTENTS-ORDER = ' '.

SORT T_SPFLI STABLE BY (FS_CONTENTS-FIELD).

ELSEIF FS_CONTENTS-ORDER = 'D' OR FS_CONTENTS-ORDER = 'd'.

SORT T_SPFLI STABLE BY (FS_CONTENTS-FIELD) DESCENDING.

ENDIF.

ENDLOOP.

SY-LSIND = 0.

SKIP TO LINE 1.

WRITE:

/1 'Carrid',

10 'Connid',

20 'Countryfr',

30 'Cityfrom',

40 'Airpfrom',

50 'Countryto',

70 'Cityto',

85 'Airpto'.

ULINE.

LOOP AT T_SPFLI INTO FS_SPFLI.

WRITE:

/1 FS_SPFLI-CARRID,

10 FS_SPFLI-CONNID,

20 FS_SPFLI-COUNTRYFR,

30 FS_SPFLI-CITYFROM,

40 FS_SPFLI-AIRPFROM,

50 FS_SPFLI-COUNTRYTO,

70 FS_SPFLI-CITYTO,

85 FS_SPFLI-AIRPTO.

ENDLOOP.

ENDFORM. " READ_CONTENTS

Execute this test code.

Regards,

Pavan P.

Read only

Former Member
0 Likes
717

HI,

Plesae look at the coding..

Copy paste in SE38 and execute .. you will understand to hadled Check boxes in ALV

&----


*& Report ZNAZCHECK

*&

&----


*&

*&

&----


REPORT znazcheck.

TYPE-POOLS: slis, icon.

TYPES : BEGIN OF ty_mard,

stat(4) TYPE c,

check,

matnr TYPE matnr,

werks TYPE werks_d,

lgort TYPE lgort_d,

END OF ty_mard.

TYPES: BEGIN OF ty_it_1,

matnr TYPE matnr,

END OF ty_it_1.

DATA: wa TYPE ty_it_1.

DATA : it_mard TYPE STANDARD TABLE OF ty_mard,

wa_mard TYPE ty_mard.

DATA: it_1 TYPE STANDARD TABLE OF ty_it_1.

DATA: st_layout TYPE slis_layout_alv.

DATA: l_wa_fieldcat TYPE slis_fieldcat_alv.

DATA: it_fieldcat TYPE slis_t_fieldcat_alv.

AT SELECTION-SCREEN OUTPUT.

CONCATENATE icon_green_light 'Click This!'

INTO but1 SEPARATED BY space.

START-OF-SELECTION.

SELECT matnr werks lgort FROM mard INTO CORRESPONDING FIELDS OF TABLE it_mard

WHERE werks = 'CH01'. "p_werks.

IF sy-subrc = 0.

ENDIF.

*LAYOUT

st_layout-zebra = 'X'.

*field cat

l_wa_fieldcat-col_pos = '1'.

l_wa_fieldcat-fieldname = 'CHECK'.

l_wa_fieldcat-tabname = 'IT_MARD'.

l_wa_fieldcat-reptext_ddic = 'SELECT'.

l_wa_fieldcat-checkbox = 'X'.

l_wa_fieldcat-edit = 'X'.

APPEND l_wa_fieldcat TO it_fieldcat.

CLEAR l_wa_fieldcat.

l_wa_fieldcat-col_pos = '2'.

l_wa_fieldcat-fieldname = 'MATNR'.

l_wa_fieldcat-tabname = 'IT_MARD'.

l_wa_fieldcat-reptext_ddic = 'MATERIAL no'.

l_wa_fieldcat-outputlen = '20'.

l_wa_fieldcat-no_zero = 'X'.

APPEND l_wa_fieldcat TO it_fieldcat.

CLEAR l_wa_fieldcat.

l_wa_fieldcat-col_pos = '3'.

l_wa_fieldcat-fieldname = 'WERKS'.

l_wa_fieldcat-tabname = 'IT_MARD'.

l_wa_fieldcat-reptext_ddic = 'PLANT'.

l_wa_fieldcat-outputlen = '20'.

l_wa_fieldcat-no_zero = 'X'.

APPEND l_wa_fieldcat TO it_fieldcat.

CLEAR l_wa_fieldcat.

l_wa_fieldcat-col_pos = '4'.

l_wa_fieldcat-fieldname = 'LGORT'.

l_wa_fieldcat-tabname = 'IT_MARD'.

l_wa_fieldcat-reptext_ddic = 'STORAGE'.

l_wa_fieldcat-outputlen = '20'.

l_wa_fieldcat-no_zero = 'X'.

APPEND l_wa_fieldcat TO it_fieldcat.

CLEAR l_wa_fieldcat.

l_wa_fieldcat-col_pos = '5'.

l_wa_fieldcat-fieldname = 'STAT'.

l_wa_fieldcat-tabname = 'IT_MARD'.

l_wa_fieldcat-reptext_ddic = 'STATUS'.

l_wa_fieldcat-icon = 'X'.

APPEND l_wa_fieldcat TO it_fieldcat.

CLEAR l_wa_fieldcat.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

i_callback_user_command = 'F_USER'

is_layout = st_layout

it_fieldcat = it_fieldcat

TABLES

t_outtab = it_mard

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

WRITE 'EEROR'.

ENDIF.

*ENDCASE.

&----


*& Form f_user

&----


  • text

----


  • -->RF_UCOMM text

  • -->RS_SELFIELD text

----


FORM f_user USING rf_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

DATA: l_wa_fieldcat1 TYPE slis_fieldcat_alv.

DATA: it_fieldcat1 TYPE slis_t_fieldcat_alv.

CASE rf_ucomm.

WHEN '&IC1'.

IF rs_selfield-fieldname = 'MATNR'.

LOOP AT it_mard INTO wa_mard WHERE check = 'X'.

wa-matnr = wa_mard-matnr.

APPEND wa TO it_1.

ENDLOOP.

l_wa_fieldcat1-col_pos = '1'.

l_wa_fieldcat1-fieldname = 'MATNR'.

l_wa_fieldcat1-tabname = 'IT_1'.

l_wa_fieldcat1-reptext_ddic = 'Material'.

l_wa_fieldcat1-outputlen = '20'.

l_wa_fieldcat1-no_zero = 'X'.

APPEND l_wa_fieldcat1 TO it_fieldcat1.

CLEAR l_wa_fieldcat1.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

i_callback_top_of_page = 'F_TOP'

it_fieldcat = it_fieldcat1

TABLES

t_outtab = it_1

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

WRITE 'EEROR'.

ENDIF.

ENDIF.

ENDCASE.

ENDFORM. "f_user

&----


*& Form f_top

&----


  • text

----


FORM f_top.

DATA v_lines TYPE char5.

DATA v_text TYPE char50.

DESCRIBE TABLE it_1 LINES v_lines.

DATA it_slis TYPE slis_t_listheader.

DATA wa_slis TYPE slis_listheader.

CONCATENATE 'Number of check boxes selected are/is' v_lines INTO v_text SEPARATED BY space.

wa_slis-typ = 'H'.

wa_slis-info = v_text.

append wa_slis to it_slis.

call FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = it_slis

  • I_LOGO =

  • I_END_OF_LIST_GRID =

  • I_ALV_FORM =

.

ENDFORM. "f_top

rewards if usefulk,

regards,

nazeer

Read only

Former Member
0 Likes
717

hi,

(if u are satisfaied with the asn plz reward)

you can check in At selection-screen and have a IF and also see the below code

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS session RADIOBUTTON GROUP ctu. "create session

SELECTION-SCREEN COMMENT 3(20) text-s07 FOR FIELD session.

SELECTION-SCREEN POSITION 45.

PARAMETERS ctu RADIOBUTTON GROUP ctu. "call transaction

SELECTION-SCREEN COMMENT 48(20) text-s08 FOR FIELD ctu.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 3(20) text-s01 FOR FIELD group.

SELECTION-SCREEN POSITION 25.

PARAMETERS group(12). "group name of session

SELECTION-SCREEN COMMENT 48(20) text-s05 FOR FIELD ctumode.

SELECTION-SCREEN POSITION 70.

PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'.

"A: show all dynpros

"E: show dynpro on error only

"N: do not display dynpro

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 48(20) text-s06 FOR FIELD cupdate.

SELECTION-SCREEN POSITION 70.

PARAMETERS cupdate LIKE ctu_params-updmode DEFAULT 'L'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 3(20) text-s03 FOR FIELD keep.

SELECTION-SCREEN POSITION 25.

PARAMETERS: keep AS CHECKBOX. "' ' = delete session if finished

"'X' = keep session if finished

SELECTION-SCREEN COMMENT 48(20) text-s09 FOR FIELD e_group.

SELECTION-SCREEN POSITION 70.

PARAMETERS e_group(12). "group name of error-session

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 51(17) text-s03 FOR FIELD e_keep.

SELECTION-SCREEN POSITION 70.

<b>PARAMETERS: e_keep AS CHECKBOX.</b> "' ' = delete session if finished

"'X' = keep session if finished

SELECTION-SCREEN END OF LINE.

PARAMETERS:p_file LIKE rlgrap-filename