2006 Jan 10 10:13 AM
Hi,
ALV List created through :
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
My Code for layout:
FORM form_build_layout_1301 CHANGING value(gs_layout_1301) TYPE
slis_layout_alv.
gs_layout_1301-colwidth_optimize = 'X'.
gs_layout_1301-totals_only = 'X'.
gs_layout_1301-totals_text = 'Total'.
gs_layout_1301-totals_before_items = 'X'.
gs_layout_1301-zebra = 'X'.
gs_layout_1301-box_fieldname = 'FLAG'.
gs_layout_1301-detail_popup = 'X'.
SKIP.
ENDFORM.
<b>1.</b>
As you can see the itab-Flag (type char length 1) field is being used to show a check box infront of each rows.
these check boz will be selelected and a button will be pressed to create a PO order. Some rows shown here should have these check box disable. I know how to disable all the check box for entire ALV rows. but that is not what we want here.
<b>2.</b>
My ALV records are grouped on the basis of plant and sold-to party. code :
FORM form_build_sortcat_1301 CHANGING value(it_sort) TYPE
slis_t_sortinfo_alv.
DATA ls_sort LIKE LINE OF it_sort .
CLEAR ls_sort.
ls_sort-spos = '1' .
ls_sort-fieldname = 'KUNNR'.
ls_sort-up = 'X' . "A to Z
* Uncomment it, if you want to hav sum on the basis of subordernumber
* ls_sort-subtot = 'X'.
* ls_sort-expa = 'X'.
ls_sort-down = space .
APPEND ls_sort TO it_sort .
CLEAR ls_sort.
ls_sort-spos = '1' .
ls_sort-fieldname = 'WERKS' .
ls_sort-up = 'X' . "A to Z
* Uncomment it, if you want to hav sum on the basis of subordernumber
* ls_sort-subtot = 'X'.
* ls_sort-expa = 'X'.
ls_sort-down = space .
APPEND ls_sort TO it_sort .
ENDFORM.
Whant we have is plant, sold-to in an orange stripe and then related record with check box in normal rows. but these rows are showing plant, sold-to (repeate) in front of each rows.
V want to see plant and sold-to in the sub-total line only and not repeatedly. i have tried
gs_layout_1301-row = 1
but it is not giving me required GUI
2006 Jan 10 10:27 AM
Hi Anurag,
1.
As you can see the itab-Flag (type char length 1) field is being used to show a check box infront of each rows.
these check boz will be selelected and a button will be pressed to create a PO order. Some rows shown here should have these check box disable. I know how to disable all the check box for entire ALV rows. but that is not what we want here.
<b>
For all the lines in your internal table that you want to disable, just fill field FLAG = '1' (if you want it marked and disabled) or FLAG = '2' (if you dont want it marked and just want it disabled).</b>
I will get back to you on <b>2.</b> in the same post shortly.
Hope this helps..
Sri
2006 Jan 10 10:27 AM
Hi Anurag,
1.
As you can see the itab-Flag (type char length 1) field is being used to show a check box infront of each rows.
these check boz will be selelected and a button will be pressed to create a PO order. Some rows shown here should have these check box disable. I know how to disable all the check box for entire ALV rows. but that is not what we want here.
<b>
For all the lines in your internal table that you want to disable, just fill field FLAG = '1' (if you want it marked and disabled) or FLAG = '2' (if you dont want it marked and just want it disabled).</b>
I will get back to you on <b>2.</b> in the same post shortly.
Hope this helps..
Sri
2006 Jan 10 11:15 AM
Hi Srikanth ,
<b>flag 2 is brilliant!</b>
Never knew that lvc_s_styl kind of thing is implemented in the alv list in such a simple way.
Though we may argue that it is not as versatile as lvc_s_styl data variable.
2006 Jan 10 12:14 PM
Hi Anurag,
Yes I agree it is much simpler compared to styles, the only thing I would like to add is that styles are designed to cover more functionality.
And now about <b>2.</b>, I have tried various things but it seems there is no simple solution for this.
I think you can try subscribing for BEFORE_LINE_OUTPUT event and then clear out the corresponding fields if the the line that is going to be output (TABINDEX is passed in ls_lineinfo) and is not a subtotal line (SUBTOTAL flag of structure ls_lineinfo will be empty).
Something like the following,
gt_events-name = slis_ev_before_line_output.
gt_events-form = 'BEFORE_LINE_OUTPUT'.
APPEND gt_events.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
....
....
it_events = gt_events[]
....
....
and then,
----
FORM before_line_output *
----
........ *
----
--> LS_LINEINFO *
----
FORM before_line_output USING ls_lineinfo TYPE slis_lineinfo.
****Read your internal table with LS_LINEINFO-TABINDEX and do your processing..
ENDFORM.
Hope this helps..
Sri
2006 Jul 18 8:43 AM
i am unable to disable the checkbox even after passing 2 into the field, is there anything else i am supposed to do?
this is my field layout
st_layout-zebra = 'X'.
st_layout-expand_all = 'X'.
st_layout-colwidth_optimize = 'X'.
st_layout-no_sumchoice ='X'.
st_layout-no_totalline = 'X'.
st_layout-no_subtotals = 'X'.
st_layout-cell_merge = ' '.
st_layout-box_fieldname = 'UPDATE'. " fieldname for checkbox
st_layout-box_tabname = 'I_OUTPUT'." tabname for checkbox
2013 Oct 18 6:31 PM
Even I tried passing "2" in the checkbox field of itab but not getting it to work. Anyone has any ideas?
Thx
2016 May 02 11:05 AM
Hi Srikanth,
Thanks!! for this reply, it really helped me to disable check box in some cases, otherwise I have to be change layout properties and would do work around LVC_S_LAYO. Now, I am simply populated the flag with 2 for making it disable.
Many Thanks / Himanshu Gupta