como filtro por MES y AÑO un select??

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Karla V.
    Senior Member
    • may
    • 100

    #1

    como filtro por MES y AÑO un select??

    Urgente, necesito obtener los datos de un mes y año específico seleccionado por el usuario
    la información la tomo con un select y allí mismo le estoy colocando la condición pero no me lo toma
    select S501~VKORG S501~WERKS S501~VTWEG S501~SPART
    sum( S501~UMMENGE ) as UMMENGE
    sum( S501~GUMENGE ) as GUMENGE
    INTO CORRESPONDING
    FIELDS OF TABLE ti_usuarios
    from S501 WHERE
    VKORG IN CVKORG
    AND SPART IN CSPART AND WERKS IN CWERKS
    AND VTWEG IN CCANAL
    AND SPART BETWEEN 11 AND 90
    and S501~SPTAG(4) = nanno
    and S501~SPTAG+4(2) = nmes
    group by S501~VKORG S501~WERKS S501~VTWEG S501~SPART.
    me da error y dice que S501~SPTAG(4) y S501~SPTAG+4(2) no existen...que hago?????
  • mysmb2
    Senior Member
    • ene
    • 406

    #2
    porque no haces un concatenate con nanno y nmes y a esa variable la comparas con S501~SPTAG

    saludos
    Sebastián Chiavia
    http://www.programacionabap.com.ar

    Comentario

    • pancho6102
      Senior Member
      • jun
      • 238

      #3
      pues yo lo que haria como comenta mysmb2 concatena

      puedes usar variables:
      dia= por default valor 01
      mes= mes que necesitas
      año = el año
      los concatenas para formar 01.mes.año (segun el formato de la config del sistema).

      luego la pasas por la funcion RP_LAST_DAY_OF_MONTHS esta funcion te dice el ultimo dia de esa fecha en el parametro LAST_DAY_OF_MONTH. que lo metas en una variable. y ya con eso formas un rango de fechas con un el dia primero del mes y el ultimo puedes usar RANGES O BETWEEN o algo asi.

      es una idea puede haber una mas corta, que alguien mas proponga

      Saludos!!
      Francisco Ramirez.
      consultor SAP ABAP Netweaver
      Queretaro, Mexico.

      Comentario

      • JorgEstuardo
        Junior Member
        • ago
        • 4

        #4
        S501~SPTAG(4). Esto no es válido en el select, no deja hacer las agrupaciones de esta forma la forma en que lo puedes agrupar es por el nombre del campo completo sin la instrucción de Substring. Prueba de esta forma, si no te funcionara crea un campo mes y año dentro de tu tabla interna y luego suma con un collect. Aqui se publico una solución similar. Te la dejo http://www.mundosap.com/foro/showthread.php?t=29294

        Comentario

        • daniel1050
          Member
          • oct
          • 58

          #5
          La solucion mas facil seria: no filtrar mes y año en ese select.

          Luego dentro de un loop a la tabla:

          Podrias meter el mes y año del campo actual en 2 variables e irte fijando si cumple con lo que queres filtrar.

          Si cumple, la pasas a otra tabla interna "definitiva", si no cumple no la moves a ningun lado.

          Comentario

          • kibo
            Senior Member
            • may
            • 177

            #6
            Para que tantas vueltas si este muchacho mysmb2 en 3 palabras le resolvio el problema y de la forma mas performante...?
            http://diariotitular.com/contacto/

            Comentario

            Trabajando...