Hi,
sy-index - Bucles For, Pase de Bucle Actual.
sy-tabix - Para tabla interna, Índice de línea actual en tabla interna.
sy-tabix se utiliza en operaciones de tabla interna (READ TABLE ... LOOP AT ...), sy-index se utiliza en ciclos (HACER...n VECES).
SY-TABIX:
Línea actual de una tabla interna. SY-TABIX se establece mediante las siguientes declaraciones, pero solo para tablas de índice. El campo no se establece o se establece en 0 para tablas hash.
Se puede establecer utilizando lo siguiente:
1. append
2. collect
3. loop at
4. read
5. search
APPEND establece SY-TABIX en el índice de la última línea de la tabla, es decir, contiene el número total de entradas en la tabla.
COLLECT establece SY-TABIX en el índice de la línea existente o insertada en la tabla. Si la tabla es de tipo HASHED TABLE, SY-TABIX se establece en 0.
LOOP AT establece SY-TABIX en el índice de la línea actual al comienzo de cada pase de bucle. Al final del bucle, SY-TABIX se restablece al valor que tenía antes de entrar en el bucle. Se establece en 0 si la tabla es de tipo HASHED TABLE.
READ TABLE establece SY-TABIX en el índice de la línea de tabla leída. Si se utiliza una búsqueda binaria y el sistema no encuentra una línea, SY-TABIX contiene el número total de líneas o uno más que el número total de líneas. SY-INDEX no está definido si una búsqueda lineal no devuelve una entrada.
SEARCH <itab> FOR establece SY-TABIX en el índice de la línea de la tabla en la que se encuentra la cadena de búsqueda.
SY-INDEX:
SY-INDEX se utiliza para describir el número de iteración dentro de DO..ENDDO, WHILE ...ENDWHILE....
por ejemplo,
DO.
ESCRIBIR SY-INDEX.
SI SY-INDEX = 3.
SALIR.
FIN SI.
ENDDO.
da como resultado:
1 2 3
Saludos,
Raj.