duda con for all entries

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • vctr1005
    Junior Member
    • jun
    • 6

    #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.
  • kreuzigen
    Member
    • feb
    • 53

    #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

    Comentario

    Trabajando...