PDA

Ver la Versión Completa : leer de una tabla interna con condicion de parte de un campo y siendo < = a otro


Jacobo
11/06/10, 06:41:58
Hola
Quería hacer un read a una tabla interna pero me está dando error,por la condición o por como trato los datos,esta es la lectura,quiero que el periodo g_period esté comprendido entre el mes de esos campos fechas inclusive

clear w_rentas.
read table t_rentas into w_rentas
with key objnr = W_CONTRATOS-OBJNR
valuevalidfrom+4(2) < = g_period
valuevalidto+4(2) > = g_period
binary search.
if sy-subrc eq 0.

....................
endif.

gracias

Saludos

mysmb2
11/06/10, 11:59:51
hola, vas a tener que usar un IF dentro del read para comparar valuevalidfrom+4(2) < = g_period
valuevalidto+4(2) > = g_period
como en la lectura de doble indice

otra alternativa es crearte una copia de tu tabla interna y hacer lo siguiente
delete t_rentas_aux where objnr ne W_CONTRATOS-OBJNR
and valuevalidfrom+4(2) < = g_period
and valuevalidto+4(2) > = g_period


saludos

Jacobo
14/06/10, 11:11:58
hola, vas a tener que usar un IF dentro del read para comparar valuevalidfrom+4(2) < = g_period
valuevalidto+4(2) > = g_period
como en la lectura de doble indice

otra alternativa es crearte una copia de tu tabla interna y hacer lo siguiente
delete t_rentas_aux where objnr ne W_CONTRATOS-OBJNR
and valuevalidfrom+4(2) < = g_period
and valuevalidto+4(2) > = g_period


saludos

Hola,ya lo tengo,se puede hacer un loop a la tabla
clear w_rentas.

loop at t_rentas into w_rentas.
if w_rentas-objnr = W_CONTRATOS-OBJNR
and g_period between w_rentas-valuevalidfrom+4(2) and
w_rentas-valuevalidto+4(2).



....................
endif.

endloop.

Gracias

saludos