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

Report with check box functionality

Former Member
0 Likes
1,035

Hi Experts,

My requirment is to display a report (ALV or classical no issue ) with check box and a push buttan.

When report has displayed user will select the records through checking the check box and will click on the push button then it should show the selected records only rest all records disappear from there.

Please help me how to do this.

Regards

Bikas

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
972

Hi Bikas,

Check this link:

http://abapreports.blogspot.com/2008/06/handling-check-box-in-alv-report-in-sap.html

Hope this helps you.

Chandra Sekhar

7 REPLIES 7
Read only

Former Member
0 Likes
973

Hi Bikas,

Check this link:

http://abapreports.blogspot.com/2008/06/handling-check-box-in-alv-report-in-sap.html

Hope this helps you.

Chandra Sekhar

Read only

Former Member
0 Likes
972

Hi,

write like this.

if check box is checked.

select the records and display.

endif.

Read only

Former Member
0 Likes
972

You need use the Function moduel in the user command to get the updated data.

in fieldcatalog you have to use INPUT = 'X' and EDIT = 'X' for the columns which ever you want edit.

GET_GLOBALS_FROM_SLVC_FULLSCR

follow the sample code.

REPORT ZTEST_ALV_CHECK MESSAGE-ID ZZ .
 
TYPE-POOLS: SLIS.
DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
L_LAYOUT TYPE SLIS_LAYOUT_ALV,
X_EVENTS TYPE SLIS_ALV_EVENT,
IT_EVENTS TYPE SLIS_T_EVENT.
 
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
CHK(1),
color(4),
END OF ITAB.
 
SELECT VBELN
POSNR
FROM VBAP
UP TO 20 ROWS
INTO TABLE ITAB.
 
X_FIELDCAT-FIELDNAME = 'CHK'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 1.
X_FIELDCAT-INPUT = 'X'.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-CHECKBOX = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
 
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-SELTEXT_L = 'VBELN'.
X_FIELDCAT-HOTSPOT = 'X'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 2.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
 
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-SELTEXT_L = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
 
L_LAYOUT-info_fieldname = 'COLOR'.
*L_LAYOUT-ZEBRA = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = L_LAYOUT
I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC ne 0.
 
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
 
 
&---------------------------------------------------------------------
*& Form STATUS
&---------------------------------------------------------------------
 
 
text 
----------------------------------------------------------------------
 
-->P_EXTAB text 
----------------------------------------------------------------------
FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
 
 
Pf status 
SET PF-STATUS 'STATUS'.
ENDFORM. " STATUS
 
&---------------------------------------------------------------------
*& Form USER_COMMAND
&---------------------------------------------------------------------
 
text 
----------------------------------------------------------------------
 
-->R_UCOMM text 
-->RS_SELFIELD text 
----------------------------------------------------------------------
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
 
DATA: GD_REPID LIKE SY-REPID, "Exists
REF_GRID TYPE REF TO CL_GUI_ALV_GRID.
IF REF_GRID IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = REF_GRID.
ENDIF.
IF NOT REF_GRID IS INITIAL.
CALL METHOD REF_GRID->CHECK_CHANGED_DATA .
ENDIF.
 
loop at itab where chk = 'X'.
itab-color = 'C300'.
modify itab index sy-tabix transporting color.
endloop.
RS_SELFIELD-refresh = 'X'.
break-point.
 
ENDFORM. "USER_COMMAND

Regards

Vijay Babu Dudla

Read only

Former Member
0 Likes
972

Hi,

You can try this code in your at user-command event when pushbutton is clicked.

lw_lines TYPE i,
    lw_currline TYPE i.
  DESCRIBE TABLE t_mara LINES lw_lines.
  DO lw_lines TIMES.
    lw_currline = sy-index.
    READ LINE lw_currline FIELD VALUE w_check.
    IF sy-subrc EQ 0.
      if w_check ne 'X'.
        continue.
      else.
          append itab from <workarea>.
      endif.
    ENDIF.
  ENDDO.

regards

padma

Read only

Former Member
0 Likes
972

