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 16/09/10, 15:26:03
anyita18 anyita18 is offline
Member
 
Fecha de Ingreso: jun 2010
Mensajes: 52
Exclamation Busqueda de un campo con SELECT

Hola.
Necesito hacer un desarrollo y agradecria enormemente su ayuda.
El SELECT que debo hacer dice lo siguiente
Si la Búsqueda trae más de coincidencia en ese caso se debe utilizar el año como referencia, el cual debe ser igual a ACCIT_GLX-GJAHR o el menor que le sigue en los registros seleccionados.
Mi pregunta es, como hago para buscar el menor siguiente, es decir si el año en ACCIT_GLX-GJAHR es 2010 y el menor año siguiente es 2005 necesito rescatar ese valor....
De antemano, muchisimas gracias!!!
Responder Con Cita
  #2  
Viejo 17/09/10, 06:46:17
jtristan jtristan is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 240
A priori me da que no vas a poder hacerlo directamente con una sql abap. Tendrás que trabajar con la tabla intermedia.
¿Puedes ponernos un ejemplo más detallado de la tabla para hacernos una mejor idea?

Un saludo.
Responder Con Cita
  #3  
Viejo 17/09/10, 11:49:42
nievesmp nievesmp is offline
Member
 
Fecha de Ingreso: abr 2009
Mensajes: 95

Yo lo intentaría con un bucle (algo así):

var: val_gjahr like ACCIT_GLX-GJAHR.
var: ano_ref like referencia.

** (Referencia) sería el campo o variable que contiene el valor en tu programa del año a buscar.


ano_ref = referencia
do while val_gjahr is not initial or ano_ref = 1900.
select GJAHR into val_gjahr from ACCIT_GLX where GJAHR = ano_ref.
if val_gjahr is initial.
ano_ref = ano_ref - 1.
endif.
enddo.

En este caso he puesto un valor de año mínimo (1900) a buscar para que el bucle no sea infinito y no tarde tanto en caso de no encontrar datos.
Responder Con Cita
  #4  
Viejo 17/09/10, 14:38:28
AAG1982 AAG1982 is offline
Junior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 5
Hola:
Yo probaria usando menor o igual en la condicion para seleccionar los registros y los ordenaria de mayor a menor usando order by.

Seria algo medio parecido a esto:

Select ....
.
.
Where
Año <= ACCIT_GLX-GJAHR
.
.
order by año descending

Espero que te ayude.
Responder Con Cita
  #5  
Viejo 17/09/10, 21:09:48
mystic_soul mystic_soul is offline
Member
 
Fecha de Ingreso: sep 2007
Mensajes: 76
Bueno, supongo que tenes un año como referencia.. y por otro lado, a que tabla se hace referencia? porque accit_glx es una estructura..
si no tenes la tabla adonde queres hacer el select, al año que tenes de referencia, le resta 1 año y listo!

Saludos!
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 13:42:45.


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