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

Hi experts,

Former Member
0 Likes
741

Hi Experts,

How to make the check box in ALV as a first field?

please give me some idea.

Thanks

Raja

1 ACCEPTED SOLUTION
Read only

VXLozano
Active Contributor
0 Likes
713

Right answer provided, my post is redundant

Message was edited by:

Vicenç Lozano

Hi Experts,

How to make the check box in ALV as a first field?

please give me some idea.

Thanks

Raja

6 REPLIES 6
Read only

Former Member
0 Likes
713

Hi,

declare the internal table first filed

as

checkbox type c,

and in the field catalog

give

fieldcatlog-checkbox = 'X'.

then it will be shown as check box,

reward if helpful,

thanks & regards,

venkatesh

Read only

seshatalpasai_madala
Product and Topic Expert
Product and Topic Expert
0 Likes
713

Hi,

In the field catalog give COL_POS = 1 for that column

Regards,

Sesh

Read only

VXLozano
Active Contributor
0 Likes
714

Right answer provided, my post is redundant

Message was edited by:

Vicenç Lozano

Read only

Former Member
0 Likes
713

Refer below code and award points

report ztest.

*

***************************Declarations*******************************

TABLES: vbkd,vepvg.",vbak,vbap,vbpa,vakpa, vapma.

DATA: BEGIN OF sal OCCURS 0,

ch TYPE checkbox,

vbeln LIKE vbak-vbeln, " sales document

netwr LIKE vbak-netwr, "Net Value of the SalesOrder

matnr LIKE vbap-matnr, "material no.

waerk LIKE vbak-waerk, "curr.

dat LIKE vbak-erdat, "date.

END OF sal.

DATA: newsal LIKE sal OCCURS 0 WITH HEADER LINE.

DATA: amount LIKE vbak-netwr, date2(15),date3(8),date4(1),

date5(2),date6(2).

DATA: lin LIKE sy-curow VALUE 1,"Screens, vertical cursor position at

"PAI available in SYST struc.

checkbox TYPE c ,

dat LIKE vbak-erdat.

data: char_asn(30).

******************SelectionScreenDesign***************************

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.

PARAMETERS: vkorg LIKE vepvg-vkorg,

vtweg LIKE vepvg-vtweg,

spart LIKE vepvg-spart.

SELECT-OPTIONS date FOR vbkd-bstdk DEFAULT sy-datum TO sy-datum

OBLIGATORY.

SELECTION-SCREEN END OF BLOCK blk1.

SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN POSITION 10.

PARAMETERS: chk1 AS CHECKBOX.

SELECTION-SCREEN POSITION 20.

PARAMETERS: kunnr1 LIKE vbpa-kunnr.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK blk2.

*******************FirstLevelOperation****************************

IF chk1 <> 'X'.

IF vkorg <> ''.

PERFORM organisation.

ELSE.

PERFORM organisation_else.

ENDIF.

ELSE.

IF vkorg <> ''.

PERFORM cus_orga.

ELSE.

PERFORM cus_orga_else.

ENDIF.

ENDIF.

  • Displaying the contents which is selected from table by

  • -selection conditions

SORT sal BY dat.

LOOP AT sal.

ON CHANGE OF sal-dat.

  • FORMAT HOTSPOT ON.

IF sy-tabix = 1.

WRITE: sy-vline, sal-ch AS CHECKBOX,sal-dat .

CLEAR amount.

ELSE.

WRITE:sy-vline, amount,/ sy-vline, sal-ch AS CHECKBOX,sal-dat.

CLEAR amount.

ENDIF.

ENDON.

amount = amount + sal-netwr.

AT LAST.

WRITE:sy-vline, amount.

ULINE.

SUM.

  • FORMAT HOTSPOT OFF.

FORMAT COLOR = 3.

WRITE:/ ' Total Amount:', sal-netwr UNDER amount.

ENDAT.

ENDLOOP.

*********************Interaction with report*************************

SET PF-STATUS 'BANU'. " To create Application ToolBar for Display Button

  • To verify Double click on BANU

AT USER-COMMAND. " This will execute after pressing Display Button

CASE sy-ucomm.

WHEN 'DISP'.

free newsal.

DO.

READ LINE lin FIELD VALUE sal-ch INTO checkbox.

IF sy-subrc NE 0. EXIT. ENDIF.

IF checkbox = 'X'.

PERFORM datecon.

PERFORM process.

ENDIF.

lin = lin + 1.

ENDDO.

PERFORM selection.

when 'BANU'.

ENDCASE.

                                                • SUB ROUTINE Area

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

*This Process SubRoutine will assign the values from current

  • -InternalTable (sal) into other IT(newsal), by date which is

  • - selected by CheckBox

FORM process.

LOOP AT sal WHERE dat = dat.

newsal-ch = 'X'.