Hi Bikas,

Refer this code, it will help you....

Please create pf status according to your requirement....

here in list display checkbox are there.....

&----


*& Report ZMM_RESERVE

*&

&----


*&

*&

&----


REPORT ZMM_RESERVE

no standard page heading line-size 255.

TABLES: ZMM_RESERVE.

TYPE-POOLS: SLIS.

DATA: IT_RESERVE LIKE ZMM_RESERVE OCCURS 0 WITH HEADER LINE.

DATA: IT_DATA1 LIKE ZMM_RESERVE OCCURS 0 WITH HEADER LINE.

DATA: WA_DATA LIKE ZMM_RESERVE.

DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

GS_LAYOUT TYPE SLIS_LAYOUT_ALV,

GS_PRINT TYPE SLIS_PRINT_ALV,

GT_SORT TYPE SLIS_T_SORTINFO_ALV,

GT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV,

GT_EVENTS TYPE SLIS_T_EVENT WITH HEADER LINE.

DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.

DATA x1 TYPE ddshretval OCCURS 0 WITH HEADER LINE.

DATA: EXTAB TYPE slis_t_extab .

data: begin of itab occurs 0,

STATUS LIKE KNVA-ABLAD,"(10),

end of itab.

data: v_index type i,

LINE TYPE I.

          • SELECTION SCREEN*****

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE title.

parameters: p_plant like zmm_reserve-werks OBLIGATORY.

select-options: S_Date for zmm_reserve-doc_date.

parameters: p_status LIKE ssfscreen-fname OBLIGATORY.

SELECTION-SCREEN END OF BLOCK B1.

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

at selection-screen on value-request for p_status.

clear itab.

refresh itab.

do 1 times.

itab-status = 'Approve'.

append itab.

clear itab.

itab-status = 'Reject'.

append itab.

clear itab.

itab-status = 'Blank'.

append itab.

clear itab.

enddo.

DATA ABLAD LIKE HELP_INFO-DYNPROFLD.":ZUNLOADINGPT-ABLAD.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = p_status

value_org = 'S'

TABLES

value_tab = itab

return_tab = x1

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

p_status = X1-FIELDVAL.

START-OF-SELECTION.

IF P_STATUS = 'BLANK'.

SELECT * FROM ZMM_RESERVE INTO TABLE IT_RESERVE

WHERE WERKS = P_PLANT AND

DOC_DATE IN S_DATE and

APPROVE = ' ' AND

REJECT = ' '.

ELSEIF P_STATUS = 'APPROVE'.

SELECT * FROM ZMM_RESERVE INTO TABLE IT_RESERVE

WHERE WERKS = P_PLANT AND

DOC_DATE IN S_DATE AND

APPROVE = 'X'.

ELSEIF P_STATUS = 'REJECT'.

SELECT * FROM ZMM_RESERVE INTO TABLE IT_RESERVE

WHERE WERKS = P_PLANT AND

DOC_DATE IN S_DATE AND

REJECT = 'X'.

ENDIF.

IF IT_RESERVE[] IS NOT INITIAL.

*WRITE: 'REPORT'.

PERFORM E01_FIELDCAT_INIT USING GT_FIELDCAT[].

PERFORM DISPLAY_DATA.

ELSE.

MESSAGE 'Please provide valid selection' TYPE 'I'.

ENDIF.

  • WRITE: /70 'REPORT OUTPUT'.

  • WRITE: /3 SY-ULINE(255).

**SKIP 1.

  • WRITE: /3 '|'.

  • WRITE: 8 'Reserve No'.

  • WRITE: 18 '|'.

  • WRITE: 20 'Material No'.

  • WRITE: 40 '|'.

  • WRITE: 42 'Material Desc'.

  • WRITE: 70 '|'.

  • WRITE: 72 'Quantity'.

  • WRITE: 84 '|'.

  • WRITE: 86 'User Id'.

  • WRITE: 94 '|'.

  • WRITE: 96 ''.

  • WRITE: 109 '|'.

  • WRITE: 111 'Posting Key'.

  • WRITE: 123 '|'.

  • WRITE: 125 'Total Amount'.

  • WRITE: 142 '|'.

  • WRITE: 144 'Text'.

  • WRITE: 255 '|'.

  • WRITE: /3 SY-ULINE(255).

  • SKIP 2.

  • CLEAR: V_BELNR.

  • write: /3 SY-ULINE(255).

