ALV OO y Catalogo de Campos

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

    #1

    ALV OO y Catalogo de Campos

    Hola pues resulta que por algunas cosas del destino, cambie el dominio de un elemento de dato que uso en una estructura Z (ZOPGR_S_PLAN) y cuando corro de nuevo el programa que usa esa estructura el ALV me deja solo capturar 10 caracteres en ese campo, cuando con el nuevo dominio me debe de permitir 20, si le doy F1 en el campo todo sale bien relacionado al elemento de datos que corresponde.

    Estoy utilizando la función LVC_FIELDCATALOG_MERGE para crear el catalogo, ya hice un debug y el catalogo está bien creado el detalle es que al mostrar el ALV no me está respetando el cambio ¿Alguna idea.

    Código:
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name = 'ZOPGR_S_PLAN'
        CHANGING
          ct_fieldcat      = pt_fieldcat.
    Código:
    *   Mostramos tabla interna en ALV Control.
          CALL METHOD grid1->set_table_for_first_display
            EXPORTING
              is_layout            = gs_layout
              it_toolbar_excluding = gt_exclude
            CHANGING
              it_fieldcatalog      = gt_fieldcat
              it_outtab            = gt_plan_alv[].
    -------------------
    ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?
  • Mauricio Hidalgo
    Senior Member
    • may
    • 481

    #2
    Seguramente te está leyendo lo que existe en el buffer. Usa el parámetro I_BYPASSING_BUFFER. y le mueves 'X'.


    Saludos

    Comentario

    • DCErick
      Moderator
      • mar
      • 1090

      #3
      Originalmente publicado por Mauricio Hidalgo
      Seguramente te está leyendo lo que existe en el buffer. Usa el parámetro I_BYPASSING_BUFFER. y le mueves 'X'.


      Saludos
      Ya probé eso y no funciona ... como les comento el catalogo se crea bien, pero el ALV se muestra como si la longitud de ese campo aun fuese 10 carecteres.
      -------------------
      ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

      Comentario

      • beltsoft
        Member
        • sep
        • 99

        #4
        Construir catalogo en ALV OO

        1. Construir tu catalogo de forma normal

        CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
        i_structure_name = 'SFLIGHT'
        CHANGING
        ct_fieldcat = pt_fieldcat[]
        EXCEPTIONS
        inconsistent_interface = 1
        program_error = 2
        OTHERS = 3.
        IF sy-subrc <> 0.
        *--Exception handling
        ENDIF.

        2. Una vez con tu catalogo definir el tamaño de salida en LS_FCAT-OUTPUTLEN.

        LOOP AT pt_fieldcat INTO ls_fcat .
        CASE pt_fieldcat-fieldname .
        WHEN 'CARRID' .
        ls_fcat-outpulen = '10' .
        ls_fcat-coltext = 'Airline Carrier ID' .
        MODIFY pt_fieldcat FROM ls_fcat .
        WHEN 'PAYMENTSUM' .
        ls_fcat-no_out = 'X' .
        MODIFY pt_fieldcat FROM ls_fcat .
        ENDCASE .
        ENDLOOP .
        SSE BeltSoft México
        Your Business, our motivation ...

        Comentario

        • DCErick
          Moderator
          • mar
          • 1090

          #5
          Originalmente publicado por beltsoft
          1. Construir tu catalogo de forma normal

          CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
          EXPORTING
          i_structure_name = 'SFLIGHT'
          CHANGING
          ct_fieldcat = pt_fieldcat[]
          EXCEPTIONS
          inconsistent_interface = 1
          program_error = 2
          OTHERS = 3.
          IF sy-subrc <> 0.
          *--Exception handling
          ENDIF.

          2. Una vez con tu catalogo definir el tamaño de salida en LS_FCAT-OUTPUTLEN.

          LOOP AT pt_fieldcat INTO ls_fcat .
          CASE pt_fieldcat-fieldname .
          WHEN 'CARRID' .
          ls_fcat-outpulen = '10' .
          ls_fcat-coltext = 'Airline Carrier ID' .
          MODIFY pt_fieldcat FROM ls_fcat .
          WHEN 'PAYMENTSUM' .
          ls_fcat-no_out = 'X' .
          MODIFY pt_fieldcat FROM ls_fcat .
          ENDCASE .
          ENDLOOP .

          El catalogo se crea bien, con su outpulen correspondiente .

          Está bien raro esto.
          -------------------
          ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

          Comentario

          • DCErick
            Moderator
            • mar
            • 1090

            #6
            Originalmente publicado por DCErick
            El catalogo se crea bien, con su outpulen correspondiente .

            Está bien raro esto.
            Bueno hoy entre de nuevo al sistema, corri el programa y ya sale bien...

            ki kosas
            -------------------
            ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

            Comentario

            • beltsoft
              Member
              • sep
              • 99

              #7
              Jjjejejeje Hay una explicación muy sencilla:

              Te falto ajustar el diccionario de datos, para que efectivamente el Buffer se limpie.

              Saludos.
              SSE BeltSoft México
              Your Business, our motivation ...

              Comentario

              • DCErick
                Moderator
                • mar
                • 1090

                #8
                Originalmente publicado por beltsoft
                Jjjejejeje Hay una explicación muy sencilla:

                Te falto ajustar el diccionario de datos, para que efectivamente el Buffer se limpie.

                Saludos.
                ¿Ajustar en donde?
                -------------------
                ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

                Comentario

                Trabajando...