Problema con report en fondo

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • delmarulo
    Junior Member
    • may
    • 26

    #1

    Problema con report en fondo

    Hola a todos: tengo problemas con los datos que se "ven" en un reporte si es ejecutado en diálogo o en proceso de fondo. Es decir, la orden de spool difiere del listado que se genera en diálogo.
    Por ejemplo una de las columnas que es tipo de dato char no sale impresa correctamente, me muestra hasta 8 caractéres cuando realmente tiene 10. Por lo tanto, el dato sale truncado.
    Si por otro lado vemos el resultado en modo de diálogo, se ajusta perfectamente la columna. Me pasa con varios reports que en fondo cambia el resultado. Esto es algo "normal" en SAP? o me estoy perdiendo de agregar algo al cádigo o cambiar alguna parametrización? Gracias y slds.
  • robert_milan
    Senior Member
    • jun
    • 315

    #2
    puede ser que este mal parametrizado el ALV.
    Un Huevon No Inútil


    Solo di lo que piensas, a la mejor tienes la mejor respuesta....

    Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

    Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

    Consultor FI jr/ABAP Sr.

    Comentario

    • delmarulo
      Junior Member
      • may
      • 26

      #3
      Originalmente publicado por robert_milan
      puede ser que este mal parametrizado el ALV.
      Gracias por la respuesta, pero no entiendo mucho sobre eso, podrías explicarme un poco más? gracias y slds

      Comentario

      • robert_milan
        Senior Member
        • jun
        • 315

        #4
        Mira, si tienes el codigo y lo pones podria decirte mas especificamente tu problema
        Un Huevon No Inútil


        Solo di lo que piensas, a la mejor tienes la mejor respuesta....

        Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

        Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

        Consultor FI jr/ABAP Sr.

        Comentario

        • delmarulo
          Junior Member
          • may
          • 26

          #5
          Originalmente publicado por robert_milan
          Mira, si tienes el codigo y lo pones podria decirte mas especificamente tu problema
          Te puede ayudar esto?

          *&---------------------------------------------------------------------*
          *& Form seteo_layout
          *&---------------------------------------------------------------------*
          FORM seteo_layout.

          e_layout-window_titlebar = 'Informe de movimientos de Mayor'.
          e_layout-reprep = ' '. "
          e_layout-zebra = ' '. " Rayado de lineas
          e_layout-no_min_linesize = 'X'.
          e_layout-no_vline = ' '. " Rayado de lineas.
          e_layout-f2code = 'DCLICK'.
          e_layout-detail_popup = 'X'. " Linea seleccionada en ventapar
          e_layout-colwidth_optimize = 'X'.
          * e_layout-box_fieldname = 'FLAG'.
          e_layout-detail_initial_lines = 'X'.
          e_layout-min_linesize = c_max_line. " Mín long de lin de sal
          e_layout-max_linesize = c_max_line. " Máx long de lin de sal
          e_layout-no_totalline = 'X'.
          e_layout-subtotals_text = ' '.

          ENDFORM. "seteo_layout

          slds

          Comentario

          • robert_milan
            Senior Member
            • jun
            • 315

            #6
            No mira, cuando creas el fieldcat, o el catalogo de campos tu pasas o especificar en el ALV si quiere o no tomar como referencia un campo estandar o bien cuando en un parametro introduces el atributo shorttext este campo es de 8 caracteres si no lo pones o lo pones mal es el resultado que te da.

            FIELDCAT_LN-seltext_s = 'Cuenta Mayor'. "Short column heading
            FIELDCAT_LN-seltext_m = 'Cuenta Mayor'. "Medium column heading
            FIELDCAT_LN-seltext_l = 'Cuenta Mayor'. "Long column heading

            Por ejemplo cuando quiero usar un campo llamado cuenta mayor, tengo que poner estos tres textos para que siempre tome el mayor. y asi lo imprima correctamente.

            Otra forma es, por ejemplo que lo referencies a un dato estandar

            FIELDCAT_LN-ref_FIELDNAME = 'VBELN'.

            aqui le digo que el campo que se llama factura, quiero que tome las propiedades del campo estandar VBELN, con esto toma todas sus propiedades tanto nombre, tamaño, etc.

            Espero ser claro y te sirva.
            Un Huevon No Inútil


            Solo di lo que piensas, a la mejor tienes la mejor respuesta....

            Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

            Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

            Consultor FI jr/ABAP Sr.

            Comentario

            • delmarulo
              Junior Member
              • may
              • 26

              #7
              Originalmente publicado por robert_milan
              No mira, cuando creas el fieldcat, o el catalogo de campos tu pasas o especificar en el ALV si quiere o no tomar como referencia un campo estandar o bien cuando en un parametro introduces el atributo shorttext este campo es de 8 caracteres si no lo pones o lo pones mal es el resultado que te da.

              FIELDCAT_LN-seltext_s = 'Cuenta Mayor'. "Short column heading
              FIELDCAT_LN-seltext_m = 'Cuenta Mayor'. "Medium column heading
              FIELDCAT_LN-seltext_l = 'Cuenta Mayor'. "Long column heading

              Por ejemplo cuando quiero usar un campo llamado cuenta mayor, tengo que poner estos tres textos para que siempre tome el mayor. y asi lo imprima correctamente.

              Otra forma es, por ejemplo que lo referencies a un dato estandar

              FIELDCAT_LN-ref_FIELDNAME = 'VBELN'.

              aqui le digo que el campo que se llama factura, quiero que tome las propiedades del campo estandar VBELN, con esto toma todas sus propiedades tanto nombre, tamaño, etc.

              Espero ser claro y te sirva.
              ok, gracias robert_milan voy a ver si con tu ayuda puedo resolverlo. Slds.

              Comentario

              • delmarulo
                Junior Member
                • may
                • 26

                #8
                en mi código tengo esto en el fieldcat

                *&---------------------------------------------------------------------*
                *& Form campos_fieldcat
                *&---------------------------------------------------------------------*
                FORM campos_fieldcat TABLES pt_fieldcat
                USING d_fieldname d_tabname d_seltext_l
                d_ddictxt d_key d_row_pos
                d_fix_column d_outputlen d_checkbox
                d_no_out d_sum
                d_zero.
                DATA:
                fieldcat TYPE slis_fieldcat_alv.

                CLEAR fieldcat.
                fieldcat-fieldname = d_fieldname.
                fieldcat-tabname = d_tabname.
                fieldcat-seltext_l = d_seltext_l.
                fieldcat-ddictxt = d_ddictxt.
                fieldcat-key = d_key.
                fieldcat-row_pos = d_row_pos.
                fieldcat-fix_column = d_fix_column.
                IF NOT d_outputlen IS INITIAL.
                fieldcat-outputlen = d_outputlen.
                ENDIF.
                fieldcat-checkbox = d_checkbox.
                fieldcat-no_out = d_no_out.
                fieldcat-do_sum = d_sum.
                fieldcat-no_zero = d_zero.
                APPEND fieldcat TO pt_fieldcat.


                ENDFORM. " campos_fieldcat

                No es como lo que me pasaste. Mirá la verdad es que estoy tratando de modificar un reporte que no hice yo y además no entiendo mucho el manejo del alv. te agradecería si me podés dar una mano. Gracias y slds.

                Comentario

                • robert_milan
                  Senior Member
                  • jun
                  • 315

                  #9
                  .mmm amigo, se ve que la funcion es dinamica asi que necesitaria el codigo completo para verlo. si me lo envias a jrmr2005@gmail.com
                  Un Huevon No Inútil


                  Solo di lo que piensas, a la mejor tienes la mejor respuesta....

                  Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

                  Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

                  Consultor FI jr/ABAP Sr.

                  Comentario

                  • delmarulo
                    Junior Member
                    • may
                    • 26

                    #10
                    Originalmente publicado por robert_milan
                    .mmm amigo, se ve que la funcion es dinamica asi que necesitaria el codigo completo para verlo. si me lo envias a jrmr2005@gmail.com
                    Por ahora gracias a lo que me dijiste pude resolverlo así:

                    Agrandé el ancho de la columna que necesitaba en la que se truncaba el texto, era un campo con nro de cuenta contable. Es decir si la cta se pasaba de más de 8 digitos lo cortaba, ahora bien, le agreguá caracteres '---' a el titulo de la columna entonces me agranda el ancho de la misma y llega a entrar el nro completo. Es una solución horrible pero para lo que uso el reporte me sirve. Por otro lado, me quedan 2 dudas, como hacerlo "bien" (o almenos como poder agregarle al titulo de columna 3 espacios en blanco en vez de '---') y porqué en proceso de fondo me trunca el nro de cta y poné '...' (puntos suspensivos) dando la idea de que sigue el nro. Slds.

                    Comentario

                    • Ignatius
                      Junior Member
                      • nov
                      • 15

                      #11
                      delmarulo,

                      Te paso una forma de verificar si tenés mal armado el ALV; de esta manera podés detectar errores que no son fáciles de ver de otra manera:

                      ALV - Detectar errores

                      Es el primero de los tips que aparecen.

                      Decime si te sirvió

                      Comentario

                      • robert_milan
                        Senior Member
                        • jun
                        • 315

                        #12
                        Hola Delmarulo;

                        Mira el form que estas usando es dinamico, solo pasas algunos valores y empieza a crear el catalogo de los campos, asi que te digo como podria quedar el form con una pequeña modificacion:

                        *&---------------------------------------------------------------------*
                        *& Form campos_fieldcat
                        *&---------------------------------------------------------------------*
                        FORM campos_fieldcat TABLES pt_fieldcat
                        USING d_fieldname d_ref_field d_tabname d_seltext_l
                        d_ddictxt d_key d_row_pos
                        d_fix_column d_outputlen d_checkbox
                        d_no_out d_sum
                        d_zero.
                        DATA:
                        fieldcat TYPE slis_fieldcat_alv.

                        CLEAR fieldcat.
                        fieldcat-fieldname = d_fieldname.
                        fieldcat-tabname = d_tabname.
                        if not d_ref_field is initial.
                        fieldcat-ref_fieldname = d_ref_field.
                        else.
                        fieldcat-seltext_l = d_seltext_l.
                        endif.
                        fieldcat-ddictxt = d_ddictxt.
                        fieldcat-key = d_key.
                        fieldcat-row_pos = d_row_pos.
                        fieldcat-fix_column = d_fix_column.
                        IF NOT d_outputlen IS INITIAL.
                        fieldcat-outputlen = d_outputlen.
                        ENDIF.
                        fieldcat-checkbox = d_checkbox.
                        fieldcat-no_out = d_no_out.
                        fieldcat-do_sum = d_sum.
                        fieldcat-no_zero = d_zero.
                        APPEND fieldcat TO pt_fieldcat.
                        ENDFORM. " campos_fieldcat

                        Lo que esta en color es lo que se cambiaria para poder hacer esta funcion mas abierta y con mejor opcion, ahora en el programa tu tienes muchas o varias llamadas con perform, por lo cual a todas les debes agregar un espacio o el nombre del campo de referencia, en este caso para la cuenta pones hkont y listo veras que se soluciona.
                        Un Huevon No Inútil


                        Solo di lo que piensas, a la mejor tienes la mejor respuesta....

                        Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

                        Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

                        Consultor FI jr/ABAP Sr.

                        Comentario

                        • delmarulo
                          Junior Member
                          • may
                          • 26

                          #13
                          Gracias por las ayudas. Voy a investigar un poco más con los datos que me pasaron. Realmente muchas gracias cualquier problema les aviso. Slds.

                          Comentario

                          • wurbaez
                            Junior Member
                            • abr
                            • 2

                            #14
                            ancho de columnas de un reporte ALV

                            solo necesitas agregar ésta Linea: e_layout-colwidth_optimize = 'X'.

                            y las columnas tomaran el tamaño correspondiente al dato..

                            Comentario

                            Trabajando...