&----


*& Form E01_FIELDCAT_INIT

&----


  • text

----


  • -->P_GT_FIELDCAT[] text

----


FORM E01_FIELDCAT_INIT USING E01_LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA: FIELDCATALOG TYPE SLIS_FIELDCAT_ALV.

CLEAR E01_LT_FIELDCAT.

FREE E01_LT_FIELDCAT.

REFRESH E01_LT_FIELDCAT.

FIELDCATALOG-FIELDNAME = 'RSNUM'.

FIELDCATALOG-SELTEXT_M = 'Reserve No'.

FIELDCATALOG-SELTEXT_L = 'Reserve No'.

FIELDCATALOG-SELTEXT_S = 'Reserve No'.

FIELDCATALOG-COL_POS = 0.

FIELDCATALOG-OUTPUTLEN = 10.

FIELDCATALOG-KEY = 'X'.

APPEND FIELDCATALOG TO E01_LT_FIELDCAT.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'MATNR'.

FIELDCATALOG-SELTEXT_M = 'MATERIAL NO'.

FIELDCATALOG-SELTEXT_L = 'MATERIAL NO'.

FIELDCATALOG-SELTEXT_S = 'MATERIAL NO'.

FIELDCATALOG-COL_POS = 1.

FIELDCATALOG-OUTPUTLEN = 20.

FIELDCATALOG-KEY = 'X'.

APPEND FIELDCATALOG TO E01_LT_FIELDCAT.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'MAKTX'.

FIELDCATALOG-SELTEXT_M = 'MATERIAL TEXT'.

FIELDCATALOG-SELTEXT_L = 'MATERIAL TEXT'.

FIELDCATALOG-SELTEXT_S = 'MATERIAL TEXT'.

FIELDCATALOG-COL_POS = 2.

FIELDCATALOG-OUTPUTLEN = 30.

FIELDCATALOG-KEY = 'X'.

APPEND FIELDCATALOG TO E01_LT_FIELDCAT.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'ERFMG'.

FIELDCATALOG-SELTEXT_M = 'QUANTITY'.

FIELDCATALOG-SELTEXT_L = 'QUANTITY'.

FIELDCATALOG-SELTEXT_S = 'QUANTITY'.

FIELDCATALOG-COL_POS = 3.

FIELDCATALOG-OUTPUTLEN = 14.

FIELDCATALOG-KEY = 'X'.

APPEND FIELDCATALOG TO E01_LT_FIELDCAT.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'BWART'.

FIELDCATALOG-SELTEXT_M = 'MOVEMENT TYPE'.

FIELDCATALOG-SELTEXT_L = 'MOVEMENT TYPE'.

FIELDCATALOG-SELTEXT_S = 'MOVEMENT TYPE'.

FIELDCATALOG-COL_POS = 4.

FIELDCATALOG-OUTPUTLEN = 15.

FIELDCATALOG-KEY = 'X'.

APPEND FIELDCATALOG TO E01_LT_FIELDCAT.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'USNAM'.

FIELDCATALOG-SELTEXT_M = 'USER NAME'.

FIELDCATALOG-SELTEXT_L = 'USER NAME'.

FIELDCATALOG-SELTEXT_S = 'USER NAME'.

FIELDCATALOG-COL_POS = 5.

FIELDCATALOG-OUTPUTLEN = 10.

FIELDCATALOG-KEY = 'X'.

APPEND FIELDCATALOG TO E01_LT_FIELDCAT.

CLEAR FIELDCATALOG.

IF P_STATUS = 'BLANK'.

FIELDCATALOG-FIELDNAME = 'APPROVE'.

FIELDCATALOG-SELTEXT_M = 'APPROVE'.

