No guada el dato en la tabla

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Jonathan.sochan
    Member
    • ene
    • 37

    #1

    No guada el dato en la tabla

    Este es el codigo:

    select kunnr land1 name1 kukla regio PSTLZ into corresponding fields of table gt_data
    from kna1
    where kunnr in p_kunnr.

    Loop at gt_data.

    select landx into gt_data-landx
    from t005t
    where land1 eq gt_data-land1
    and spras eq p_spras.

    Modify table gt_data.
    Endselect.
    Endloop.


    Lo q pasa es q no em esta guardando el dato landx en la tabla gt_data, me lo deja en blanco, alguno sabe xq ??

    Saludos y gracias
  • Jonathan.sochan
    Member
    • ene
    • 37

    #2
    Ya lo resolvi,

    Corregi la siguiente linea de codigo:

    Modify gt_data.


    Saludos !

    Comentario

    • mysmb2
      Senior Member
      • ene
      • 406

      #3
      Hola cambia la linea

      Código:
      Modify table gt_data.
      por

      Código:
      MODIFY gt_data index sy-tabix.
      Saludos.
      Sebastián Chiavia
      http://www.programacionabap.com.ar

      Comentario

      • Jonathan.sochan
        Member
        • ene
        • 37

        #4
        Soy nuevo en esto, y quisiera saber q es eso de "index sy-tabix."

        Comentario

        • mysmb2
          Senior Member
          • ene
          • 406

          #5
          SY-TABIX es una variable del sistema que guarda la posición del registro actual de una tabla que se esta recorriendo con la sentencia LOOP.

          INDEX indica que registro se debe modificar.

          de todas maneras la solucion a la que llegaste con
          Código:
           Modify gt_data.
          funciona bien ya que tenes definido gt_data con header line.

          Saludos.
          Sebastián Chiavia
          http://www.programacionabap.com.ar

          Comentario

          • gib8107
            Member
            • may
            • 44

            #6
            Ami me ha pasado que tengo que indicarle la posicion exacta en donde quiero que lo guarde es decir

            Código:
            data vl_sytabix like sy-tabix.
            Loop at t_tabla 
            vl_sytabix  = sy-tabix.
            ... procesos ... selects... modificaciones a la tabla ..
            modify t_tabla  index vl_sytabix.
            endloop.
            espero les sirva....

            Comentario

            • Ariel-StaFe
              Senior Member
              • nov
              • 321

              #7
              sy-tabix

              Exacto.
              Ya que sy-tabix es como un puntero, del ultimo loop
              y cuando hay varios loop s anidados y se quiere actualizar el del nivel mas alto (por asi decirlo), se debe guardar dicho puntero en una variable para tener la posición justa que se quiera actualizar.
              Ss
              Ariel-StaFe
              Analista Programador Abap Senior
              Santa Fe Capital
              Pcia de Santa Fe
              Argentina

              Comentario

              Trabajando...