Olá,
sy-index - Loops For, Passagem do Loop Atual.
sy-tabix - Para tabela interna, Índice da linha atual na tabela interna.
sy-tabix é usado em operações de tabela interna (READ TABLE ... LOOP AT ...), sy-index é usado em loops (FAÇA...n VEZES).
SY-TABIX:
Linha atual de uma tabela interna. SY-TABIX é definido pelas seguintes declarações, mas apenas para tabelas de índice. O campo não é definido ou é definido como 0 para tabelas hash.
Pode ser definido usando o seguinte:
1. append
2. collect
3. loop at
4. read
5. search
APPEND define SY-TABIX como o índice da última linha da tabela, ou seja, contém o número total de entradas na tabela.
COLLECT define SY-TABIX como o índice da linha existente ou inserida na tabela. Se a tabela for do tipo HASHED TABLE, SY-TABIX é definido como 0.
LOOP AT define SY-TABIX como o índice da linha atual no início de cada passagem do loop. No final do loop, SY-TABIX é redefinido para o valor que tinha antes de entrar no loop. É definido como 0 se a tabela for do tipo HASHED TABLE.
READ TABLE define SY-TABIX como o índice da linha da tabela lida. Se for utilizada uma pesquisa binária e o sistema não encontrar uma linha, SY-TABIX conterá o número total de linhas ou um a mais que o número total de linhas. SY-INDEX não é definido se uma pesquisa linear não retornar uma entrada.
SEARCH <itab> FOR define SY-TABIX como o índice da linha da tabela onde a cadeia de pesquisa é encontrada.
SY-INDEX:
SY-INDEX é usado para descrever o número de iteração dentro de DO..ENDDO, WHILE ...ENDWHILE....
por exemplo,
DO.
ESCREVER SY-INDEX.
SE SY-INDEX = 3.
SAIR.
FIM SE.
ENDDO.
resulta em:
1 2 3
Cumprimentos,
Raj.