Ayuda select

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • akiestudio
    Member
    • jul
    • 46

    #1

    Ayuda select

    Buenas,

    Estoy comenzando de nuevo a programar en Abap y tengo una duda.

    He creado una tabla en el diccionario de datos varios campos de la tabla Mara, y me gustaría poder hacer una select para guardarlo en esa tabla, dejo el código.
    Código:
    data: ws_table type zinterna_mara.
    
    SELECT SINGLE *
        FROM mara
         INTO CORRESPONDING FIELDS OF  zinterna_mara
         WHERE  matnr  = '38'.
    Cuando hago el debug en zinterna_mara no rellena los campos, sin embargo si la declaración es

    Data: ws_table type mara. Si que los rellena.

    Se que es algo muy básico pero no consigo resolverlo.
    Muchas gracias.
  • omegaotaku
    Member
    • nov
    • 43

    #2
    Originalmente publicado por akiestudio
    Buenas,

    Estoy comenzando de nuevo a programar en Abap y tengo una duda.

    He creado una tabla en el diccionario de datos varios campos de la tabla Mara, y me gustaría poder hacer una select para guardarlo en esa tabla, dejo el código.
    Código:
    data: ws_table type zinterna_mara.
    
    SELECT SINGLE *
        FROM mara
         INTO CORRESPONDING FIELDS OF  zinterna_mara
         WHERE  matnr  = '38'.
    Cuando hago el debug en zinterna_mara no rellena los campos, sin embargo si la declaración es

    Data: ws_table type mara. Si que los rellena.

    Se que es algo muy básico pero no consigo resolverlo.
    Muchas gracias.
    Buenas noches. Acá el ejemplo:

    DATA: it_mara type standard table mara.

    SELECT *
    FROM mara
    INTO TABLE it_mara
    WHERE matnr EQ '000000000000000038'.

    Comentario

    • akiestudio
      Member
      • jul
      • 46

      #3
      Pero no la puede hacer sobre una tabla ztestmara que he creado en el Dicionario de datos, con varios campos cuyos tipos de datos son iguales que los campos de la tabla Mara?

      Código:
      data: ws_table type zinterna_mara.
      
      SELECT SINGLE *
          FROM mara
           INTO CORRESPONDING FIELDS OF  zinterna_mara
           WHERE  matnr  = '38'.

      Y si necesito hacer un join con otra tabla?.

      Código:
        select single * into corresponding fields of  zinterna_mara
                        from makt as mt
                        inner join  mara as mr on mr~mandt = mt~mandt
                        and mr~matnr = mt~matnr
                        where mr~matnr eq wa_mara-matnr.

      Muchas gracias

      Comentario

      • omegaotaku
        Member
        • nov
        • 43

        #4
        Originalmente publicado por akiestudio
        Pero no la puede hacer sobre una tabla ztestmara que he creado en el Dicionario de datos, con varios campos cuyos tipos de datos son iguales que los campos de la tabla Mara?

        Código:
        data: ws_table type zinterna_mara.
        
        SELECT SINGLE *
            FROM mara
             INTO CORRESPONDING FIELDS OF  zinterna_mara
             WHERE  matnr  = '38'.

        Y si necesito hacer un join con otra tabla?.

        Código:
          select single * into corresponding fields of  zinterna_mara
                          from makt as mt
                          inner join  mara as mr on mr~mandt = mt~mandt
                          and mr~matnr = mt~matnr
                          where mr~matnr eq wa_mara-matnr.

        Muchas gracias
        DATA: it_mara type standard table mara.

        SELECT *
        FROM mara
        INTO TABLE zinterna_mara
        WHERE matnr EQ '000000000000000038'.

        Comentario

        • akiestudio
          Member
          • jul
          • 46

          #5
          Pues si esa es la única solución, muchas gracias.

          Comentario

          Trabajando...