FIELDCATALOG-SELTEXT_L = 'APPROVE'.

FIELDCATALOG-SELTEXT_S = 'APPROVE'.

FIELDCATALOG-COL_POS = 6.

FIELDCATALOG-OUTPUTLEN = 10.

FIELDCATALOG-KEY = 'X'.

FIELDCATALOG-CHECKBOX = 'X'.

FIELDCATALOG-INPUT = 'X'.

FIELDCATALOG-EDIT = 'X'.

APPEND FIELDCATALOG TO E01_LT_FIELDCAT.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'REJECT'.

FIELDCATALOG-SELTEXT_M = 'REJECT'.

FIELDCATALOG-SELTEXT_L = 'REJECT'.

FIELDCATALOG-SELTEXT_S = 'REJECT'.

FIELDCATALOG-COL_POS = 7.

FIELDCATALOG-OUTPUTLEN = 10.

FIELDCATALOG-KEY = 'X'.

FIELDCATALOG-CHECKBOX = 'X'.

FIELDCATALOG-INPUT = 'X'.

FIELDCATALOG-EDIT = 'X'.

APPEND FIELDCATALOG TO E01_LT_FIELDCAT.

CLEAR FIELDCATALOG.

endif.

endform. " E01_FIELDCAT_INIT

&----


*& Form DISPLAY_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form DISPLAY_DATA .

  • IF P_STATUS = 'Blank'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

i_bypassing_buffer = 'X'

i_buffer_active = ' '

i_callback_program = sy-REPID

I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

it_fieldcat = GT_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = it_RESERVE

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 SET_PF_STATUS using rt_extab type slis_t_extab .

if p_status = 'BLANK'.

set pf-status 'ZMM_RES_GUI' excluding rt_extab[].

else.

set pf-status 'ZMM_RES_GUI1' excluding rt_extab[].

endif.

endform. "f01_set_status

FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

PERFORM GET_DATA using r_ucomm.

ENDFORM.

&----


*& Form GET_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form GET_DATA using l_val.

if l_val = 'APPROVE'.

LOOP AT IT_RESERVE WHERE APPROVE = 'X'.

IF IT_RESERVE-REJECT = 'X'.

MESSAGE 'Invalid Selection' type 'E'.

ELSE.

IT_DATA1 = IT_RESERVE.

APPEND IT_DATA1.

ENDIF.

ENDLOOP.

IF IT_DATA1[] IS NOT INITIAL.

loop at it_data1.

WA_DATA-RSNUM = IT_DATA1-RSNUM.

WA_DATA-MATNR = IT_DATA1-MATNR.

WA_DATA-ERFMG = IT_DATA1-ERFMG.

WA_DATA-MAKTX = IT_DATA1-MAKTX.

WA_DATA-USNAM = IT_DATA1-USNAM.

WA_DATA-APPROVE = IT_DATA1-APPROVE.

WA_DATA-BWART = IT_DATA1-BWART.

WA_DATA-DOC_DATE = IT_DATA1-DOC_DATE.

WA_DATA-MEINS = IT_DATA1-MEINS.

WA_DATA-ENMNG = IT_DATA1-ENMNG.

WA_DATA-ENWRT = IT_DATA1-ENWRT.

WA_DATA-WERKS = IT_DATA1-WERKS.

WA_DATA-LGORT = IT_DATA1-LGORT.

WA_DATA-CHARG = IT_DATA1-CHARG.

WA_DATA-BDTER = IT_DATA1-BDTER.

WA_DATA-PRIO_URG = IT_DATA1-PRIO_URG.

MOVE-CORRESPONDING WA_DATA TO ZMM_RESERVE.

MODIFY ZMM_RESERVE.

COMMIT WORK.

endloop.

message 'Data Saved' type 'I'.

LEAVE PROGRAM.

ELSE.

MESSAGE 'Please provide proper combination' type 'E'.

ENDIF.

ELSEIF L_VAL = 'REJECT'.

LOOP AT IT_RESERVE WHERE REJECT = 'X'.