newsal-vbeln = sal-vbeln.

newsal-netwr = sal-netwr.

newsal-matnr = sal-matnr.

newsal-waerk = sal-waerk.

newsal-dat = sal-dat.

APPEND newsal.

ENDLOOP.

ENDFORM. "process

&----


This will display the values for selected dates from new --

--


internal Table (newsal)--

*& Form SELECTION

&----


----


FORM selection.

ULINE.

FORMAT COLOR = 1.

WRITE:sy-vline,'Date',AT 14 sy-vline, 'Order NO', AT 27 sy-vline,

'Order Material', AT 48 sy-vline,'Order Value(AMT) Currency '.

FORMAT COLOR OFF.

ULINE.

LOOP AT newsal.

ON CHANGE OF newsal-dat.

IF sy-tabix <> 1.

WRITE:/ sy-vline, AT 14 sy-vline,AT 27 sy-vline,AT 48 sy-vline.

WRITE:/ sy-vline,newsal-dat,sy-vline,AT 27 sy-vline,AT 48 sy-vline.

ELSE.

WRITE: sy-vline,newsal-dat,sy-vline,AT 27 sy-vline,AT 48 sy-vline.

ENDIF.

ENDON.

WRITE:/ sy-vline, AT 14 sy-vline,newsal-vbeln,sy-vline,

newsal-matnr, sy-vline, newsal-netwr, newsal-waerk.

AT LAST.

SUM.

ULINE. FORMAT COLOR = 3.

WRITE:/ sy-vline, AT 15 'Total Amount for selected month:',

newsal-netwr UNDER newsal-netwr.

FORMAT COLOR OFF.

ULINE.

ENDAT.

ENDLOOP.

lin = 1.

FREE newsal.

ENDFORM. "SELECTION

  • This Date convertion is must for pick the particular Date from the

  • -displayed line, and here we are reversing the Date like YYYY/MM/DD

  • -because to Check or assign the date we need to give in reverse order

&----


*& Form DATECON

&----


  • text

----


FORM datecon.

date2 = sy-lisel(17).

SHIFT date2 LEFT BY 4 PLACES.

WHILE date2 <> ''.

SHIFT date2 RIGHT.

date4 = date2+11.

IF date4 <> '.'.

CONCATENATE date4 date3 INTO date3.

ENDIF.

ENDWHILE.

date5 = date3(2).

date6 = date3+2.

date3 = date3+4.

CONCATENATE date3 date6 date5 INTO date3.

dat = date3.

  • SORT dat BY dat.

  • DELETE ADJACENT DUPLICATES FROM dat COMPARING dat.

ENDFORM. "DATECON

  • Here we are doing different kinds of selections by the EndUser's needs

&--


When user selectiong an Sales Organisation--

*& Form ORGANISATION

&----


  • text

----


FORM organisation.

SELECT fvbeln pmatnr cnetwr cwaerk p~audat INTO (sal-vbeln,

sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN

vbak AS c ON fvbeln = cvbeln ) INNER JOIN vapma AS p ON

fvbeln = pvbeln WHERE paudat IN date AND pvkorg = vkorg.

APPEND sal.

ENDSELECT.

ENDFORM. "ORGANISATION

&--


Without Sales Organisation i.e All Organisation--

*& Form ORGANISATION_ELSE

&----


  • text

----


FORM organisation_else.

SELECT fvbeln pmatnr cnetwr cwaerk p~audat INTO (sal-vbeln,

sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN

vbak AS c ON fvbeln = cvbeln ) INNER JOIN vapma AS p ON

fvbeln = pvbeln WHERE p~audat IN date.

APPEND sal.

ENDSELECT.

ENDFORM. "ORGANISATION_ELSE

&--


When Selecting Customer by choosing CheckBox--

*& Form CUS_ORGA

&----


  • text

----


FORM cus_orga.

SELECT fvbeln pmatnr cnetwr cwaerk p~audat INTO (sal-vbeln,

sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN

vbak AS c ON fvbeln = cvbeln ) INNER JOIN vapma AS p ON

fvbeln = pvbeln WHERE paudat IN date AND pvkorg = vkorg AND

p~kunnr = kunnr1.

APPEND sal.

ENDSELECT.

ENDFORM. "CUS_ORGA

&--


Without Customer by without choosing CheckBox--

*& Form CUS_ORGA_ELSE

&----


  • text

----


FORM cus_orga_else.

SELECT fvbeln pmatnr cnetwr cwaerk p~audat INTO (sal-vbeln,

sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN

vbak AS c ON fvbeln = cvbeln ) INNER JOIN vapma AS p ON

fvbeln = pvbeln WHERE paudat IN date AND pkunnr = kunnr1.

APPEND sal.

ENDSELECT.

endform.

Read only

Former Member
0 Likes
713

