Saltar al contenido

¿Cuál es la diferencia entre sy-tabix y sy-index.

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