20240106

LINE_INDEX (inline)

  METHOD line_index_1.

**     retorna o index de uma linha na tabela interna

*     line_index( itab[...condition...] ).

  ENDMETHOD.






  METHOD line_index_2.

    data: t_kna1         type table of kna1.


***  Sem table function
    READ TABLE t_kna1
       TRANSPORTING NO FIELDS
       WITH KEY kunnr = '20'.

    DATA(v_tabix) = sy-tabix.

***  Com table function
    data(v_tabix2) = line_index( t_kna1[ kunnr = '20' ] ).


  ENDMETHOD.




  METHOD line_index_3.

     types: begin of y_kna1,
              kunnr    type kna1-kunnr,
              name1    type kna1-name1,
            end of y_kna1,

            y_t_kna1    type STANDARD TABLE OF y_kna1
              WITH KEY PRIMARY_KEY COMPONENTS kunnr.



     data(t_kna1) = value y_t_kna1(
       ( kunnr = '10'  name1 = 'Cliente dez'   )
       ( kunnr = '20'  name1 = 'Cliente vinte' )
     ).


*** Sem table function
    READ TABLE t_kna1
      TRANSPORTING NO FIELDS
      WITH KEY kunnr = '20' .

    data(v_tabix) = sy-tabix.


*** Com table function
    DATA(v_existe2) = line_index( t_kna1[ kunnr = '20' ] ).

  ENDMETHOD.