Colocar Titulo (Cabcera) a ALV

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • CRISTINO.GARCIA
    Senior Member
    • ago
    • 101

    #1

    Colocar Titulo (Cabcera) a ALV

    Hola a todos

    Realice un ALV pero me piden que coloque como cabecera el rango de fecha que es tomado del input, como se puede lograr eso?

    Gracias

    Cristino
  • calanis
    Senior Member
    • oct
    • 147

    #2
    Hola Cristino!

    Un ejemplo con ALV por Función
    Link

    Otro ejemplo por ALV por Objetos
    Link
    Link2

    Espero te sirva

    Saludos
    Carlos D. Alanis
    <=<< Compartir conocimiento es una manera de innovar >>=>

    Comentario

    • CRISTINO.GARCIA
      Senior Member
      • ago
      • 101

      #3
      Muchas Gracias !!!

      Saludos

      Cristino

      Comentario

      • CRISTINO.GARCIA
        Senior Member
        • ago
        • 101

        #4
        ALV con montos Negativos y positivos

        Hola Amigo, muchas gracias por tu informacion. Me sirvio de mucho, pero ahora tengo un detalle, los montos a reflejar en al ALV tienen signos negativos y positivos, yo ejecuto la funcion que los toma pero al momento de llevarlo al ALV no le coloca los signos, es que esos campos deben tener una mascar o tratamiento especial???

        Muchas Gracias

        Saludos

        Cristino

        Originalmente publicado por calanis
        Hola Cristino!

        Un ejemplo con ALV por Función
        Link

        Otro ejemplo por ALV por Objetos
        Link
        Link2

        Espero te sirva

        Saludos

        Comentario

        • calanis
          Senior Member
          • oct
          • 147

          #5
          Hola Cristino!

          Es raro lo que indicas, fijate vía debug justo antes de llamar al ALV como estan los valores de la tabla(osea que signo traen)

          Ahora para una correcta visualización generalmente en el catalogo cuando pasas un valor ya sea de tipo moneda o tipo Unidad de medida lo debes informar en el catalogo.

          Por ej:
          Valor Moneda
          Valor interno de tú campo 2,34 -->BSEG-DMBTR
          Moneda de Visualización COP -->Pesos Colombianos-->BKPF-WAERS
          Valor de Visualización 234 COP
          Campo en el catalogo
          ls_fieldcat-tabname = 'GT_ALV'.
          ls_fieldcat-fieldname = 'DMBTR'.
          ls_fieldcat-ref_tabname = 'BSEG'
          ls_fieldcat-ref_fieldname = 'DMBTR'.
          ls_fieldcat-ctabname = 'BKPF'. -->Referencia del campo Moneda
          ls_fieldcat-cfieldname = 'WAERS'.-->Referencia del campo Moneda

          Tambien debes cargarlo al campo moneda tanto en la tabla interna que uses como en el catalog, no es necesario que este visible
          ls_fieldcat-tabname = 'GT_ALV'.
          ls_fieldcat-fieldname = 'WAERS'.
          ls_fieldcat-ref_tabname = 'BKPF'.
          ls_fieldcat-ref_fieldname = 'WAERS'.

          Valor Unidad de Medida
          Valor interno de tú campo 6,000 -->EKPO-MENGE
          Moneda de Visualización KM -->Kilómetro-->EKPO-MEINS
          Valor de Visualización 6,000 KM
          Espero te sirva

          Saludos
          Carlos D. Alanis
          <=<< Compartir conocimiento es una manera de innovar >>=>

          Comentario

          • CRISTINO.GARCIA
            Senior Member
            • ago
            • 101

            #6
            ALV con montos Negativos

            Hola Amigo
            En mi programa hago la busqueda asi:

            FORM IMPORTE_MON_LOCAL_CON_SIGNO.

            DATA: AUX LIKE BSEG-FDWBT.
            CLEAR: IMPORTEMONEDALOCAL,MONEDA.


            SELECT SINGLE FDWBT INTO AUX
            FROM BSEG
            WHERE BUKRS = TABLA-BUKRS
            AND BELNR = TABLA-BELNR
            AND BUZEI = TABLA-BUZEI.


            IF AUX < 0.
            IMPORTEMONEDALOCAL = TABLA-DMBTR * -1.
            IMPORTEMONEDADOC = TABLA-WRBTR * -1.
            ELSE.
            IMPORTEMONEDALOCAL = TABLA-DMBTR.
            IMPORTEMONEDADOC = TABLA-WRBTR.
            ENDIF.
            MONEDA = 'VEF'. " Ultima Columna

            ENDFORM.

            Total General
            W_POSI = W_POSI + 1.
            gt_fieldcat-tabname = 'TABLA'.
            gt_fieldcat-emphasize = 'C401'.
            gt_fieldcat-fieldname = 'AUX'.
            gt_fieldcat-ddictxt = 'L'.
            gt_fieldcat-seltext_l = 'Total General'.
            gt_fieldcat-col_pos = W_POSI.
            gt_fieldcat-ref_tabname = 'BSEG'. "Tabla de Referencia
            gt_fieldcat-ref_fieldname = 'FDWBT'. "Campo Referencia en Tabla
            gt_fieldcat-do_sum = ' '. "Sumarizar (campo numerico)
            APPEND gt_fieldcat.
            CLEAR gt_fieldcat.

            En la funcion si veo que trae el signo pero al llegar a este punto me imprime solo 0.00.

            Gracias

            Cristino

            Originalmente publicado por calanis
            Hola Cristino!

            Es raro lo que indicas, fijate vía debug justo antes de llamar al ALV como estan los valores de la tabla(osea que signo traen)

            Ahora para una correcta visualización generalmente en el catalogo cuando pasas un valor ya sea de tipo moneda o tipo Unidad de medida lo debes informar en el catalogo.

            Por ej:


            Espero te sirva

            Saludos

            Comentario

            • calanis
              Senior Member
              • oct
              • 147

              #7
              Cristino

              Revisando lo que me envias observo varios puntos:
              1- No estas asignando el valor de tú consulta a la tabla del ALV.
              La variable AUX que usas no la pasaste a la tabla que envias al ALV, en el campo TABLA-AUX

              2-Por que accedes de nuevo a la BSEG para sacar el valor de este campo BSEG-FDWBT(ojo desconozco el requerimiento pero creo que ya accediste antes a la BSEG)

              3-Trata de cuidar la Performance por que en Producción esa Consulta que estabas aplicando puede que te complique la existencia

              4-Para los campos DMBTR y WRBTR quien te indica que el valor es positivo o negativo es el campo BSEG-SHKZG

              FORM IMPORTE_MON_LOCAL_CON_SIGNO.

              DATA: lv_SHKZG type BSEG-SHKZG.
              CLEAR: IMPORTEMONEDALOCAL,MONEDA.


              SELECT SINGLE SHKZG INTO lv_SHKZG
              FROM BSEG
              WHERE BUKRS = TABLA-BUKRS
              AND BELNR = TABLA-BELNR
              AND GJAHR = TABLA-GJAHR "<--Esta línea agregala por Performance
              AND BUZEI = TABLA-BUZEI.

              IF lv_SHKZG = 'H'."-->Indicador Debe/Haber
              IMPORTEMONEDALOCAL = TABLA-DMBTR * -1.
              IMPORTEMONEDADOC = TABLA-WRBTR * -1.
              ELSE.
              IMPORTEMONEDALOCAL = TABLA-DMBTR.
              IMPORTEMONEDADOC = TABLA-WRBTR.
              ENDIF.
              MONEDA = 'VEF'. " Ultima Columna
              * Creo que aquí deberia de existir un MODIFY a la tabla interna TABLA
              * en donde se asigne el valor AUX al campo TABLA-AUX

              ENDFORM.
              Espero te sirva

              Saludos
              Carlos D. Alanis
              <=<< Compartir conocimiento es una manera de innovar >>=>

              Comentario

              • CRISTINO.GARCIA
                Senior Member
                • ago
                • 101

                #8
                Gracias Amigo, dejame ver bien lo que me indicas, pero antes cuando el reporte no era ALV con esa funcion me mostraba los negativos y ahora no.

                Cualquier cosa te consulto nuevamente.

                Gracias

                Cristino

                Originalmente publicado por calanis
                Cristino

                Revisando lo que me envias observo varios puntos:
                1- No estas asignando el valor de tú consulta a la tabla del ALV.
                La variable AUX que usas no la pasaste a la tabla que envias al ALV, en el campo TABLA-AUX

                2-Por que accedes de nuevo a la BSEG para sacar el valor de este campo BSEG-FDWBT(ojo desconozco el requerimiento pero creo que ya accediste antes a la BSEG)

                3-Trata de cuidar la Performance por que en Producción esa Consulta que estabas aplicando puede que te complique la existencia

                4-Para los campos DMBTR y WRBTR quien te indica que el valor es positivo o negativo es el campo BSEG-SHKZG



                Espero te sirva

                Saludos

                Comentario

                • CRISTINO.GARCIA
                  Senior Member
                  • ago
                  • 101

                  #9
                  Ya resolvi lo de los signos negativos. Muchas Gracias Amigo lo que me enviaste me sirvio. Pero ahora me piden que la informacion que despliego en el alv salga por cliente es decir por cada cliente sumarize los montos de las columnas. Actualmente el reporte sale asi:

                  Codigo Cliente Saldo Morosidad 1 Saldo Morosidad 2 ... Saldo Morosidad N Fecha Vencimiento
                  Cod1
                  cod1
                  cod1
                  cod2
                  cod2
                  cod3
                  cod3
                  cod3

                  Ahora quieren es:
                  Codigo Saldo Morosida1 Saldo Morosidad 2 Saldo Morosidad N Fecha Vencimiento
                  Cod1
                  cod2
                  cod3

                  La data esta en una TABLA:
                  DATA: BEGIN OF TABLA OCCURS 0,
                  codigo
                  saldo morosidad1
                  saldo morosidad2

                  END OF TABLA.

                  Como puedo hacer eso?

                  Muchas Gracias

                  Cristino
                  Originalmente publicado por calanis
                  Cristino

                  Revisando lo que me envias observo varios puntos:
                  1- No estas asignando el valor de tú consulta a la tabla del ALV.
                  La variable AUX que usas no la pasaste a la tabla que envias al ALV, en el campo TABLA-AUX

                  2-Por que accedes de nuevo a la BSEG para sacar el valor de este campo BSEG-FDWBT(ojo desconozco el requerimiento pero creo que ya accediste antes a la BSEG)

                  3-Trata de cuidar la Performance por que en Producción esa Consulta que estabas aplicando puede que te complique la existencia

                  4-Para los campos DMBTR y WRBTR quien te indica que el valor es positivo o negativo es el campo BSEG-SHKZG



                  Espero te sirva

                  Saludos

                  Comentario

                  Trabajando...