Hi,

Box_fieldname TYPE slis_fieldname: Fieldname for checkbox in the report output. If the list has checkboxes at the start of records (for selecting several records), this parameter contains the internal output table field name indicated by the checkbox selection column. The field is a checkbox at the start of list records without a list header.

Value set: SPACE, internal output table field name

Reward points if helpful

Regards

Srikanta Gope

Read only

Former Member
0 Likes
713

REPORT ZALV_DISPLAY_CHANGE.

TABLES :T247.

TYPE-POOLS SLIS. "Type definitions for alv report

DATA: IT_FIELDCAT TYPE LVC_T_FCAT,

WA_FIELDCAT TYPE LVC_S_FCAT.

DATA: WA_LAYOUT TYPE LVC_S_LAYO.

DATA : BEGIN OF IT_FINAL OCCURS 0,

CHECK(1),

CELLTAB TYPE LVC_T_STYL, " Switch between display/change

MNR LIKE T247-MNR,

LTX LIKE T247-LTX,

END OF IT_FINAL.

DATA : WA_FINAL LIKE IT_FINAL.

DATA : W_REPID LIKE SY-REPID.

W_REPID = SY-REPID.

REFRESH IT_FINAL.

SELECT MNR LTX

FROM T247

INTO CORRESPONDING FIELDS OF TABLE IT_FINAL

WHERE SPRAS EQ 'E'.

WA_FIELDCAT-FIELDNAME = 'CHECK'.

WA_FIELDCAT-TABNAME = 'IT_FINAL'.

WA_FIELDCAT-CHECKBOX = 'X'.

WA_FIELDCAT-EDIT = 'X'..

WA_FIELDCAT-OUTPUTLEN = '3'.

WA_FIELDCAT-COL_POS = '1'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'MNR'.

WA_FIELDCAT-TABNAME = 'IT_FINAL'.

WA_FIELDCAT-OUTPUTLEN = '8'.

WA_FIELDCAT-COL_POS = '2'.

WA_FIELDCAT-REPTEXT = 'Month'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'LTX'.

WA_FIELDCAT-TABNAME = 'IT_FINAL'.

WA_FIELDCAT-OUTPUTLEN = '20'.

WA_FIELDCAT-COL_POS = '3'.

WA_FIELDCAT-REPTEXT = 'Month Desc'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

DATA: WA_CELLTAB TYPE LVC_S_STYL,

IT_CELLTAB TYPE LVC_T_STYL,

L_INDEX TYPE I.

CLEAR : WA_CELLTAB,WA_FINAL,IT_CELLTAB.

REFRESH IT_CELLTAB.

*Initialize the celltab table

LOOP AT IT_FINAL INTO WA_FINAL.

L_INDEX = SY-TABIX.

WA_CELLTAB-FIELDNAME = 'CHECK'.

WA_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.

INSERT WA_CELLTAB INTO TABLE IT_CELLTAB.

INSERT LINES OF IT_CELLTAB INTO TABLE WA_FINAL-CELLTAB.

MODIFY IT_FINAL FROM WA_FINAL INDEX L_INDEX.

ENDLOOP.

*Make the first five 5 rows as disabled

CLEAR L_INDEX.

LOOP AT IT_FINAL INTO WA_FINAL.

L_INDEX = SY-TABIX.

IF SY-TABIX LE 5.

LOOP AT WA_FINAL-CELLTAB INTO WA_CELLTAB.

IF WA_CELLTAB-FIELDNAME EQ 'CHECK' .

WA_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.

MODIFY WA_FINAL-CELLTAB FROM WA_CELLTAB.

MODIFY IT_FINAL INDEX L_INDEX FROM WA_FINAL TRANSPORTING CELLTAB.

ENDIF.

ENDLOOP.

ENDIF.

ENDLOOP.

WA_LAYOUT-BOX_FNAME = 'CHECK'.

WA_LAYOUT-NO_ROWMARK = 'X'.

WA_LAYOUT-STYLEFNAME = 'CELLTAB'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'

EXPORTING

I_CALLBACK_PROGRAM = W_REPID

I_GRID_TITLE = 'GRID DISPLAY'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT_LVC = WA_LAYOUT

IT_FIELDCAT_LVC = IT_FIELDCAT

TABLES

T_OUTTAB = IT_FINAL

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

FORM USER_COMMAND USING P_UCOMM TYPE SY-UCOMM

P_SELFLD TYPE SLIS_SELFIELD.

Data ref1 type ref to cl_gui_alv_grid.

CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'

IMPORTING

E_GRID = ref1.

call method ref1->check_changed_data

CASE P_UCOMM.

WHEN 'DELETE'.

loop at it_final where check eq 'X'.

count = count + 1. " Counts the no of checked records

endloop.

ENDCASE.

ENDFORM.