MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Como hacer este select... (foro/showthread.php?t=28856)

RAMONES 16/03/09 12:40:20

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.

gugutin 16/03/09 13:25:54

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

RAMONES 16/03/09 14:02:37

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!!

ppchico 16/03/09 14:22:09


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.

Henger Abreu 16/03/09 14:22:52

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.

RAMONES 16/03/09 14:34:13

Muchas gracias a todos por sus prontas respuestas, se los agradezco muchisimo!!! En serio mil gracias!!

gugutin 16/03/09 14:38:27

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.

crounly 16/03/09 14:46:36

Puedes crear un rango y pasarselo en el select


O asi:


Si quieres que te sume todas las positivas...


Y las negativas


Suerte

RAMONES 16/03/09 14:55:52

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

Saludos a todos y muchas gracias!!!!

gugutin 16/03/09 15:48:02


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.


Husos Horarios son GMT. La hora en este momento es 23:47:59.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web