leer de una tabla interna con condicion de parte de un campo y siendo < = a otro

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Jacobo
    Member
    • may
    • 58

    #1

    leer de una tabla interna con condicion de parte de un campo y siendo < = a otro

    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
    Senior Member
    • ene
    • 406

    #2
    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
    Sebastián Chiavia
    http://www.programacionabap.com.ar

    Comentario

    • Jacobo
      Member
      • may
      • 58

      #3
      Originalmente publicado por mysmb2
      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

      Comentario

      Trabajando...