Buscar si el campo en una tabla interna ya existe

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • javico40
    Member
    • nov
    • 37

    #1

    Buscar si el campo en una tabla interna ya existe

    Hola, lo que quiero es sencillo pero no he sabido como. ocurre que modifico una tabla llenando los campos faltantes con datos de otra, lo que quiero saber es si ese campo ya existe en la tabla ya que deben ser unicos. lo que nesesito es, que si existe en T_SPFLI no actualizar ese campo.

    Código:
     
    
    LOOP AT T_SPFLI INTO wa_ammounts_aux.
          LOOP AT T_SPFLI_FI INTO WA_DOCUMENTS_FI
          WHERE EBELN = wa_ammounts_aux-EBELN AND MATNR = wa_ammounts_aux-MATNR.
    
             READ TABLE T_SPFLI WITH KEY FIDOC = WA_DOCUMENTS_FI-BELNR BINARY SEARCH.
             IF sy-subrc EQ 0.
                cantidad = sy-dbcnt.
             ENDIF.
    
             wa_ammounts_aux-FIDOC = WA_DOCUMENTS_FI-BELNR.
             wa_ammounts_aux-MENGE_FI = WA_DOCUMENTS_FI-MENGE.
             wa_ammounts_aux-DMBTR_FI = WA_DOCUMENTS_FI-DMBTR.
             MODIFY T_SPFLI FROM wa_ammounts_aux.
             CLEAR WA_DOCUMENTS_FI.
          ENDLOOP.
        ENDLOOP.
        UNASSIGN <line7>.
  • SAPING
    Senior Member
    • may
    • 199

    #2
    Hola...
    Para ver si un registro existe dentro de una tabla interna podes utilizar:

    READ TABLE <tabla> WITH KEY <restriccion> TRANSPORTING NO FIELDS.

    Chequeas el sy-subrc tal cual fuere un read normal.

    Espero te sirva..
    Saludos.

    Comentario

    Trabajando...