REUSE_ALV_GRID_DISPLAY - layout variant
Hi all
I am working with REUSE_ALV_GRID_DISPLAY function module. For layout variant I using the below code
parameters: variant LIKE disvariant-variant.
* POV for Layout
at selection-screen on value-request for variant.
g_save = 'A'.
clear g_variant.
g_variant-report = sy-repid.
gx_variant = g_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE = g_save
CHANGING
CS_VARIANT = gx_variant
EXCEPTIONS
NOT_FOUND = 2.
IF SY-SUBRC = 0.
variant = gx_variant-variant.
ENDIF.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = g_variant
I_SAVE = g_save
IMPORTING
E_EXIT = g_exit
ES_VARIANT = gx_variant
EXCEPTIONS
NOT_FOUND = 2.
IF SY-SUBRC = 2.
MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
IF g_exit = SPACE.
variant = gx_variant-variant.
ENDIF.
ENDIF.
Everything is working well right now. I have two layouts saved. But my question is when I execute my report I want to see one of the saved layout by default in my 'variant' at selection screen.
How can I do this? PLease help. Waiting......
Here is some modified code. Notice here that I have added another event. AT SELECTION-SCREEN OUTPUT. If you have a default variant defined, it will now show up in the screen.
report zrich_0003.
data: g_save type c value 'X'.
data: g_variant type disvariant.
data: gx_variant type disvariant.
data: g_exit type c.
data: ispfli type table of spfli.
parameters: variant like disvariant-variant.
at selection-screen output.
check variant is initial.
gx_variant-report = sy-repid.
call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
* exporting
* i_save = g_save
changing
cs_variant = gx_variant
exceptions
not_found = 2.
if sy-subrc = 0.
variant = gx_variant-variant.
endif.
* POV for Layout
at selection-screen on value-request for variant.
g_save = 'A'.
clear g_variant.
g_variant-report = sy-repid.
* gx_variant = g_variant.
call function 'REUSE_ALV_VARIANT_F4'
exporting
is_variant = g_variant
i_save = g_save
importing
e_exit = g_exit
es_variant = gx_variant
exceptions
not_found = 2.
if sy-subrc = 2.
message id sy-msgid type 'S' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
if g_exit = space.
variant = gx_variant-variant.
endif.
endif.
start-of-selection.
select * into table ispfli from spfli.
g_variant-report = sy-repid.
g_variant-variant = variant.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_structure_name = 'SPFLI'
i_save = g_save
is_variant = g_variant
tables
t_outtab = ispfli
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
REgards,
Rich Heilman
Similar Messages
-
Hi Gurus,
In my ALV report there are two Layout variants.
a) Default Layout - /DEFAULT created by someone else earlier.
b) User specific - created and saved by me (name CS Layout)
I am using this function module
alv_variant-report = sy-repid.
alv_variant-username = sy-uname.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = 'U'
CHANGING
cs_variant = xalv_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
p_vari = xalv_variant-variant.
ENDIF.
PROBLEM: Even though I am passing user specific information to this FM, but it is returning me the Default layout, but
I want the user specific layout(CS Layout) which I created and saved.
Please help !Hi Chandan,
alv_variant-report = sy-repid.
alv_variant-username = sy-uname.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = 'U'
CHANGING
cs_variant = xalv_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
p_vari = xalv_variant-variant---------->What does this variable contain.
ENDIF.
You are not populating any value to the variable xalv_variant,again you are passing it again to p_vari.
Check this link once.
[REUSE_ALV_GRID_DISPLAY - layout variant|REUSE_ALV_GRID_DISPLAY - layout variant;
Have a look at rich's reply
Regards,
Lakshman. -
Hi ,
I have executed a report . I hide one column and saved the layout. The layout name comes on to the selection screen parameter which i have defined on the selection screen.
PARAMETERS: p_vari LIKE disvariant-variant. " ALV Variant
i have made the i_save = 'A' and is_default = 'x'. and also used other function modules reg. Variants.
but if i select the layout variant in the selection screen and execute it is not working . the hidden column also coming on the output.
But if the select the layout variant on the output of the report from the icon select layout it is working fine. the column which i have hidden is not coming. it is perfect. why it is not working when i select the variant in the selection screen.
Regards,
Rose.Hi,
Please try this code
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
w_variant-report = sy-repid.
* Function module to show the variant of a ALV report
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = w_variant
i_save = 'A'
IMPORTING
es_variant = w_kvariant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
p_vari = w_kvariant-variant.
ENDIF.
END-OF-SELECTION.
MOVE w_variant TO w_kvariant.
MOVE p_vari TO w_kvariant-variant.
MOVE sy-repid TO w_kvariant-report.
* Function module to check the variant existence
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
i_save = w_save
CHANGING
cs_variant = w_kvariant.
w_variant = w_kvariant.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
i_callback_html_top_of_page = 'HTML_HEADING'
i_grid_title = text-t06
i_grid_settings = wa_grid_set
is_layout = wa_layout
it_fieldcat = t_fieldcat
i_save = 'X'
is_variant = w_variant
is_print = wa_print
TABLES
t_outtab = t_header
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
CASE sy-subrc.
WHEN 1. RAISE program_error.
WHEN 2. RAISE others.
ENDCASE.
ENDIF.
Regards
Krishna
Edited by: Krishna Gowrneni on Apr 17, 2009 5:27 PM -
Unable to save the ALV layout variant and display of selection screen on F4
Hi All,
The end user wants to directly select the layout variant (SLIS_VARI). I have used the following code to display the layout variant on selection screen. But, I am unable to save the variant on ALV. Whenever I am trying to select the layout variants (by doing F4 on selection screen) its displaying "No Layout found".
Following is the code for displaying layout variant:
PARAMETERS: p_var TYPE slis_vari.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_var.
PERFORM f4_variant CHANGING p_var.
FORM f4_variant CHANGING c_variant TYPE slis_vari.
DATA: ls_variant TYPE disvariant,
l_exit TYPE char1.
ls_variant-report = sy-repid.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = ls_variant
i_save = 'A'
IMPORTING
e_exit = l_exit
es_variant = ls_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF l_exit EQ space.
c_variant = ls_variant-variant.
ENDIF.
ENDIF.
ENDFORM. " f4_variant
and following is the code for displaying the ALV:
FORM edition_alv.
ws_variant2 = ls_variant.
* Call ALV editor in list mode
IF p_list = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = ws_extract1-report
i_callback_user_command = ws_user_command
is_layout = ws_layout
it_fieldcat = wt_fieldcat
it_sort = wt_sort
i_save = 'A'
is_variant = ws_variant2
it_events = wt_events[]
TABLES
t_outtab = wt_edition.
* Call ALV editor in grid mode
ELSE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = ws_extract1-report
i_callback_user_command = ws_user_command
it_fieldcat = wt_fieldcat
it_sort = wt_sort
i_save = 'A'
is_variant = ws_variant2
it_events = wt_events[]
TABLES
t_outtab = wt_edition.
ENDIF.
ENDFORM.
I am not sure whats going wrong, but I am unable to save variants.
Please help.
Thanks,
Vishal.The F4 will display you the existing layouts only. So you need to save the layout first & then execute the report again & check if you are getting F4 values for that field.
The Layout needs to get stored with variant.
Regards,
Mahesh -
How to pass layout variant in background job?
Dear Gurus,
I have set layout variant as PARAMETERS in my program.
The report will be executed successfully in front-end, but if I set it in background , it will pop up error msg: Program (IS_VARIANT-REPORT) not specified.
But the alv function I have check...
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BYPASSING_BUFFER = 'X'
I_CALLBACK_PROGRAM = W_REPID
I_GRID_TITLE = V_GRID_TITLE
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
* I_CALLBACK_USER_COMMAND = 'FORM_USER_COMMAND'
* I_STRUCTURE_NAME = 'ZSDS0005'
I_SAVE = 'A'
IS_LAYOUT = I_LAYOUT
* IS_VARIANT = STRU_DISVAR
IS_VARIANT = DEF_VARIANTE_F4
IT_FIELDCAT = I_FIELDCAT_ALV[]
IT_SORT = XT_SORT[]
TABLES
T_OUTTAB = IT_OUT
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
JamieThank you so much, but the sample code have one bug, and I have already modified the code.
The variant will be caught only after clicking F4 list, if there's already one default variant, system will ignore it.
AT SELECTION-SCREEN.
* Validating selection screen fields
PERFORM F_AT_SELECTION_SCREEN.
*& Form f_at_selection_screen
* text
* --> p1 text
* <-- p2 text
FORM F_AT_SELECTION_SCREEN .
* ALV Layout variant
IF NOT P_VARI IS INITIAL.
MOVE GX_VARIANT TO G_VARIANT.
MOVE P_VARI TO G_VARIANT-VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
I_SAVE = 'A'
CHANGING
CS_VARIANT = G_VARIANT.
GX_VARIANT = G_VARIANT.
ELSE.
PERFORM F_INITIALIZE_VARIANT.
ENDIF.
ENDFORM. " f_at_selection_screen
*& Form f_initialize_variant
* text
* --> p1 text
* <-- p2 text
FORM F_INITIALIZE_VARIANT .
* CLEAR DEF_VARIANTE_F4.
* gv_save = 'X'.
GX_VARIANT-REPORT = SY-REPID.
* DEF_VARIANTE = DEF_VARIANTE_F4.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE = G_SAVE
CHANGING
CS_VARIANT = GX_VARIANT
EXCEPTIONS
NOT_FOUND = 2.
IF SY-SUBRC = 0.
P_VARI = GX_VARIANT-VARIANT.
ENDIF.
ENDFORM. " f_initialize_variant -
Can any body tell me how to create a layout variant in the selection
hi friends i would like to know how to create a layout variant in the selection screen and how to select the variant to display the ouptut using the layout using disvariant.please if possible give me example. thanks in advance.
hi,
I shall give you the code. It will definitely work.
<u><b>Declerations you need to make</b></u>
data: WK_VARIANT LIKE DISVARIANT,
WX_VARIANT LIKE DISVARIANT,
WK_REPID LIKE SY-REPID,
WK_VARIANT_SAVE(1) TYPE C,
WK_EXIT(1) TYPE C.
<b><u>Things you need to do in the initialization event:</u></b>
INITIALIZATION.
PERFORM F_INIT_VARIANT.
PERFORM F_VARIANT_DEFAULT USING PR_VARI.
*& Form f_init_variant
FORM F_INIT_VARIANT .
CLEAR WK_VARIANT.
WK_REPID = SY-REPID.
WK_VARIANT-REPORT = WK_REPID.
WK_VARIANT-USERNAME = SY-UNAME.
WK_VARIANT_SAVE = 'A'.
ENDFORM. " f_init_variant
*& Form f_variant_default
FORM F_VARIANT_DEFAULT USING P_PR_VARI.
WX_VARIANT = WK_VARIANT.
IF NOT P_PR_VARI IS INITIAL.
WX_VARIANT-VARIANT = P_PR_VARI.
ENDIF.
CALL FUNCTION 'LVC_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE = WK_VARIANT_SAVE
CHANGING
CS_VARIANT = WX_VARIANT
EXCEPTIONS
WRONG_INPUT = 1
NOT_FOUND = 2
PROGRAM_ERROR = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CASE SY-SUBRC.
WHEN 0.
P_PR_VARI = WX_VARIANT-VARIANT.
WHEN 2.
CLEAR P_PR_VARI.
ENDCASE.
ENDFORM. " f_variant_default
<b><u> After this Things you need to do in the At selection screen event:</u></b>
AT SELECTION-SCREEN ON VALUE-REQUEST FOR PR_VARI.
PERFORM F_VARIANT_F4 USING PR_VARI.
*& Form f_variant_f4
FORM F_VARIANT_F4 USING P_PR_VARI.
CALL FUNCTION 'LVC_VARIANT_F4'
EXPORTING
IS_VARIANT = WK_VARIANT
I_SAVE = WK_VARIANT_SAVE
IMPORTING
E_EXIT = WK_EXIT
ES_VARIANT = WX_VARIANT
EXCEPTIONS
NOT_FOUND = 1
PROGRAM_ERROR = 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.
IF WK_EXIT IS INITIAL.
WK_VARIANT-VARIANT = WX_VARIANT-VARIANT.
P_PR_VARI = WX_VARIANT-VARIANT.
ENDIF.
ENDFORM. " f_variant_f4
After this finally when you call the output using REUSE_ALV_GRID_DISPLAY YOU NEED TO mention this parameter in the function module
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
<i><u><b>IS_LAYOUT = WA_LAYOUT</b></u></i>
<i><u><b>I_SAVE = 'X'</b></u></i>
<u><i>I_DEFAULT = 'X'</i></u>
<u><b>IS_VARIANT = WK_VARIANT</b></u>
TABLES
T_OUTTAB = ITAB1
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
Once you do this,,, you can create a layout variant.
P.S. Mark all helpful answers for points.
JLN -
Layout variant is not working in background in ALV report
Hi,
I have one LAV report to send the report output through mail in foreground and backgroud.Final internal table is having 46 fileds to display the output.But here user is saving the layout variant and sending that layout variant output to mail id in excel format with zip file.Its working in foreground.But in background its not working.Even if we select the layout variant,its sending all the 46 fileds to mail.
here we have used the below FM to update the fieldcat itab.
CALL FUNCTION 'REUSE_ALV_GRID_LAYOUT_INFO_GET'
IMPORTING
et_fieldcat = it_fieldcat[]
es_variant = v_disvariant
EXCEPTIONS
no_infos = 1
program_error = 2
OTHERS = 3.
In for ground NO_OUT = 'x' for non selected fields and NO_OUT = ' ' for selected fields.
But in background NO_OUT = ' ' for all the fileds, even if we select the layout variant.
Please suggest me with the solution.
Regards,
Jayaramhi ,
Do according to this
SORT t_ekbe by belnr.
if t_ekbe[] is not initial .
SELECT MBLNR
BWART
SMBLN
ERFMG " This is the new added field
erfme " This is the new added field
INTO CORRESPONDING FIELDS OF TABLE t_mseg
for all entries in t_ekbe
from mseg
where mblnr = t_ekbe-belnr
AND bwart = '101'.
endif.
after this
loop at t_ekbe .
loop at t_mseg where mblnr = t_ekbe-belnr .
t_ekbe-ERFMG = t_mseg-ERFMG .
t_ekbe-erfme = t_mseg-erfme .
modify t_ekbe transporting ERFMG erfme .
clear t_mseg .
endloop.
clear t_ekbe .
endloop.
Regards
Deepak . -
ALV layout variant missing in background job.
hi guys,
Having problem on getting the default ALV layout variant when run the job in backgorund. Please advise any correction needed in the following code.
Thanks.
*& Include Z_MM_KBR_AGSUBCONINV_MOD2 *
MODULE status_0100 OUTPUT.
SET PF-STATUS '100'.
SET TITLEBAR '100'.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module display_data OUTPUT
text
MODULE display_data OUTPUT.
IF sy-batch IS INITIAL. "Foreground
IF w_container IS INITIAL.
IF cl_gui_alv_grid=>offline( ) IS INITIAL.
*Creating the container
CREATE OBJECT w_container
EXPORTING
container_name = c_container
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
*Creating the ALV GRID
CREATE OBJECT w_grid
EXPORTING
i_parent = w_container
i_appl_events = c_check
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
else.
exit.
ENDIF.
ELSE.
*Creating the ALV GRID
CREATE OBJECT w_grid
EXPORTING
i_parent = go_dock_container
i_appl_events = c_check
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
IF sy-subrc <> 0.
WRITE:/ 'Error in grid'.
ENDIF.
CREATE OBJECT w_grid
EXPORTING i_parent = go_dock_container.
ENDIF.
*getting the variant option
wa_variant-report = sy-repid.
wa_variant-username = sy-uname.
wa_layout-grid_title = sy-title.
wa_layout-cwidth_opt = c_check.
wa_layout-zebra = c_check.
wa_layout-no_f4 = c_check.
wa_layout-sel_mode = 'D'.
*Excluding the unwanted buttons
PERFORM exclude_toolbar_buttons.
build field catalog.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_buffer_active = c_check
i_structure_name = c_fcat_str
i_bypassing_buffer = c_check
CHANGING
ct_fieldcat = t_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 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.
loop at t_fieldcat into w_fieldcat.
if w_fieldcat-FIELDNAME = 'AGING1'.
W_FIELDCAT-NO_ZERO = 'X'.
MODIFY t_fieldcat FROM W_FIELDCAT INDEX SY-TABIX.
ENDIF.
endloop.
Generate sort critria
PERFORM generate_sort.
Create object of class lcl_event_receiver.
CREATE OBJECT w_event.
Handler for events.
SET HANDLER w_event->handle_top_of_page FOR w_grid.
SET HANDLER w_event->handle_print_top_of_page FOR w_grid.
SET HANDLER w_event->handle_print_end_of_list FOR w_grid.
SET HANDLER w_event->handle_hotspot_click FOR w_grid.
*Displaying the alv
IF NOT sy-batch IS INITIAL.
PERFORM create_snp.
ENDIF.
t_data = i_final.
CALL METHOD w_grid->set_table_for_first_display
EXPORTING
i_save = 'A'
is_layout = wa_layout
is_variant = wa_variant
CHANGING
it_outtab = t_data
it_fieldcatalog = t_fieldcat
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ENDIF.
ENDMODULE. " display_data OUTPUT
*& Module user_command_0100 INPUT
text
MODULE user_command_0100 INPUT.
DATA: lt_rows TYPE lvc_t_row,
w_rows TYPE lvc_s_row.
CASE sy-ucomm.
WHEN c_back.
LEAVE TO SCREEN 0.
WHEN c_exit.
LEAVE TO SCREEN 0.
WHEN c_cancel.
LEAVE TO SCREEN 0.
WHEN 'BILDET'.
CALL METHOD w_grid->get_selected_rows
IMPORTING
et_index_rows = lt_rows.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc EQ 0.
READ TABLE lt_rows INTO w_rows INDEX 1.
READ TABLE i_vbfa INTO w_vbfa INDEX w_rows-index.
IF sy-subrc EQ 0.
CLEAR i_zbw_br_nf4.
LOOP AT i_zbw_br_nf3 INTO w_zbw_br_nf3 WHERE
refkey = w_vbfa-v_vbeln.
APPEND w_zbw_br_nf3 TO i_zbw_br_nf4.
ENDLOOP.
call dialog screen and display new alv control
CALL SCREEN 101 STARTING AT 10 5.
ENDIF.
ENDIF.
WHEN 'NOTAF'.
CALL METHOD w_grid->get_selected_rows
IMPORTING
et_index_rows = lt_rows.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc EQ 0.
READ TABLE lt_rows INTO w_rows INDEX 1.
READ TABLE i_zbw_br_nf3 INTO w_zbw_br_nf3 INDEX w_rows-index.
DATA docnum LIKE j_1bdydoc-docnum.
docnum = w_zbw_br_nf3-docnum.
SET PARAMETER ID 'JEF' FIELD docnum.
CALL TRANSACTION 'J1B3N' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDMODULE. " user_command_0100 INPUT
*& Form modify_col_name
text
-->P_<FCAT> text
-->P_TEXT_H01 text
FORM modify_col_name USING pwa_fcat TYPE lvc_s_fcat
value(pw_text) TYPE any.
pwa_fcat-coltext = pw_text.
pwa_fcat-scrtext_l = pw_text.
pwa_fcat-scrtext_m = pw_text.
pwa_fcat-scrtext_s = pw_text.
ENDFORM. " modify_col_name
FORM display_hotspot *
FORM display_hotspot USING pw_row_id TYPE lvc_s_row
pw_column_id TYPE lvc_s_col.
FIELD-SYMBOLS <l_data> TYPE zbrforecast.
READ TABLE t_br_nf_acum ASSIGNING <l_data> INDEX pw_row_id-index.
CHECK sy-subrc = 0.
IF pw_column_id = ' '.
ENDIF.
ENDFORM. "display_hotspot
*& Form generate_sort
Genereate Sort criteria
FORM generate_sort.
Local variables
DATA: wal_sort TYPE lvc_s_sort,
wl_pos TYPE numc2.
wl_pos = 01.
sort ORDER
wal_sort-spos = wl_pos.
wal_sort-fieldname = c_aufnr.
wal_sort-up = c_check.
APPEND wal_sort TO t_sort.
ENDFORM. "generate_sort
*& Form f4_variant
text
<--PW_VARI text
FORM f4_variant CHANGING pw_vari TYPE disvariant-variant.
wa_variant-report = sy-cprog.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = wa_variant
i_save = c_u
IMPORTING
es_variant = wa_variant
EXCEPTIONS
not_found = 1
program_error = 2
OTHERS = 3.
IF sy-subrc IS INITIAL.
pw_vari = wa_variant-variant.
ELSE.
MESSAGE s208(00) WITH text-t04.
ENDIF.
ENDFORM. " f4_variant
*& Form validate_layout
*This subroutine is to validate the layout
No parameters are passed to this subroutine
FORM validate_layout.
IF NOT p_layout IS INITIAL.
Check Layout
wa_variant-report = sy-repid.
wa_variant-username = sy-uname.
wa_variant-variant = p_layout.
CALL FUNCTION 'LVC_VARIANT_EXISTENCE_CHECK'
EXPORTING
i_save = c_u
CHANGING
cs_variant = wa_variant
EXCEPTIONS
OTHERS = 01.
IF NOT sy-subrc IS INITIAL.
SET CURSOR FIELD 'P_LAYOUT'.
MESSAGE s001(00) WITH text-t06 p_layout.
STOP.
ENDIF.
ELSE.
clear wa_variant.
ENDIF.
ENDFORM. " validate_layout
*& Form validate_data
text
FORM validate_data .
PERFORM validate_layout.
ENDFORM. " validate_dataHi,
Before the call to method set_table_for_first_display, populate
wa_variant-report = sy-repid.
Best regards,
Prashant -
Download alv report using layout variant in background
Hi All,
I want to download an Alv report using layout varaint in background job.
can any one please help me.
i.e...
I am facing a problem in downloading a text file to the Application server.
My requirement is, when the user downloads a file with the layout variant, the file should have only the columns which was selected in the variant.
Will rewards to helpfull ans
regards
Chetanhey seshu,
I am facing a problem in downloading a text file to the Application server.
My requirement is, when the user downloads a file with the layout variant, the file should have only the columns which was selected in the variant. -
DB Table for Layout Variant in ALV report
Please help me by providing the table name which will get an entry when we save Layout Variant in ALV(OO ALV grid) output.
Hi,
I have seen the table LTDX which is giving me the Variant names for a particular program. Hope this will help you.
Database table is LTDX
Database view is V_LTDX.
Regards,
Venaktesh -
Hello,
This is regarding Layout variant.
In my program I have called the function module for layout variant . Its working correctly.
When the user click the change-layout from toolbar. -> then change_layout screen will come. Up to this it is ok.
My problem is -
<b>But there I am not getting the save buttom inside the change_layout screen.
I need the save button there.</b>
I am using object oriented method .
Please help me.
Thanks in advance.
LIJO JOHN.Solved myself.
-
Not printing do_sum value in output while selecting layout variant
Hi experts,
I had created layout variant for selection screen . if i dont put layout variant it show proper output with do_sum value(TOTAL), but when i save screen layout variant as both default and user-specific , it gives output but the field having do_sum value in fieldcatlog is not showing do_sum vaule(TOTAL), it show all record but not there total. So please tell me what should be done to show the do_sum value(Total).
Thanks In Advance,
AshishHi Anish,
Try using gs_layout-no_totline = ' '.
Thanks,
Regards
Kiran -
Using Layout Variant in jobs that are scheduled to run in background
Hi Guys,
I have an issue in using the "layout variant" in running a report in the background. Here is what i do to run a report.
I select a "selection Variant" and at the bottom of the Report input screen, I choose an User- Specific "Layout Variant" which i have saved with few columns only to show in the report.
When i run this in foreground, i am able to get the report with my "Layout variant" with only my selected columns. I could also export this output and it looks fine in excel.
When i run the same report with the same "Layout Variant" in background and save it to my local desktop as an excel file, my "Layout Variant" doesn't seem to work and i am getting all the columns and fields of the reports as such.
Is this the way, the "Layout variants" will work? Whether this will not work in background jobs? Is this the way standard SAP work?
Please guide me...
Good rating points will be given for useful inputs..
Anand ViswanathanStandard SAP functionality
-
Report Layout variant missing in ECC6
Hi All,
we are going for upgrade from 4.6 to ECC6. In ECC6 in most of report's report layout variant are missing in ECC6.But our client want same variant in ECC6 as in 4.6.
Please sugest how to over come this issue.
Thanks
Mohit KhandelwalMohit,
I think you can try out this...
Include the variant in a transport request and give the transport req no to the basis guy; and inform him to import the same req no into ECC6 version.
He can export the transport req no from 4.6 to windows desktop and then he can import the same into ECC 6 system.
I hope this will solve your issue.
- Seenu
Edited by: Sreenivasulu Nallani on Jan 25, 2010 12:24 PM -
Issues in Change layout Variant of ALV grid
Hi all,
I am using a ALV gird to display the data with some table column. I am able to save/ choose the Layout variant. I choose the existing layout varaint it works fine but when I change the column fields display from selected layout then it will immidiately looks fine, but if I perform some event, it goes to the initial stage of the choosed layout varaint.
I can solve this issue if I clear the Variant from the is_variant (of set_table_for_first_display method). So if I can find the fieldcatalog for layout Variant, then it will solved very easily.
Please suggest, if you have any idea on this.
Thanks,
Sanket SethiI got the solution. You can find the Variant field catalog by using Function module 'LVC_VARIANT_SELECT'. You can set the dialog box based on your requirements as well. So closing this thread. Thanks..
Maybe you are looking for
-
I have never used Firefox Sync so i gave it a try. Then found out it is indeed very useful until i got an error: Error While Syncing. I fixed by changing my password. But the error came back and i ignored. I searched and found out that one solution w
-
Trackpad not working on brand new Macbook Pro 15" not retina,
I've just got from UPS my new Macbook Pro 15" not retina. It's the basic model, without upgrades. I've plugged it in and turned it on to go through the setup assistant, but I had to do it with the keyboard and an external USB mouse, because the inter
-
IMac as display only??
My iMac recently died. The apple care rep told me the mother board was bad. The computer will still turn on, it just sits there with a spinning wheel on the gray screen. Just out of curisoity, if I were to purchase a mac-mini, is it possible to us
-
Upgraded to 10.4 - Session and Backup Errors
Hello All, I just upgraded to 10.4 and now my IPhone 4 is having issues syncing. First it was stuck in a verify mode. Then the backup would not work. I deleted all of my backups and tried again. I either get a message saying that a backup could n
-
Trying to fix something from an earlier problem and i deleted the Speakable Items App (~/System/Library/Speech/Recognizers/AppleSpeakableItems.SpeechRecognizer/Conte nts/PlugIns) Please help