MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 24/08/11, 20:36:49
Karla V. Karla V. is offline
Senior Member
 
Fecha de Ingreso: may 2011
Mensajes: 101
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?????
Responder Con Cita
  #2  
Viejo 24/08/11, 21:04:07
Avatar de mysmb2
mysmb2 mysmb2 is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Cordoba
Mensajes: 406
porque no haces un concatenate con nanno y nmes y a esa variable la comparas con S501~SPTAG

saludos
__________________
Sebastián Chiavia
Responder Con Cita
  #3  
Viejo 24/08/11, 22:39:47
pancho6102 pancho6102 is offline
Senior Member
 
Fecha de Ingreso: jun 2010
Localización: Queretaro México
Mensajes: 238
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!!
Responder Con Cita
  #4  
Viejo 25/08/11, 15:18:45
JorgEstuardo JorgEstuardo is offline
Junior Member
 
Fecha de Ingreso: ago 2007
Localización: Guatemala
Mensajes: 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
Responder Con Cita
  #5  
Viejo 25/08/11, 17:19:27
daniel1050 daniel1050 is offline
Member
 
Fecha de Ingreso: oct 2010
Mensajes: 58
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.
Responder Con Cita
  #6  
Viejo 25/08/11, 18:01:14
Avatar de kibo
kibo kibo is offline
Senior Member
 
Fecha de Ingreso: may 2011
Localización: Quilmes - Argentina
Mensajes: 177
Para que tantas vueltas si este muchacho mysmb2 en 3 palabras le resolvio el problema y de la forma mas performante...?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 01:33:32.


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