¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo convertir una declaración SELECT INTO TABLE en ABAP - Guía paso a paso

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 31 Vistas
0
Cargando...

Hola,

¿Existe la posibilidad de convertir algo como esto:

TYPES: BEGIN OF r_mystruct,
      field1(10),
      field2(20),
      field3(30),
      field4(40),
      field5,
      field6(5)
         END OF r_mystruct.

    DATA:
      tab TYPE STANDARD TABLE OF r_mystruct WITH HEADER LINE.

    MOVE sy-index TO tab-field5.
    SELECT aufnr gsber ktext FROM aufk INTO CORRESPONDING FIELDS OF aufk.
      MOVE aufk-aufnr TO tab-myfield1.
      MOVE aufk-aufnr TO tab-myfield2.
      MOVE aufk-ktext TO tab-myfield3.
      MOVE aufk-gsber TO tab-myfield4.
      APPEND tab.
    ENDSELECT.

¿a una declaración que involucre un SELECT INTO TABLE?

He intentado algo como esto:

SELECT aufnr aufnr ktext gsber ( sy-index ) NULL FROM aufk INTO TABLE tab.

pero obtengo numerosos errores (y sí, necesito tener aufnr dos veces)

¿Alguna pista sobre cómo transferir campos seleccionados a una estructura completamente personalizada, es posible?

Gracias de antemano,

Bart

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hi, declaro el tipo como....

TIPOS: INICIO DE r_mystruct,

field1(10),

aufnr tipo aufk-aufnr,

ktext tipo aufk-ktext ,

gsber tipo aufk-gsber,

field5,

field6(5)

FIN DE r_mystruct.

DATA: tab TIPO TABLA ESTÁNDAR DE r_mystruct CON LÍNEA DE CABECERA.

SELECCIONAR * ENTRAR CAMPOS DE CORRESPONDENCIA DE LA TABLA tab

DE aufk.

La consulta de selección anterior obtendrá los campos aufnr, ktext y gsber...

para el resto de los campos... use el bucle a continuación..después de la declaración de selección...

bucle en itab.

itab-field1 = itab-aufnr.

itab-field5 = sy-index.

itab-field6 = ''.

agregar itab.

fin bucle.

recompensa si es útil...

Editado por: Rudra Prasanna Mohapatra el 2 de julio de 2008 a las 8:37 AM

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Sí, lo tengo.

El problema es que no quiero seleccionar datos en una tabla con exactamente los mismos campos que la tabla de origen (en este caso AUFK).

Necesito crear una estructura personalizada que sea común para muchas selecciones de diferentes tablas .

En la selección presentada, AUFNR de la tabla AUFK va al campo1.

Tengo más selecciones, por ejemplo, de PRPS donde PSPNR va al campo1.

Por lo tanto, estoy interesado en optimizar la selección convirtiendo el SELECT - MOVE - ENDSELECT en un SELECT INTO TABLE, pero una vez más no en una tabla de AUFK o PRPS, sino en mi tabla personalizada que consiste en un conjunto de filas personalizadas (tipo r_myrecord, con campos campo1, campo2 .. ).

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Bart,

¿Alguna vez has escuchado sobre el buffer de tabla?

simplemente define en la declaración de tablas:

tablas: aufk.

eliminar en el campo correspondiente.

Amit.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Tenía otro ejemplo. Puedo ver el 60% en el ejemplo anterior.

Pero prueba esta pequeña modificación del ejemplo:


  data : gt_bkpf like bkpf occurs 0,
         gs_bkpf like bkpf.

    select *
           into gs_bkpf
           from bkpf
           up to 100000 rows.

No tengo acceso a un sistema con tablas BKPF tan grandes, veo .... menos del 10% de diferencia, aquí.

¿Cuál es la realidad?

Siegfried

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?