IF IT_RESERVE-APPROVE = 'X'.

MESSAGE 'Invalid Selection' type 'E'.

ELSE.

IT_DATA1 = IT_RESERVE.

APPEND IT_DATA1.

ENDIF.

ENDLOOP.

IF IT_DATA1[] IS NOT INITIAL.

loop at it_data1.

WA_DATA-RSNUM = IT_DATA1-RSNUM.

WA_DATA-MATNR = IT_DATA1-MATNR.

WA_DATA-ERFMG = IT_DATA1-ERFMG.

WA_DATA-MAKTX = IT_DATA1-MAKTX.

WA_DATA-USNAM = IT_DATA1-USNAM.

WA_DATA-REJECT = IT_DATA1-REJECT.

WA_DATA-BWART = IT_DATA1-BWART.

WA_DATA-DOC_DATE = IT_DATA1-DOC_DATE.

WA_DATA-MEINS = IT_DATA1-MEINS.

WA_DATA-ENMNG = IT_DATA1-ENMNG.

WA_DATA-ENWRT = IT_DATA1-ENWRT.

WA_DATA-WERKS = IT_DATA1-WERKS.

WA_DATA-LGORT = IT_DATA1-LGORT.

WA_DATA-CHARG = IT_DATA1-CHARG.

WA_DATA-BDTER = IT_DATA1-BDTER.

WA_DATA-PRIO_URG = IT_DATA1-PRIO_URG.

MOVE-CORRESPONDING WA_DATA TO ZMM_RESERVE.

MODIFY ZMM_RESERVE.

COMMIT WORK.

endloop.

message 'Data Saved' type 'I'.

LEAVE PROGRAM.

ELSE.

MESSAGE 'Please provide proper combination' type 'E'.

ENDIF.

ENDIF.

endform. " GET_DATA

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

Hope it will help you....

Please reward point if usefull...

Regards,

Smit

Read only

former_member787646
Contributor
0 Likes
972

Hi

In Classical Report you can display the check box as follows in the WRITE statement.

DATA: CHAR1 TYPE C.

DATA: CTR TYPE I VALUE 1, N_LINES TYPE I.

LOOP AT ITAB.

WRITE:/ ITAB-chk_field as check_box, ITAB-FLD1,...... .

HIDE:/ ITAB-chk_field, ITAB-KEYFIELDS.

ENDIF.

( chk_field is a field in the internal table of type char and length 1).

Place a pushbutton on the Application ToolBar and write the following code for the event

AT USER-COMMAND for that button.

DESCRIBE TABLE ITAB LINES N_LINES.

WHILE ( CTR <= N_LINES ).

READ LINE CTR.

READ CURRENT LINE FIELD VALUE ITAB-chk_field INTO CHAR1.

CHAR1 = 'X'.

MODIFY CURRENT LINE FIELD VALUE ITAB-chk_field FROM CHAR1.

CTR = CTR + 1.

ENDWHILE.

DELETE ITAB WHERE ITAB-chk_field = ' '.

Now you can display the records by looping the ITAB.

Hope this would help you.

Murthy

Edited by: Kalyanam Seetha Rama Murthy on Jul 25, 2008 8:40 AM

Read only

Former Member
0 Likes
972

Let's say internal table for displaying final data is ITAB.

Add a field MARK type c in internal table declatration. this field can have values only SPACE or "X".

Classical report:

write: itab-mark as checkbox.

"It will display field as checkbox.

Create GUI-STATUS which should be a copy of Status "STLI" of program "SAPMSSY0"

Add your puh button amd process it within "AT user-command event"

ALV

within the field catalogue, set fieldcat-checkbox = "X" for field MARK

Copy standard GUI status and add pushbutton.

Create a subroutine for PF_status

FORM set_pf_status USING rt_extab TYPE slis_t_extab

set pf-status 'test'.

endform

Create a subroutine for user_command .

FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

case r_comm.

when 'PUSH'.

****Your code***

endcase.

endform.

Pass the USER_COMMANDsubroutine name & PF status subroutine name to ALV function module interface.