‎2007 Jul 06 11:46 AM
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
‎2007 Jul 06 11:49 AM
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
‎2007 Jul 06 11:50 AM
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
‎2007 Jul 06 11:50 AM
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
‎2007 Jul 06 11:52 AM
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.
‎2007 Jul 06 11:56 AM
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
‎2007 Jul 06 12:05 PM
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