Grabar disposición en reporte ALV GRID

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • larmadovr
    Member
    • ene
    • 77

    #1

    Grabar disposición en reporte ALV GRID

    Que tal amigos:

    Alguien sabe que propiedad debo activar en un ALV GRID al usar la función 'REUSE_ALV_GRID_DISPLAY' para que una vez que despliega el reporte, y se realicen calculos y manipulacion de datos, etc, etc...

    Se pueda quedar guardada la disposición para que cuando vuelva e entrar el usuario, no tenga que volver a hacer lo mismo.

    En el menú OPCIONES===> DISPOSICION====> GRABAR( EN ESTE CASO ESTA DESHABILITADA).

    Gracias desde ya por su valiosa ayuda.

    Saludos.
    I.S.C.T. Luis Armando Valdez Rodríguez
    Consultor ABAP
    correo: larmandovr@hotmail.com
    cel: (045) 5537406023

    "La vida premia la acción"
  • danny
    Member
    • mar
    • 36

    #2
    Buenas tardes;

    debes enviar tambien estos parametros
    I_SAVE = 'X'
    IS_VARIANT = tu variable de variante


    Saludos;

    Comentario

    • larmadovr
      Member
      • ene
      • 77

      #3
      Que tal danny:

      Ya hice los cambios, pero ese caso aplica para una variante, y ando buscando la de disposición cuando ya estás en el ALV.

      Gracias por tu aporte.

      Si alguien más sabe como, agradeceré mucho su ayuda.
      I.S.C.T. Luis Armando Valdez Rodríguez
      Consultor ABAP
      correo: larmandovr@hotmail.com
      cel: (045) 5537406023

      "La vida premia la acción"

      Comentario

      • bisonye
        Senior Member
        • ago
        • 635

        #4
        i_save = 'A' te permite guardar las variantes
        Saludos
        http://sapymas.blogspot.com/

        Comentario

        • pmarinab
          Member
          • abr
          • 64

          #5
          Cuando grabes la variante, marca el flag "Param. previa". Con eso, cuando el usuario entre en el ALV se cargará automáticamente esa variante.

          Comentario

          • ghostolivos
            Junior Member
            • may
            • 5

            #6
            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/\/

            Comentario

            • larmadovr
              Member
              • ene
              • 77

              #7
              Muchas gracias Ghostolivos.

              Tu ejemplo me ayudó bastante, ya logré que grabe mi disposición una vez presentado el ALV.

              Gracias a todos.
              I.S.C.T. Luis Armando Valdez Rodríguez
              Consultor ABAP
              correo: larmandovr@hotmail.com
              cel: (045) 5537406023

              "La vida premia la acción"

              Comentario

              • befranel
                Junior Member
                • dic
                • 3

                #8
                Originalmente publicado por larmadovr
                Tu ejemplo me ayudó bastante, ya logré que grabe mi disposición una vez presentado el ALV.

                Gracias a todos.
                Hola a toda la gente de este foro, mis saludos ante todo.

                Amigos la problematica que presento es la siguiente:

                Tendo un Report con ALV, en cual en su pantalla de parametros de seleccion tiene una campo para que indiquen la VARIANTE DE DISPOSICION con la cual se va a generar, este despues que se genera envia un archivo en excel via correo electronico, lo cual lo hace correctamente.

                Ahora bien, el problema esta en que me pidieron que el archivo que se envia por email tenga la misma estructura que tiene la variantre de disposicion que se coloco en los parametros de seleccion.

                Me gustaria saber si alguien sabe como se podria hacer esto.

                De ante mano muchas gracias por la ayuda que me puedan prestar.


                .::: Befranel :::.
                .::: BEFRANEL :::.

                Comentario

                • jesusrodriguez
                  Junior Member
                  • mar
                  • 8

                  #9
                  Muchas gracias ghostolivos

                  Cuando se necesita algo de código rápido, sois mi salvación. Muchas gracias.

                  Comentario

                  • Yoba21x37
                    Junior Member
                    • mar
                    • 7

                    #10
                    Originalmente publicado por befranel
                    Hola a toda la gente de este foro, mis saludos ante todo.

                    Amigos la problematica que presento es la siguiente:

                    Tendo un Report con ALV, en cual en su pantalla de parametros de seleccion tiene una campo para que indiquen la VARIANTE DE DISPOSICION con la cual se va a generar, este despues que se genera envia un archivo en excel via correo electronico, lo cual lo hace correctamente.

                    Ahora bien, el problema esta en que me pidieron que el archivo que se envia por email tenga la misma estructura que tiene la variantre de disposicion que se coloco en los parametros de seleccion.

                    Me gustaria saber si alguien sabe como se podria hacer esto.

                    De ante mano muchas gracias por la ayuda que me puedan prestar.


                    .::: Befranel :::.
                    Befranel, ¿encontraste cómo enviar el archivo conforme con la variante de disposición?

                    Comentario

                    Trabajando...