Application Development 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: 

check box in ALV

Former Member
0 Kudos

Hi all!

I have developed an ALV with a checkbox in each record as one more field.I have given the following in the fieldcatalog using type-pools : SLIS.

fieldcat-fieldname = 'STATUS'.

fieldcat-checkbox = 'X'.

fieldcat-hotspot = 'X'

fieldcat-input = 'X'.

append fieldcat.

I am able to see the checkbox in output but I am not able to select it eventhough it's in edit mode. One more thing is, this check box is coming in edit mode only if I mention fieldcat-hotspot = 'X'.I have to print a formatted letter for the selected lines in my ALV output. How to make the checkbox as input field?Please help.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

hi,

pls check this thread for check boxes in ALV

[;

[;

Reward Point if usefull to you,

Regards

Fareedas

6 REPLIES 6

venkat_o
Active Contributor
0 Kudos

Hi Jayasri, Just remove fieldcat-hotspot = 'X' as part of the fieldcatalog internal table building. Regards, Venkat.O

venkat_o
Active Contributor
0 Kudos

Hi Jayasri, Have a look at the sample code as well.

REPORT  zvenkat_alv_checkbox.
DATA:
  BEGIN OF w_emp ,
    checkbox TYPE c ,  "declare one variable for Checkbox
    status   TYPE char3,
    pernr    TYPE pa0001-pernr,
    endda    TYPE pa0001-endda,
    begda    TYPE pa0001-begda,
    ename    TYPE pa0001-ename,
  END OF w_emp,
  i_emp LIKE w_emp OCCURS 0 WITH HEADER LINE.
*&---------------------------------------------------------------------*
* ALV Declarations
*----------------------------------------------------------------------*
* Types Pools
TYPE-POOLS:
   slis.
* Types
TYPES:
   t_fieldcat         TYPE slis_fieldcat_alv,
   t_events           TYPE slis_alv_event,
   t_layout           TYPE slis_layout_alv.
* Workareas
DATA:
   w_fieldcat         TYPE t_fieldcat,
   w_events           TYPE t_events,
   w_layout           TYPE t_layout.
* Internal Tables
DATA:
   i_fieldcat         TYPE STANDARD TABLE OF t_fieldcat,
   i_events           TYPE STANDARD TABLE OF t_events.

START-OF-SELECTION.

  PERFORM get_data.
  PERFORM build_field.
  PERFORM build_events.
  PERFORM build_layout.
  PERFORM display_data.

*&---------------------------------------------------------------------*
*&      Form  get_data
*&---------------------------------------------------------------------*
FORM get_data .

  SELECT  pernr
          endda
          begda
          ename
   FROM pa0001
   INTO CORRESPONDING FIELDS OF TABLE i_emp
   UP TO 20 ROWS.

ENDFORM.                    " get_data
*&---------------------------------------------------------------------*
*&      Form  build_field
*&---------------------------------------------------------------------*
FORM build_field .

  CLEAR w_fieldcat.
  CLEAR i_fieldcat.

  PERFORM build_fcat USING:
          'CHECKBOX' 'I_EMP'  ' ',
          'STATUS'   'I_EMP'  'STATUS',
          'PERNR'    'I_EMP'  'PERNR',
          'ENDDA'    'I_EMP'  'ENDDA',
          'BEGDA'    'I_EMP'  'BEGDA',
          'ENAME'    'I_EMP'  'ENAME'.

ENDFORM.                    "BUILD_FIELD

*&---------------------------------------------------------------------*
*&      Form  BUILD_FCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->L_FIELD    text
*      -->L_TAB      text
*      -->L_TEXT     text
*----------------------------------------------------------------------*
FORM build_fcat USING l_field l_tab l_text.

  w_fieldcat-fieldname = l_field.
  w_fieldcat-tabname   = l_tab.
  w_fieldcat-seltext_m = l_text.
  IF l_field = 'CHECKBOX'.
    w_fieldcat-checkbox  = 'X'.        "Setting Check box
    w_fieldcat-edit      = 'X'.
  ENDIF.
  APPEND w_fieldcat TO i_fieldcat.
  CLEAR w_fieldcat.
ENDFORM.                    " build_field
*&---------------------------------------------------------------------*
*&      Form  display_data
*&---------------------------------------------------------------------*
FORM display_data .
  DATA:l_program TYPE sy-repid.
  l_program = sy-repid.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program = l_program
      is_layout          = w_layout
      it_fieldcat        = i_fieldcat
      it_events          = i_events
    TABLES
      t_outtab           = i_emp
    EXCEPTIONS
      program_error      = 1
      OTHERS             = 2.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

ENDFORM.                    " display_data
*&---------------------------------------------------------------------*
*&      Form  build_events
*&---------------------------------------------------------------------*
FORM build_events .

  CLEAR i_events.
  CLEAR i_events.

  w_events-form = 'TOP_OF_PAGE'.
  w_events-name = 'TOP_OF_PAGE'.
  APPEND w_events TO i_events.
  CLEAR w_events.
ENDFORM.                    " build_events
*&---------------------------------------------------------------------*
*&      Form  build_layout
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM build_layout .

  w_layout-info_fieldname   = 'STATUS'.

ENDFORM.                    " build_layout
**********************************************************************
* FORM    :  top_of_page
* Created :  20.03.2008 16:20:15
**********************************************************************
FORM top_of_page.
  DATA :
  i_header TYPE slis_t_listheader,
  w_header LIKE LINE OF i_header.

  DATA:l_date1 TYPE datum,
       l_date2 TYPE datum.

  w_header-typ = 'S'.
  w_header-info = sy-title.
  APPEND w_header TO i_header.
  CLEAR w_header.

  w_header-typ = 'A'.
  w_header-info = 'GRID Display TOP OF PAGE'.
  APPEND w_header TO i_header.
  CLEAR w_header.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary = i_header
      i_logo             = 'ENJOYSAP_LOGO'.

ENDFORM. "top_of_page
Regards, Venkat.O

Former Member
0 Kudos

hi,,,

Check these links. Will get ur solution.

http://www.sapfans.com/forums/viewtopic.php?t=88376

http://www.sapfans.com/forums/viewtopic.php?t=40968

http://www.sapfans.com/forums/viewtopic.php?t=6919

Check Uwe’s reply to this

Reward points if this helps.

regards,

rekha

Former Member
0 Kudos

hi,

pls check this thread for check boxes in ALV

[;

[;

Reward Point if usefull to you,

Regards

Fareedas

Former Member
0 Kudos

hi,

check the standard program BCALV_EDIT_05 for check boxes

Reward points if usefull to u,

Regards

Fareedas

0 Kudos

Thank u all.Above example are very useful for check boxes in alv's.