Un Usuario hizo la siguiente pregunta
Seniors de SAP,
¿Puede decirme cuál es la diferencia entre sy-index y sy-tabix.
Leí la ayuda de SAP, me confunde. ambos parecen ser de la misma ayuda. Por favor, ayúdame.
Gracias
Anitha.
11 respuestas
Ex miembro
Hola,
bajo el bucle o la pregunta seleccionada usamos SY-tabix.
para las declaraciones de lectura usamos Sy-index.
Ejemplo:
seleccione * de marine en la tabla it_mara donde ersda = Sy-datum.
más sy-subrc = 0.
escribir: ‘número de registros creados’, sy-tabix.
terminara si
bucle en it_mara.
it_mara-MTART = ‘ZRET’. «cambiando el tipo de contenido.
modificar it_mara del índice it_mara SY-tabiX.
Endloop.
lea la tabla it_mara con la clave para matnr = «1000».
más sy-subrc = 0.
escribir: ‘contenido encontrado en línea’, sy-index.
terminara si.
Prabhudas
Ex miembro
ALTO,
Aquí hay una breve descripción de la diferencia entre SY_TABIX y SY_INDEX y su uso con algunas condiciones.
SY-TABIX
Línea actual de tabla interna. SY-TABIX se corrige con las siguientes declaraciones, pero solo para tablas de índice. El campo no se establece o se establece en 0 para tablas hash.
APÉNDICE SY-TABIX establece el índice de la última línea de la tabla, es decir, contiene el número total de entradas en la tabla.
COLLECT SY-TABIX establece el índice de líneas existentes o insertadas en la tabla. Si la tabla tiene el tipo HASHED TABLE, SY-TABIX se establece en 0.
LOOP AT SY-TABIX establece el índice de la línea actual al comienzo de cada bucle. Al final del ciclo, SY-TABIX se restablece a su valor antes de ingresar al ciclo. Se establece en 0 si la tabla tiene el tipo HASHED TABLE.
LEER LA TABLA SY-TABIX se establece en el índice de la línea de la tabla leída. Si utiliza la búsqueda binaria y el sistema no encuentra una línea, SY-TABIX contiene el número total de líneas, o uno mayor que el número total de líneas. SY-INDEX no está definido si una búsqueda lineal no devuelve una entrada.
BUSCAR
TO SY-TABIX establece el índice de la línea de la tabla donde se encuentra la cadena de búsqueda. SY-INDEX
En bucle DO o WHILE, SY-INDEX contiene el número de pasadas de bucle, incluida la pasada actual.
Espero que esto ayude.
Gracias,
Pavana.
Hola,
sy-ejército de reservabix = Índice interno Ejército de reservabendiciones
establecido por comandos que procesan tablas internas (por ejemplo, READ, LOOP)
Nr / index es la última línea a la que se accede para tablas estándar o ordenadas. Para tablas hash se establece en 0
dado que las tablas con hash no son tablas de índice, utilizan la administración de hash.
sy-index = Índice de bucle.
fijado por bucles DO y WHILE. el número de pasadas de bucle, incluida la pasada actual.
Tuyo sinceramente,
Hermann
Ex miembro
Hola,
Ambos están pensados solo para valores de índice. Pero Sy-tabix se usa cuando se realiza un bucle en una tabla interna y el índice Sy se puede usar para los bucles Do / while.
-RAM
Ex miembro
Hola,
este ejemplo le ayudará a comprender la diferencia.
Sy-tabix: número de registros en la tabla interna
Sy-index: índice-número de registros realizados actualmente en el bucle … endloop.
Por ejemplo: los valores de itab (tabla interna) son de 1 a 5.
bucle en itab en wa_itab.
escribir: wa_itab-field1.
endloop.
probablemente, si el ciclo se ejecuta durante 2 horas, entonces el valor del índice sy es b 2.
aquí el valor de Sy-tabix b será 5.
Gracias
Ramakrishna.
Ex miembro
hola Anitha,
Tanto SY-INDEX como SY-TABIX se utilizan para conocer la iteración actual,
pero el diferencia es:
SY-INDEX is used for DO.......ENDDO loop and SY-TABIX is used for LOOP.....ENDLOOP (i.e. For tracking line number of Internal Table)
En resumen, SY-TABIX se usa para rastrear una tabla interna bajo LOOP …….. ENDLOOP
y SY-INDEX se utiliza dentro de YOUR …….. ENDDO. SY-INDEX no se puede utilizar para realizar un seguimiento de una tabla interna.
espero que esto ayude
Sobre,
Apoorv
Ex miembro
Hola Anitha,
sy-index: se utiliza para realizar recuentos de bucles. ex: do … enddo, y … en última instancia.
sy-tabix se utiliza para contar el conjunto actual de una tabla interna.
Sobre,
Tutun
Hola Anitha,
Hmmmm, ni siquiera estás listo para asumir el dolor de la prensa F1 una vez por persona Palabra clave
y otros responden esto, esto ha sido respondido una y otra vez, y también puedes buscar
Trata eso.
Sobre
Ramchander Rao.K
Hola,
Sy-tabix:
El sy-tabix se utilizará al doblar la mesa interior mientras se lee la mesa interior. Dará el valor del índice de bucle de la tabla interna.
ejemplo:
bucle en itab.
escribir sy-tabix.
endloop.
Índice Sy:
El índice sy se utilizará al hacer un bucle.
ejemplo:
repita 5 veces.
escribir sy_index.
enddo.
Ex miembro
Hola,
Índice de almacenamiento Sy-tabix de la línea actual procesada por un bucle de tabla interno.
El índice SY index almacena el número de bucles pasados hasta ahora durante stmt o endo stmt.
por ejemplo, a continuación, el programa limpiaría todos sus artículos.
Simplemente copie y pegue en su sistema y luego ejecútelo.
detalles: iniciar avbak OCURRE 0,
vbeln (10) tipo c,
POSNR (6) tipo c,
final de avbak.
avbak-vbeln = ‘0000001111’.
avbak-POSNR = ‘000001’.
apéndice avbak.
avbak-vbeln = ‘0000001111’.
avbak-POSNR = ‘000001’.
apéndice avbak.
bucle en avbak.
escribir: / ‘Sy-tabix’, sy-tabix, 30 ‘Sy-index’, Sy-index.
endloop.
y sy-index <3.
escribir: / ‘Sy-tabix’, sy-tabix, 30 ‘Sy-index’, Sy-index.
en el final.
Gracias y Saludos,
ShreeMohan