PDA

Ver la Versión Completa : Ayuda select


akiestudio
17/11/17, 23:13:52
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.


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
18/11/17, 00:58:53
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.


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'.

akiestudio
18/11/17, 09:47:23
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?


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?.


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

omegaotaku
18/11/17, 12:30:13
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?


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?.


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'.

akiestudio
18/11/17, 15:49:09
Pues si esa es la única solución, muchas gracias.