Como hacer este select...

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • RAMONES
    Member
    • mar
    • 69

    #1

    Como hacer este select...

    Hola a todos amigos saperos, mi consulta es la la siguiente...tengo que hacer un select a la tabla BSIK y BSAK y traer el campo DMBTR (importe moneda local), pero tengo que traer los importes de los ultimos 12 meses (o sea un año), como deberia hacer ese select....les agradezco su ayuda de antemano!!!! Porfa denme una manito.
    El mundo es Redondo y de Ricota......
  • gugutin
    Member
    • jul
    • 71

    #2
    Hola Ramones,

    No se exactamente que deseas obtener, pero las fechas de control de estas tablas son la fecha de contabilizacion BUDAT o bien la fecha de documento BLDAT, todo depende de lo que quieras obtener, lo normal es budat, tambien debes tener encuenta que este campo de importe no lleva el signo y debes tratar el SHKZG debe/haber, H si es HABER resta sino S si es DEBE suma.

    Espero haberte ayudado.
    Saludos

    Comentario

    • RAMONES
      Member
      • mar
      • 69

      #3
      Ante todo gracias por la respuesta, lo que quiero obtener son los 12 importes anteriores a la fecha actual, para poder despues sumarlos (y si superan determinado monto, mandar un mensaje de error), como podria realizar el select?? muchas gracias!!
      El mundo es Redondo y de Ricota......

      Comentario

      • ppchico
        Senior Member
        • oct
        • 144

        #4
        Originalmente publicado por RAMONES
        Ante todo gracias por la respuesta, lo que quiero obtener son los 12 importes anteriores a la fecha actual, para poder despues sumarlos (y si superan determinado monto, mandar un mensaje de error), como podria realizar el select?? muchas gracias!!
        Saludos Ramones,


        Si no me equivoco, lo que quieres es poder encontrar los 12 anteriores importes justo anterior a la fecha, por lo que deberías de hacer el select de la siguiente manera:

        select *
        from tablas
        into table tabla_interna
        up to 12 rows
        where condiciones
        order by fecha(si tienes).

        No recuerdo ahora mismo si el order by es antes o después del WHERE, pero con eso solo traerías las 12 anteriores justas a la fecha actual.

        Suerte con tu desarrollo.

        Comentario

        • Henger Abreu
          Junior Member
          • jun
          • 28

          #5
          buenos días.

          Si es un reporte y no tiene como parametros de entrada la fecha (como dice gugutin normalmente es budat) yo agarraria el campo sy-datum y crearia un rango de fecha que es la que utilizaria en el select.

          Comentario

          • RAMONES
            Member
            • mar
            • 69

            #6
            Muchas gracias a todos por sus prontas respuestas, se los agradezco muchisimo!!! En serio mil gracias!!
            El mundo es Redondo y de Ricota......

            Comentario

            • gugutin
              Member
              • jul
              • 71

              #7
              Hola ramones

              el ejemplo creo que deberia ser algo asi

              TABLES: bsik, bsak.

              DATA: ti_bsiak TYPE STANDARD TABLE OF bsik WITH HEADER LINE.

              SELECT * FROM bsik INTO TABLE ti_bsiak
              WHERE bukrs = p_bukrs
              AND lifnr = p_lifnr
              AND budat IN so_budat.

              SELECT * FROM bsak APPENDING TABLE ti_bsiak
              WHERE bukrs = p_bukrs
              AND lifnr = p_lifnr
              AND budat IN so_budat.

              perdona la tardanza pero no encontraba un ejemplo y lo tenia que preparar.
              Saludos.

              Comentario

              • crounly
                Senior Member
                • nov
                • 227

                #8
                Puedes crear un rango y pasarselo en el select

                Código:
                SELECT .....
                   INTO..
                   FROM ....
                   WHERE budat in RANGO_FECHA
                O asi:

                Código:
                SELECT .....
                   INTO..
                   FROM ....
                   WHERE budat >= (Fecha de inicio)
                       AND budat <= (Fecha de fin).
                Si quieres que te sume todas las positivas...

                Código:
                SELECT SUM( ..... )
                   INTO..
                   FROM ....
                   WHERE budat >= (Fecha de inicio)
                       AND budat <= (Fecha de fin)
                       AND SHKZG EQ 'S'.
                Y las negativas

                Código:
                SELECT SUM( ..... )
                   INTO..
                   FROM ....
                   WHERE budat >= (Fecha de inicio)
                       AND budat <= (Fecha de fin)
                       AND SHKZG EQ 'H'.
                Suerte
                http://codigoderetorno.blogspot.com.es/

                Comentario

                • RAMONES
                  Member
                  • mar
                  • 69

                  #9
                  Nuevamente no se que decirles, les agradezco muchisimo a todos su aporte, en serio no se como agradecerles!!!

                  Saludos a todos y muchas gracias!!!!
                  El mundo es Redondo y de Ricota......

                  Comentario

                  • gugutin
                    Member
                    • jul
                    • 71

                    #10
                    Originalmente publicado por RAMONES
                    Nuevamente no se que decirles, les agradezco muchisimo a todos su aporte, en serio no se como agradecerles!!!

                    Saludos a todos y muchas gracias!!!!
                    Es muy facil, cuando se tiene un ratito, se da uno un paseo por el foro y siempre se podras hacer tus aportaciones a los demas

                    Hasta pronto.

                    Comentario

                    • RAMONES
                      Member
                      • mar
                      • 69

                      #11
                      Soy nuevo en el foro, pero eso hare siempre que pueda resolver las dudas que plantean, nuevamente gracias a todos...
                      El mundo es Redondo y de Ricota......

                      Comentario

                      Trabajando...