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 04/06/08, 16:48:22
Irua Irua is offline
Member
 
Fecha de Ingreso: jun 2007
Mensajes: 83
Question Ayuda con select options

Hola tengo unselect options que me trae la sociedad, si el usuario elige filtrar por varias sociedades, debo comparar el tipo de moneda de cada sociedad y si no son iguales ejecutar un msj.


El asunto que no tengo ni idea de como comparar los valores, en estos casos cual seria la instruccion a utilizar??????????????
Responder Con Cita
  #2  
Viejo 04/06/08, 17:49:41
Mauricio Hidalgo Mauricio Hidalgo is offline
Senior Member
 
Fecha de Ingreso: may 2006
Localización: Santiago, Chile
Mensajes: 481
La tabla de Sociedades es la T001. Ahí tienes el campo WAERS que corresponde a la moneda.

Espero te sirva
Responder Con Cita
  #3  
Viejo 04/06/08, 17:52:11
Irua Irua is offline
Member
 
Fecha de Ingreso: jun 2007
Mensajes: 83


ok y como comparo pa_soc con el campo moneda

es decir como seria el select si tengo por ejemplo 5 valores distintos, la cosa es que no se como funciona muy bien el select options

gracias
Responder Con Cita
  #4  
Viejo 04/06/08, 18:42:29
Avatar de smontenegro
smontenegro smontenegro is offline
Member
 
Fecha de Ingreso: jul 2006
Mensajes: 84
Primero definite una tabla interna igual a t001(que en este ejemplo llamo ti_t001) y luego armas asi el select:

select * from t001 into ti_t001 where BUKRS IN pa_soc .

Hasta aca lo que hiciste fue cargar la tabla interna ti_t001 con los datos de t001 para todas las sociedades del select option pa_soc.
Luego lo recorres con un loop para ver si las monedas son iguales. si no lo son mandas el mensaje.

Otra opcion es no cargar la tabla interna y hacer un SELECT/ENDSELECT verificando en cada pasada que la moneda sea igual a la anterior y sino mandas el mensaje.

Saludos!
__________________
Sergio Martin Montenegro
Consultor SAP MM/ABAP



Úlima edición por smontenegro fecha: 04/06/08 a las 18:45:21.
Responder Con Cita
  #5  
Viejo 04/06/08, 18:55:24
Irua Irua is offline
Member
 
Fecha de Ingreso: jun 2007
Mensajes: 83


ok seria algo asi por favor corrigeme, y como seria la sintaxis para comparar com un registro anterior gracias

select waers BUKRS into it_moneda from t001 WHERE BUKRS in s_tsoc.

LOOP at it_moneda.
if it_moneda-waers = it_moneda-waers .

write 'dhhd'.

endif.
ENDLOOP.
ENDSELECT.
Responder Con Cita
  #6  
Viejo 04/06/08, 19:23:11
Avatar de smontenegro
smontenegro smontenegro is offline
Member
 
Fecha de Ingreso: jul 2006
Mensajes: 84
Exacto, salvo que yo usaria otra variable para guardar la moneda anterior y asi poder comparar con la nueva. Seria asi:

select waers BUKRS into it_moneda from t001 WHERE BUKRS in s_tsoc.

LOOP at it_moneda.
if it_moneda-waers = moneda_old.
write 'dhhd'.
endif.
moneda_old = it_moneda-waers.
ENDLOOP

Si lo guardas en un tabla interna no hace falta el ENDSELECT.
Tambien estoy presuponiendo que ya definiste la tabla it_moneda con los campos waers y bukrs.


Saludos!
__________________
Sergio Martin Montenegro
Consultor SAP MM/ABAP


Responder Con Cita
  #7  
Viejo 04/06/08, 20:09:33
Irua Irua is offline
Member
 
Fecha de Ingreso: jun 2007
Mensajes: 83
Listo mil gracias
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 08:58:47.


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