Ayuda ALV Oo - REUSE_ALV_FIELDCATALOG_MERGE - Urgente!!!

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • miguel.esteban.martin
    Member
    • ene
    • 89

    #1

    Ayuda ALV Oo - REUSE_ALV_FIELDCATALOG_MERGE - Urgente!!!

    alguien me podria esplicar el funcionamiento de esta funcion.
    cuando la tengo que llamar y como si estoy usando un alv Oo
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Hola, esta funcion sirve para poder llenar el catalogo de un ALV pero del tipo slis_t_fieldcat_alv, pero si estas usando objetos, tu catalogo debe ser del tipo lvc_t_fcat, y para poder llenarla con una funcion debes usar LVC_FIELDCATALOG_MERGE, espero te sirva la info ...
    David Carballido Córdova

    Comentario

    • miguel.esteban.martin
      Member
      • ene
      • 89

      #3
      ok muchas gracias voy a probrar

      Comentario

      • miguel.esteban.martin
        Member
        • ene
        • 89

        #4
        me da un error.

        "No es posible determinar un catalogo de campo"

        este es mi codigo para que sea mas facil.

        *Inicializar el container
        IF g_custom_container IS INITIAL.
        g_repid = sy-repid.
        CREATE OBJECT g_custom_container
        EXPORTING
        container_name = 'MUESTRA_ALV'.
        *Crear objeto
        CREATE OBJECT g_grid
        EXPORTING
        i_parent = g_custom_container.
        *Creo el manejador de eventos
        CREATE OBJECT gr_event_handler.
        SET HANDLER gr_event_handler->handle_double_click FOR g_grid.
        SET HANDLER gr_event_handler->handle_hotspot_click FOR g_grid .
        *Definicion de datos
        PERFORM definir_alv.
        PERFORM layout_alv.
        .
        *ALV GRID
        CALL METHOD g_grid->set_table_for_first_display
        EXPORTING
        i_save = 'X'
        i_default = 'X'
        is_layout = gs_layout
        CHANGING
        it_outtab = i_cab_bulto[]
        it_fieldcatalog = gt_fieldcat[].

        CALL METHOD g_grid->set_toolbar_interactive.
        ELSE.
        CALL METHOD g_grid->refresh_table_display.
        ENDIF.

        *-------------------------------------------------------------
        form definir_alv.
        data ct_fieldcat type LVC_T_FCAT.
        CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
        * I_BUFFER_ACTIVE =
        I_STRUCTURE_NAME = 'ZCS_CAB_BULTO'
        * I_CLIENT_NEVER_DISPLAY = 'X'
        * I_BYPASSING_BUFFER =
        * I_INTERNAL_TABNAME =
        CHANGING
        ct_fieldcat = ct_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.

        Comentario

        • hanzzou
          Junior Member
          • jun
          • 26

          #5
          sera esto?

          fijate la tabla que le pasas al alv no es la de la funcion que creas... Hace la variable global (ponela en el top) y usa el mismo nombre para el changing de la funcion merge y para la que pasas al alv.. seguro es eso.
          Podes obviar los corchetes ([]) si los datos son tablas no habria problemas.

          Comentario

          Trabajando...