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.
Como hacer este select...
Colapsar
X
-
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 -
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
-
Saludos Ramones,Originalmente publicado por RAMONESAnte 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!!
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
-
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
-
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
-
Puedes crear un rango y pasarselo en el select
O asi:Código:SELECT ..... INTO.. FROM .... WHERE budat in RANGO_FECHA
Si quieres que te sume todas las positivas...Código:SELECT ..... INTO.. FROM .... WHERE budat >= (Fecha de inicio) AND budat <= (Fecha de fin).
Y las negativasCódigo:SELECT SUM( ..... ) INTO.. FROM .... WHERE budat >= (Fecha de inicio) AND budat <= (Fecha de fin) AND SHKZG EQ 'S'.
SuerteCódigo:SELECT SUM( ..... ) INTO.. FROM .... WHERE budat >= (Fecha de inicio) AND budat <= (Fecha de fin) AND SHKZG EQ 'H'.Comentario
-
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 demasOriginalmente publicado por RAMONESNuevamente no se que decirles, les agradezco muchisimo a todos su aporte, en serio no se como agradecerles!!!
Saludos a todos y muchas gracias!!!!
Hasta pronto.Comentario
Comentario