Reuse_alv_fieldcatalog_merge

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • DCErick
    Moderator
    • mar
    • 1090

    #1

    Reuse_alv_fieldcatalog_merge

    Hola estoy trabajando con un ALV y pasa algo curioso...

    Cuando corro esta funcion..

    Código:
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
        EXPORTING
          i_program_name         = 'ZDP_CAPTACION_DE_ASOCIADOS'
          i_internal_tabname     = 'TI_ASOCIADOS'
          i_inclname             = 'YXZDP_CAPTACION_DE_ASOCIADOS'
        CHANGING
          ct_fieldcat            = ct_fieldcat
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.
    ct_fieldcat se me llena solo con dos campos de la tabla interna que paso por parametro.. Y esta tiene 6... alguna idea de que podria ser???
    -------------------
    ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?
  • yo2
    Member
    • may
    • 60

    #2
    Hola.
    Yo cuando utilizo esta funcion lo hago asi:

    data: repname LIKE sy-repid.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
    i_program_name = repname
    i_internal_tabname = 'TI_ACRED'
    i_inclname = repname
    CHANGING
    ct_fieldcat = fieldtab.

    en i_program_name y i_inclname pongo el mismo valor, el nombre del programa.

    Espero que te sirva.

    Comentario

    • Txelian
      Junior Member
      • nov
      • 12

      #3
      Hola yo2,


      En el parametro i_inclname se debe de pasar el programa donde esta declarado la tabla interna. En tu caso, supongo que estará en 'YXZDP_CAPTACION_DE_ASOCIADOS' ???
      Verdad???

      Comentario

      • lolita
        Junior Member
        • dic
        • 4

        #4
        Si usas REUSE_ALV_FIELDCATALOG_MERGE debes tener en cuenta que todos los campos que quieras que te liste el ALV deben existir en la tabla del diccionario a traves de la cual te creas tu tabla interna.

        Comentario

        • DCErick
          Moderator
          • mar
          • 1090

          #5
          Si, mi tabla interna esta en ese include, y los campos son de tablas Z y viene uno que es de tipo char(01) pero aun asi omitiendo ese campo de la tabla interna solo me muestra dos campos, dichos campos son los dos primeros.
          -------------------
          ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

          Comentario

          • SitaF
            Junior Member
            • ene
            • 4

            #6
            A mi me pasaba algo parecido, y resulto q en mi declaracion de la tabla interna, tenia los campos declarados como type, y al declararlos like el campo de mi tabla del diccionario funciono.

            A b si es eso, Suerte

            Comentario

            • miko-lynn
              Junior Member
              • abr
              • 21

              #7
              Te has de crear una tabla de diccionario, una Z, con los campos que quieres que te salgan por el alv.
              Aunque tu tabla sea asi:

              DATA: begin of it_lqua occurs 0,
              cabecera(1),
              contador TYPE i.
              INCLUDE STRUCTURE lqua.
              DATA: END OF it_lqua.

              O sea con una estructura estandard de dict y n campos añadidos, deberás crearte una copia de la tabla estandard, y añadirle tus campos Z.

              Si, ya se que crearse una tabla de dict solo para mostrar una alv es un poco rollo pero... "SAP ist gut"...
              Editado por última vez por miko-lynn; 03/02/2009, 09:20:59.

              Comentario

              Trabajando...