Ver Mensaje Individual
  #6  
Viejo 12/06/08, 14:00:15
ghostolivos ghostolivos is offline
Junior Member
 
Fecha de Ingreso: may 2006
Mensajes: 5
Lightbulb Idea

A mi en un Requerimiento me solicitaron poner como parametro de seleccion el Layot del ALV
hice lo siguiente:

Defini el parametro de seleccion

PARAMETERS p_layout LIKE disvariant-variant.

cree la ayuda de busqueda para el layout

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_layout.
**************************************************
PERFORM f_value_request_p_layout.


esto va en el Include de los Forms


*&---------------------------------------------------------------------*
*& Form value_request_p_layout
*&---------------------------------------------------------------------*
FORM f_value_request_p_layout .

CONSTANTS: i_display_via_grid TYPE char01 VALUE space,
i_tabname_header TYPE slis_tabname VALUE space,
i_tabname_item TYPE slis_tabname VALUE space,
i_save TYPE c VALUE 'A'.

DATA: e_exit TYPE c,
es_variant LIKE disvariant,
is_variant LIKE disvariant.

DATA it_default_fieldcat TYPE slis_t_fieldcat_alv.

MOVE sy-repid TO is_variant-report.

CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = is_variant
i_tabname_header = i_tabname_header
i_tabname_item = i_tabname_item
it_default_fieldcat = it_default_fieldcat
i_save = i_save
i_display_via_grid = i_display_via_grid
IMPORTING
e_exit = e_exit
es_variant = es_variant
EXCEPTIONS
not_found = 1
program_error = 2
OTHERS = 3.

IF sy-subrc IS INITIAL.
MOVE es_variant-variant TO p_layout.

IF e_exit EQ space.
* No action.
ELSE.
CLEAR e_exit.
ENDIF.
ELSE.
CLEAR sy-subrc.
MESSAGE ID sy-msgid
TYPE sy-msgty
NUMBER sy-msgno
WITH sy-msgv1
sy-msgv2
sy-msgv3
sy-msgv4.
ENDIF.

ENDFORM. " value_request_p_layout




Por ultimo en mi caso tenia la funcion del ALV
Fijate en este caso que te sirve a vos



*&---------------------------------------------------------------------*
*& Form alv_grid_display
*&---------------------------------------------------------------------*
FORM f_alv_grid_display TABLES it_fieldcat TYPE slis_t_fieldcat_alv.

CONSTANTS: i_background_id TYPE sdydo_key VALUE space,
i_buffer_active TYPE c VALUE space,
i_bypassing_buffer TYPE char01 VALUE c_x,
i_callback_html_end_of_list TYPE slis_formname VALUE space,
i_callback_html_top_of_page TYPE slis_formname VALUE space,
i_callback_pf_status_set TYPE slis_formname VALUE space,
i_callback_top_of_page TYPE slis_formname VALUE space,
i_callback_user_command TYPE slis_formname VALUE space,
i_default TYPE c VALUE c_x,
i_grid_title TYPE lvc_title VALUE space,
i_html_height_end TYPE i VALUE 0,
i_html_height_top TYPE i VALUE 0,
i_save TYPE c VALUE 'A',
i_interface_check TYPE c VALUE space,
i_screen_end_column(04) TYPE n VALUE '0000',
i_screen_end_line(04) TYPE n VALUE '0000',
i_screen_start_column(04) TYPE n VALUE '0000',
i_screen_start_line(04) TYPE n VALUE '0000',
i_structure_name LIKE dd02l-tabname VALUE space.

DATA: e_exit_caused_by_caller TYPE c,
es_exit_caused_by_user TYPE slis_exit_by_user,
i_callback_program LIKE sy-repid,
i_grid_settings TYPE lvc_s_glay,
is_layout TYPE slis_layout_alv,
is_print TYPE slis_print_alv,
is_reprep_id TYPE slis_reprep_id,
is_sel_hide TYPE slis_sel_hide_alv,
is_variant LIKE disvariant.

DATA: it_add_fieldcat TYPE slis_t_add_fieldcat,
it_alv_graphics TYPE dtc_t_tc,
it_event_exit TYPE slis_t_event_exit,
it_events TYPE slis_t_event,
it_except_qinfo TYPE slis_t_qinfo_alv,
it_excluding TYPE slis_t_extab,
it_filter TYPE slis_t_filter_alv,
it_hyperlink TYPE lvc_t_hype,
it_sort TYPE slis_t_sortinfo_alv,
it_special_groups TYPE slis_t_sp_group_alv.

CLEAR it_fieldcat.
MOVE: sy-repid TO i_callback_program,
c_x TO is_layout-zebra,
c_x TO is_layout-colwidth_optimize,
sy-repid TO is_variant-report,
p_layout TO is_variant-variant.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_interface_check = i_interface_check
i_bypassing_buffer = i_bypassing_buffer
i_buffer_active = i_buffer_active
i_callback_program = i_callback_program
i_callback_pf_status_set = i_callback_pf_status_set
i_callback_user_command = i_callback_user_command
i_callback_top_of_page = i_callback_top_of_page
i_callback_html_top_of_page = i_callback_html_top_of_page
i_callback_html_end_of_list = i_callback_html_end_of_list
i_structure_name = i_structure_name
i_background_id = i_background_id
i_grid_title = i_grid_title
i_grid_settings = i_grid_settings
is_layout = is_layout
it_fieldcat = it_fieldcat[]

it_excluding = it_excluding
it_special_groups = it_special_groups
it_sort = it_sort
it_filter = it_filter
is_sel_hide = is_sel_hide
i_default = i_default
i_save = i_save
is_variant = is_variant

it_events = it_events
it_event_exit = it_event_exit
is_print = is_print
is_reprep_id = is_reprep_id
i_screen_start_column = i_screen_start_column
i_screen_start_line = i_screen_start_line
i_screen_end_column = i_screen_end_column
i_screen_end_line = i_screen_end_line
it_alv_graphics = it_alv_graphics
it_hyperlink = it_hyperlink
it_add_fieldcat = it_add_fieldcat
it_except_qinfo = it_except_qinfo
i_html_height_top = i_html_height_top
i_html_height_end = i_html_height_end
IMPORTING
e_exit_caused_by_caller = e_exit_caused_by_caller
es_exit_caused_by_user = es_exit_caused_by_user
TABLES
t_outtab = it_tabla_alv
EXCEPTIONS
program_error = 1
OTHERS = 2.

ENDFORM. " alv_grid_display



SALUDOS,
][\/A/\/
Responder Con Cita