|
#1
|
|||
|
|||
duda con for all entries
hola a todos... estoy haciendo un report de MM y necesito extraer datos de varias tablas como son: mara, makt, mbew, mard. Para ello declare una estructura:
DATA: BEGIN OF st_materiales. data: matnr TYPE mara-matnr. data: maktx TYPE makt-maktx. data: bwkey TYPE mbew-bwkey. data: lgort TYPE mard-lgort. data: mstae TYPE mara-mstae. data: bwtty TYPE mbew-bwtty. data: lbkum TYPE mbew-lbkum. DATA: END OF st_materiales. y (hasta el momento) 2 tablas internas. en una tengo esto: SELECT matnr bwtty bwkey FROM MBEW INTO CORRESPONDING FIELDS OF TABLE ti_material_tipo WHERE bwtty = 'E' AND bwkey = 'E025' AND lbkum >= 0. y en la otra: SELECT matnr mstae FROM MARA INTO CORRESPONDING FIELDS OF TABLE ti_material_categ FOR ALL ENTRIES IN ti_material_tipo WHERE matnr = ti_material_tipo-matnr. DELETE ADJACENT DUPLICATES FROM ti_material_tipo. Pero necesito seguir acumulando los demas datos en esta misma tabla...COmo debo hacer? otra TI para juntar los demas datos..pq tengo dudas con el FOR ALL ENTRIES con mas de 2 tablas....soy muy nuevo en abap. MUCHAS GRACIAS POR SU COLABORACION. |
#2
|
|||
|
|||
Si en realidad es necesario tener los datos que leas en una sola tabla, yo creo que deberias intentar un INNER JOIN entre las tablas que necesitas, con eso seleccionas solo los campos que necesitas y guardas los datos en la tabla interna, sería una solainstruccion SELECT pero sería demasiado grande, por ejemplo:
SELECT matnr bwtty bwkey FROM MBEW as a INNER JOIN MARA as b ON a~matnr=b~matnr INTO CORRESPONDING FIELDS OF TABLE ti_material_tipo WHERE a~bwtty = 'E' AND a~bwkey = 'E025' AND lbkum >= 0.
__________________
Si no sabes desarrollarte a ti mismo, nadie lo hara por ti.... SAP Certified ABAP Developer |
Herramientas | Buscar en Tema |
Desplegado | |
|
|